ABSTRACT
The communication gap between software developers and subject-matter experts is one of the foremost long-standing problems in software development. The level of formality of the user requirements specification has a strong impact on the ability of these two groups to communicate effectively. Domain-Specific Languages (DSLs) are seen as one of the potential solutions to address this issue by raising the abstraction level of the software specification while keeping the necessary formalism to allow for software analysis, design, and verification. This paper discusses the ongoing development of a high-level DSL and its rich editing environment to allow the specification of consistent and testable interaction scenarios as user requirements for web-based graphical user interfaces. The language grammar has been developed based on the Gherkin syntax that supports Behaviour-Driven Development (BDD). Results of a preliminary evaluation regarding the consistency of actions and states of interaction elements specified for web user interfaces showed that the grammar is able to support a consistent specification of BDD scenarios as user requirements at the interaction level.
- Gojko Adzic. 2011. Specification by example: how successful teams deliver the right software. Simon and Schuster.Google Scholar
- Chetan Arora, Mehrdad Sabetzadeh, Lionel Briand, and Frank Zimmer. 2015. Automated checking of conformance to requirements templates using natural language processing. IEEE transactions on Software Engineering 41, 10 (2015), 944–968.Google ScholarDigital Library
- Hendrik Bünder and Herbert Kuchen. 2019. A model-driven approach for behavior-driven GUI testing. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. 1742–1751.Google ScholarDigital Library
- Capybara. 2022. Capybara. https://teamcapybara.github.io/capybara/ Last accessed: April 2022.Google Scholar
- David Chelimsky, Dave Astels, Bryan Helmkamp, Dan North, Zach Dennis, and Aslak Hellesoy. 2010. The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends. Pragmatic Bookshelf.Google Scholar
- Mike Cohn. 2004. User stories applied: For agile software development. Addison-Wesley Professional.Google ScholarDigital Library
- Concordion. 2022. Concordion: Specification by Example. https://concordion.org Last accessed: April 2022.Google Scholar
- Cucumber. 2022. Cucumber: BDD Testing and Collaboration Tools for Teams. https://cucumber.io Last accessed: April 2022.Google Scholar
- Fabiano Dalpiaz, Alessio Ferrari, Xavier Franch, and Cristina Palomares. 2018. Natural language processing for requirements engineering: The best is yet to come. IEEE software 35, 5 (2018), 115–119.Google Scholar
- Digital.ai. 2021. 15th Annual State Of Agile Report. Technical Report. https://digital.ai/resource-center/analyst-reports/state-of-agile-reportGoogle Scholar
- D Méndez Fernández, Stefan Wagner, Marcos Kalinowski, Michael Felderer, Priscilla Mafra, Antonio Vetrò, Tayana Conte, M-T Christiansson, Des Greer, Casper Lassenius, 2017. Naming the pain in requirements engineering. Empirical software engineering 22, 5 (2017), 2298–2338.Google Scholar
- Gherkin. 2022. Gherkin Syntax. https://cucumber.io/docs/gherkin/ Last accessed: April 2022.Google Scholar
- JBehave. 2022. What is JBehave?https://jbehave.org Last accessed: April 2022.Google Scholar
- Mohamad Kassab, Colin Neill, and Phillip Laplante. 2014. State of practice in requirements engineering: contemporary data. Innovations in Systems and Software Engineering 10, 4(2014), 235–241.Google ScholarDigital Library
- Sascha Konrad and Betty HC Cheng. 2005. Facilitating the construction of specification pattern-based properties. In 13th IEEE International Conference on Requirements Engineering (RE’05). IEEE, 329–338.Google ScholarDigital Library
- Tobias Kuhn. 2014. A survey and classification of controlled natural languages. Computational linguistics 40, 1 (2014), 121–170.Google Scholar
- Richard Lawrence and Paul Rayner. 2019. Behavior-Driven Development with Cucumber: Better Collaboration for Better Software. Addison-Wesley Professional.Google Scholar
- Quentin Limbourg, Jean Vanderdonckt, Benjamin Michotte, Laurent Bouillon, and Víctor López-Jaquero. 2004. USIXML: A language supporting multi-path development of user interfaces. In IFIP International Conference on Engineering for Human-Computer Interaction. Springer, 200–220.Google Scholar
- Garm Lucassen, Fabiano Dalpiaz, Jan Martijn EM van der Werf, and Sjaak Brinkkemper. 2016. The use and effectiveness of user stories in practice. In International working conference on requirements engineering: Foundation for software quality. Springer, 205–222.Google Scholar
- Rahul Mohanani, Paul Ralph, Burak Turhan, and Vladimir Mandic. 2021. How Templated Requirements Specifications Inhibit Creativity in Software Engineering. IEEE Transactions on Software Engineering(2021).Google ScholarCross Ref
- David Navarre, Philippe Palanque, Jean-Francois Ladry, and Eric Barboni. 2009. ICOs: A model-based user interface description technique dedicated to interactive systems addressing usability, reliability and scalability. ACM Transactions on Computer-Human Interaction (TOCHI) 16, 4(2009), 1–56.Google ScholarDigital Library
- Dan North. 2022. What’s in a Story?http://dannorth.net/whats-in-a-story/Google Scholar
- Oyindamola Olajubu. 2015. A textual domain specific language for requirement modelling. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 1060–1062.Google ScholarDigital Library
- Gabriel Oliveira and Sabrina Marczak. 2018. On the understanding of BDD scenarios’ quality: Preliminary practitioners’ opinions. In International Working Conference on Requirements Engineering: Foundation for Software Quality. Springer, 290–296.Google ScholarCross Ref
- Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2019. Ensuring the consistency between user requirements and graphical user interfaces: a behavior-based automated approach. In International Conference on Computational Science and Its Applications. Springer, 616–632.Google ScholarCross Ref
- Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2019. Ensuring the consistency between user requirements and GUI prototypes: A behavior-based automated approach. In IFIP Conference on Human-Computer Interaction. Springer, 644–665.Google ScholarDigital Library
- Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2020. Ensuring the Consistency between User Requirements and Task Models: A Behavior-Based Automated Approach. Proceedings of the ACM on Human-Computer Interaction 4, EICS(2020), 1–32.Google ScholarDigital Library
- Mary Beth Rosson and John M Carroll. 2007. Scenario-based design. In The Human-Computer Interaction Handbook. CRC Press, 1067–1086.Google Scholar
- Thiago Rocha Silva and Brian Fitzgerald. 2021. Empirical Findings on BDD Story Parsing to Support Consistency Assurance between Requirements and Artifacts. In Evaluation and Assessment in Software Engineering. 266–271.Google Scholar
- Thiago Rocha Silva and Brian Fitzgerald. 2021. Parsing BDD Stories for Automated Verification of Software Artefacts. Electronic Communications of the EASST 79 (2021).Google Scholar
- Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2017. A behavior-based ontology for supporting automated assessment of interactive systems. In 2017 IEEE 11th International Conference on Semantic Computing (ICSC). IEEE, 250–257.Google ScholarCross Ref
- 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 11, 04 (2017), 513–539.Google ScholarCross Ref
- 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. 1–10.Google ScholarDigital Library
- Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2019. Extending Behavior-Driven Development for Assessing User Interface Design Artifacts. In The 31st International Conference on Software Engineering & Knowledge Engineering (SEKE 2019).Google Scholar
- Smashtest. 2022. Smashtest. https://smashtest.io Last accessed: April 2022.Google Scholar
- Squish. 2022. Automated GUI Testing - Squish GUI Tester. https://www.froglogic.com/squish/ Last accessed: April 2022.Google Scholar
- Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. 2008. EMF: eclipse modeling framework. Pearson Education.Google ScholarDigital Library
- Alvaro Veizaga, Mauricio Alferez, Damiano Torre, Mehrdad Sabetzadeh, and Lionel Briand. 2021. On systematically building a controlled natural language for functional requirements. Empirical Software Engineering 26, 4 (2021), 1–53.Google ScholarDigital Library
- Marco Winckler and Philippe Palanque. 2003. StateWebCharts: A formal description technique dedicated to navigation modelling of web applications. In International Workshop on Design, Specification, and Verification of Interactive Systems. Springer, 61–76.Google ScholarCross Ref
- Xtext. 2022. Xtext - Language Engineering Made Easy!https://www.eclipse.org/Xtext/ Last accessed: April 2022.Google Scholar
- Fiorella Zampetti, Andrea Di Sorbo, Corrado Aaron Visaggio, Gerardo Canfora, and Massimiliano Di Penta. 2020. Demystifying the adoption of behavior-driven development in open source projects. Information and Software Technology 123 (2020), 106311.Google ScholarCross Ref
- Liping Zhao, Waad Alhoshan, Alessio Ferrari, Keletso J. Letsholo, Muideen A. Ajagbe, Erol-Valeriu Chioasca, and Riza T. Batista-Navarro. 2021. Natural Language Processing (NLP) for Requirements Engineering: A Systematic Mapping Study. Comput. Surveys 54(2021). Issue 3.Google Scholar
- Towards a Domain-Specific Language to Specify Interaction Scenarios for Web-Based Graphical User Interfaces
Recommendations
Cedalion: a language for language oriented programming
OOPSLA '11Language Oriented Programming (LOP) is a paradigm that puts domain specific programming languages (DSLs) at the center of the software development process. Currently, there are three main approaches to LOP: (1) the use of internal DSLs, implemented as ...
Cedalion: a language for language oriented programming
OOPSLA '11: Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applicationsLanguage Oriented Programming (LOP) is a paradigm that puts domain specific programming languages (DSLs) at the center of the software development process. Currently, there are three main approaches to LOP: (1) the use of internal DSLs, implemented as ...
Declaratively defining domain-specific language debuggers
GCPE '11Tool support is vital to the effectiveness of domain-specific languages. With language workbenches, domain-specific languages and their tool support can be generated from a combined, high-level specification. This paper shows how such a specification ...
Comments