Abstract
Evaluating and ensuring the consistency between user requirements and modeling artifacts is a long-time issue for model-based software design. Conflicts in requirements specifications can lead to many design errors and have a decisive impact on the quality of systems under development. This article presents an approach based on Behavior-Driven Development (BDD) to provide automated assessment for task models, which are intended to model the flow of user and system tasks in an interactive system. The approach has been evaluated by exploiting user requirements described by a group of experts in the domain of business trips. Such requirements gave rise to a set of BDD stories that have been used to automatically assess scenarios extracted from task models that were reengineered from an existing web system for booking business trips. The results have shown our approach, by performing a static analysis of the source files, was able to identify different types of inconsistencies between the user requirements and the set of task models analyzed.
- Jim Barnett and et al. 2019. State Chart XML (SCXML): State Machine Notation for Control Abstraction, W3C. http://www.w3.org/TR/scxml/Google Scholar
- Judy Bowen and Steve Reeves. 2011. UI-driven test-first development of interactive systems. In Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems. ACM, 165--174.Google Scholar
Digital Library
- José Creissac Campos, Camille Fayollas, Marcelo Goncc alves, Célia Martinie, David Navarre, Philippe Palanque, and Miguel Pinto. 2017. A more intelligent test case generation approach through task models manipulation. Proceedings of the ACM on Human-Computer Interaction, Vol. 1, EICS (2017), 9.Google Scholar
Digital Library
- José C Campos, Camille Fayollas, Célia Martinie, David Navarre, Philippe Palanque, and Miguel Pinto. 2016. Systematic automation of scenario-based testing of user interfaces. In Proceedings of the 8th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM, 138--148.Google Scholar
Digital Library
- D. Chelimsky and D. Astels. 2010. The RSpec Book: Behaviour-driven Development with RSpec, Cucumber, and Friends .Pragmatic Bookshelf. 2011281911Google Scholar
- Elliot J. Chikofsky and James H Cross. 1990. Reverse engineering and design recovery: A taxonomy. IEEE software, Vol. 7, 1 (1990), 13--17.Google Scholar
- Mike Cohn. 2004. User Stories Applied: For Agile Software Development .Addison-Wesley Professional.Google Scholar
Digital Library
- Rogerio Atem de Carvalho, Fernando Luiz de Carvalho e Silva, and Rodrigo Soares Manhaes. 2010a. Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language. arxiv: 1006.4892 [cs.SE]Google Scholar
- Rogerio Atem de Carvalho, Rodrigo Soares Manhães, and Fernando Luis de Carvalho e Silva. 2010b. Filling the Gap between Business Process Modeling and Behavior Driven Development. arxiv: 1005.4975 [cs.SE]Google Scholar
- Clarisse Sieckenius De Souza. 2005. Semiotic engineering: bringing designers and users together at interaction time. Interacting with Computers, Vol. 17, 3 (2005), 317--341.Google Scholar
- Anurag Dwarakanath and Shubhashis Sengupta. 2012. Litmus: Generation of Test Cases from Functional Requirements in Natural Language. In Proceedings of the 17th International Conference on Applications of Natural Language Processing and Information Systems (Groningen, The Netherlands) (NLDB'12). Springer-Verlag, Berlin, Heidelberg, 58--69.Google Scholar
Digital Library
- Christof Ebert. 2011. Global software and IT: a guide to distributed development, projects, and outsourcing .John Wiley & Sons.Google Scholar
- Abigail Egbreghts. 2017. A Literature Review of Behavior Driven Development using Grounded Theory. In 27th Twente Student Conference on IT .Google Scholar
- Racim Fahssi, Célia Martinie, and Philippe Palanque. 2015. Enhanced task modelling for systematic identification and explicit representation of human errors. In Human-Computer Interaction. Springer, 192--212.Google Scholar
- Gherkin. 2020. Gherkin Reference. https://cucumber.io/docs/gherkin/reference/Google Scholar
- Iyad Khaddam, Nesrine Mezhoudi, and Jean Vanderdonckt. 2015. Towards task-based linguistic modeling for designing GUIs. In 27ème conférence francophone sur l'Interaction Homme-Machine. ACM, a17.Google Scholar
- G. Kotonya and I. Sommerville. 1996. Requirements engineering with viewpoints. Software Engineering Journal, Vol. 11, 1 (Jan 1996), 5--18. https://doi.org/10.1049/sej.1996.0002Google Scholar
Cross Ref
- Julio Cesar Sampaio do Prado Leite and Peter A. Freeman. 1991. Requirements Validation Through Viewpoint Resolution. IEEE Trans. Softw. Eng., Vol. 17, 12 (Dec. 1991), 1253--1269. https://doi.org/10.1109/32.106986Google Scholar
- J. C. S. P. Leite and A. P. Oliveira. 1995. A client oriented requirements baseline. In Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95). 108--115. https://doi.org/10.1109/ISRE.1995.512551Google Scholar
Cross Ref
- John Horn Lopes. 2012. Evaluation of Behavior-Driven Development. Master's thesis. Delft University of Technology.Google Scholar
- G. Lucassen, F. Dalpiaz, J. M. E. M. v. d. Werf, S. Brinkkemper, and D. Zowghi. 2017. Behavior-Driven Requirements Traceability via Automated Acceptance Tests. In 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW). 431--434. https://doi.org/10.1109/REW.2017.84Google Scholar
Cross Ref
- Kris Luyten, Tim Clerckx, Karin Coninx, and Jean Vanderdonckt. 2003. Derivation of a Dialog Model from a Task Model by Activity Chain Extraction. In Interactive Systems. Design, Specification, and Verification, Joaquim A. Jorge, Nuno Jardim Nunes, and Jo ao Falc ao e Cunha (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 203--217.Google Scholar
- D. Lübke and T. van Lessen. 2016. Modeling Test Cases in BPMN for Behavior-Driven Development. IEEE Software, Vol. 33, 5 (Sep. 2016), 15--21. https://doi.org/10.1109/MS.2016.117Google Scholar
Cross Ref
- Célia Martinie, David Navarre, Philippe Palanque, and Camille Fayollas. 2015. A generic tool-supported framework for coupling task models and interactive applications. In Proceedings of the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM, 244--253.Google Scholar
Digital Library
- Célia Martinie, Philippe Palanque, and Marco Winckler. 2011. Structuring and Composition Mechanisms to Address Scalability Issues in Task Models. In IFIP Conference on Human-Computer Interaction. Springer, 589--609.Google Scholar
Digital Library
- Grigori Igorovych Melnik. 2007. Empirical Analyses of Executable Acceptance Test Driven Development. Ph.D. Dissertation. University of Calgary. AAINR33806.Google Scholar
- Dan North. 2019. What's in a Story? http://dannorth.net/whats-in-a-story/Google Scholar
- B. Nuseibeh, J. Kramer, and A. Finkelstein. 1994. A framework for expressing the relationships between multiple views in requirements specification. IEEE Transactions on Software Engineering, Vol. 20, 10 (Oct 1994), 760--773. https://doi.org/10.1109/32.328995Google Scholar
Digital Library
- Fabio Paternò. 2004. ConcurTaskTrees: An Engineered Notation for Task Models. The handbook of task analysis for human-computer interaction (2004), 483--503.Google Scholar
- Fabio Paternò and et al. 2017. W3C, MBUI - Task Models. http://www.w3.org/TR/task-models/Google Scholar
- Z. Pozgaj. 2000. Requirement analysis using VORD. In ITI 2000. Proceedings of the 22nd International Conference on Information Technology Interfaces (Cat. No.00EX411). 105--110.Google Scholar
- Jaroslav Pullmann. 2019. MBUI - Glossary - W3C. https://www.w3.org/TR/mbui-glossary/Google Scholar
- Thiago Rocha Silva, Marco Winckler, and Cédric Bach. 2019. Evaluating the usage of predefined interactive behaviors for writing user stories: an empirical study with potential product owners. Cognition, Technology & Work (16 May 2019). https://doi.org/10.1007/s10111-019-00566--3Google Scholar
- T. R. Silva. 2016. Definition of a Behavior-Driven Model for Requirements Specification and Testing of Interactive Systems. In 2016 IEEE 24th International Requirements Engineering Conference (RE). 444--449. https://doi.org/10.1109/RE.2016.12Google Scholar
Cross Ref
- T. R. Silva, J. Hak, and M. Winckler. 2017. A Behavior-Based Ontology for Supporting Automated Assessment of Interactive Systems. In 2017 IEEE 11th International Conference on Semantic Computing (ICSC). 250--257. https://doi.org/10.1109/ICSC.2017.73Google Scholar
Cross Ref
- T. R. Silva, J-L. Hak, and M. Winckler. 2016. An Approach for Multi-Artifact Testing Through an Ontological Perspective for Behavior-Driven Development. Complex Systems Informatics and Modeling Quarterly 7 (June/July 2016), 81--107. https://doi.org/10.7250/csimq.2016--7.05Google Scholar
- Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2016. Testing Prototypes and Final User Interfaces Through an Ontological Perspective for Behavior-Driven Development. In Human-Centered and Error-Resilient Systems Development, Cristian Bogdan, Jan Gulliksen, Stefan Sauer, Peter Forbrig, Marco Winckler, Chris Johnson, Philippe Palanque, Regina Bernhaupt, and Filip Kis (Eds.). Springer International Publishing, Cham, 86--107. https://doi.org/10.1007/978--3--319--44902--9_7Google Scholar
- Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2017. A Formal Ontology for Describing Interactive Behaviors and Supporting Automated Testing on User Interfaces. International Journal of Semantic Computing, Vol. 11, 04 (2017), 513--539. https://doi.org/10.1142/S1793351X17400219Google Scholar
Cross Ref
- Thiago Rocha Silva and Marco Winckler. 2016. Towards Automated Requirements Checking Throughout Development Processes of Interactive Systems. In Joint Proceedings of the 22nd International Conference on Requirements Engineering: Foundation for Software Quality (REFSQ 2016), Vol. 1564. CEUR-WS.org.Google Scholar
- Thiago Rocha Silva and Marco Winckler. 2017. A Scenario-Based Approach for Checking Consistency in User Interface Design Artifacts. In Proceedings of the XVI Brazilian Symposium on Human Factors in Computing Systems (Joinville, Brazil) (IHC 2017). Association for Computing Machinery, New York, NY, USA, Article 3, 10 pages. https://doi.org/10.1145/3160504.3160506Google Scholar
Digital Library
- John Ferguson Smart. 2014. BDD in Action: Behavior-driven development for the whole software lifecycle .Manning Publications.Google Scholar
- H. M. Sneed. 2007. Testing against Natural Language Requirements. In Seventh International Conference on Quality Software (QSIC 2007). 380--387. https://doi.org/10.1109/QSIC.2007.4385524Google Scholar
Cross Ref
- C. Solis and X. Wang. 2011. A Study of the Characteristics of Behaviour Driven Development. In 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications. 383--387. https://doi.org/10.1109/SEAA.2011.76Google Scholar
Digital Library
- Ioannis Stamelos and Alexis Tsoukias. 2003. Software evaluation problem situations. European Journal of Operational Research, Vol. 145, 2 (2003), 273--286.Google Scholar
Cross Ref
- Jeff Tian. 2005. Software quality engineering: testing, quality assurance, and quantifiable improvement .John Wiley & Sons, Chapter Software Inspection, 237--250.Google Scholar
- Pedro Valente, Thiago Silva, Marco Winckler, and Nuno Nunes. 2016a. Bridging Enterprise and Software Engineering Through an User-Centered Design Perspective. In Web Information Systems Engineering -- WISE 2016, Wojciech Cellary, Mohamed F. Mokbel, Jianmin Wang, Hua Wang, Rui Zhou, and Yanchun Zhang (Eds.). Springer International Publishing, Cham, 349--357. https://doi.org/10.1007/978--3--319--48743--4_28Google Scholar
Digital Library
- Pedro Valente, Thiago Silva, Marco Winckler, and Nuno Nunes. 2017. The Goals Approach: Agile Enterprise Driven Software Development. In Complexity in Information Systems Development, Jerzy Goluchowski, Malgorzata Pankowska, Henry Linger, Chris Barry, Michael Lang, and Christoph Schneider (Eds.). Springer International Publishing, Cham, 201--219. https://doi.org/10.1007/978--3--319--52593--8_13Google Scholar
- Pedro Valente, Thiago Rocha Silva, Marco Winckler, and Nuno Jardim Nunes. 2016b. The Goals Approach: Enterprise Model-Driven Agile Human-Centered Software Engineering. In Human-Centered and Error-Resilient Systems Development, Cristian Bogdan, Jan Gulliksen, Stefan Sauer, Peter Forbrig, Marco Winckler, Chris Johnson, Philippe Palanque, Regina Bernhaupt, and Filip Kis (Eds.). Springer International Publishing, Cham, 261--280. https://doi.org/10.1007/978--3--319--44902--9_17Google Scholar
- Rudolf Van Megen and Dirk B Meyerhoff. 1995. Costs and benefits of early defect detection: experiences from developing client server and host applications. Software Quality Journal, Vol. 4, 4 (1995), 247--256.Google Scholar
Cross Ref
- Marco Winckler and Philippe Palanque. 2003. StateWebCharts: A Formal Description Technique Dedicated to Navigation Modelling of Web Applications. In Interactive Systems. Design, Specification, and Verification. Springer Berlin Heidelberg, 61--76.Google Scholar
- Marco Winckler and Philippe Palanque. 2012. Models as Representations for Supporting the Development of e-Procedures. In Usability in Government Systems. Elsevier, 301--315.Google Scholar
- Andreas Wolff, Peter Forbrig, Anke Dittmar, and Daniel Reichart. 2005. Linking GUI elements to tasks: supporting an evolutionary design process. In Proceedings of the 4th international workshop on Task models and diagrams. ACM, 27--34.Google Scholar
Digital Library
Index Terms
Ensuring the Consistency between User Requirements and Task Models: A Behavior-Based Automated Approach
Recommendations
Empirical Findings on BDD Story Parsing to Support Consistency Assurance between Requirements and Artifacts
EASE '21: Proceedings of the 25th International Conference on Evaluation and Assessment in Software EngineeringBehaviour-Driven Development (BDD) stories have gained considerable attention in recent years as an effective way to specify and test user requirements in agile software development projects. External testing frameworks also allow developers to ...
Ensuring the Consistency Between User Requirements and GUI Prototypes: A Behavior-Based Automated Approach
Human-Computer Interaction – INTERACT 2019AbstractIn a user-centered design process, graphical user interface (GUI) prototypes may be seen as an important early artifact to design and validate user requirements before making strong commitments with a full-fledged version of the user interface. ...
Generating UML diagrams from task models
CHINZ '03: Proceedings of the 4th Annual Conference of the ACM Special Interest Group on Computer-Human InteractionThe importance of task analysis and modelling to software system development is well recognised. After all, the central mission for most software systems is to help users accomplish their tasks. However, while object-oriented analysis and design (OOAD) ...






Comments