Submitted:
16 June 2024
Posted:
17 June 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
- How does BDD address difficulties in ensuring non-functional requirements?;
- How can BDD be used to ensure quality related to the performance efficiency characteristic of the ISO/IEC/IEEE 25010 Standard?;
- What are the benefits of using BDD to identify and automate non-functional tests?
2. Related Works
3. Theoretical Concepts
3.1. ISO/IEC/IEEE 25010 Standard
3.2. Behavior-Driven Development (BDD)
4. Methodology
4.1. Case Study
- A software architect responsible for defining the architecture and non-functional requirements;
- Two developers in charge of implementing the acceptance scenarios;
- A Team Lead, responsible for leading the process and helping with communication between team members;
- A test analyst tasked with automating performance tests using Locust in Python;
- A DevOps, responsible for configuring the infrastructure and deploying the system.
4.2. Interview
5. Case Execution
5.1. User Story: System Efficiency (Time Behavior)
5.2. User Story: Resource Utilization
5.3. User Story: Capacity
6. Results
6.1. QP1 - How Does BDD Address Difficulties in Ensuring Non-Functional Requirements?
6.2. QP2 - How Can BDD Be Used to Ensure Quality Related to the Performance Efficiency Characteristic of the ISO/IEC/IEEE 25010 Standard?
6.3. QP3 - What Are the Benefits of Using BDD in Identifying and Automating Non-Functional Tests?
7. Discussions
8. Threats to Validity
8.1. Construction Validity
8.2. Internal Validity
8.3. External Validity
8.4. Conclusion Validity
9. Conclusion
Author Contributions
Funding
Informed Consent Statement
Acknowledgments
Conflicts of Interest
References
- Kruchten, P. What do software architects really do? Journal of Systems and Software. Elsevier 2008, V.81, 2413–2416. [Google Scholar] [CrossRef]
- Bruschi, S.; Xiao, L.; Kavatkar, M. ; others. Behavior Driven-Development (BDD): a case study in healthtech. Pacific NW Software Quality Conference, 2019.
- Guerra-Garcia, C.; Nikiforova, A.; Jiménez, S.; Perez-Gonzalez, H.G.; Ramírez-Torres, M.T.; Ontañon-García, L. ISO/IEC 25012 - Based methodology for managing data quality requirements in the development of information systems: Towards Data Quality by Design. Data and Knowledge Engineering 2023, 145, 102152–102152. [Google Scholar] [CrossRef]
- Valdés-Souto, F.; Núñez-Varela, A.S.; Pérez-González, H.G. Evaluating the software quality non-functional requirement through a fuzzy logic-based model based on the ISO/IEC 25000 (SQuaRE) standard. 2019 7th International Conference in Software Engineering Research and Innovation CONISOFT.
- Binamungu, L.P.; Embury, S.M.; Konstantinou, N. Maintaining Behaviour Driven-Development specifications: Challenges and opportunities. 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering SANER. IEEE, 2018, pp. 175–184.
- Karagöz, G.; Sözer, H. Reproducing failures based on semiformal failure scenario descriptions. Software Quality Journal 2017, 25, 111–129. [Google Scholar] [CrossRef]
- Haoues, M.; Sellami, A.; Ben-Abdallah, H.; Cheikhi, L. A guideline for software architecture selection based on ISO 25010 quality related characteristics. International Journal of System Assurance Engineering and Management 2017, 8, 886–909. [Google Scholar] [CrossRef]
- Estdale, J.; Georgiadou, E., Applying the ISO/IEC 25010 Quality Models to Software Product: 25th European Conference, EuroSPI 2018, Bilbao, Spain, September 5-7, 2018, Proceedings; 2018; pp. 492–503. [CrossRef]
- Jarzębowicz, A.; Weichbroth, P. A qualitative study on non-functional requirements in agile software development. IEEE Access 2021, V. 9, 40458–40475. [Google Scholar] [CrossRef]
- Olsson, T.; Sentilles, S.; Papatheocharous, E. A Systematic Literature Review of empirical research on quality requirements. Requirements Engineering. Springer 2022, V.27, 249–271. [Google Scholar] [CrossRef]
- International Organization for Standardization. ISO/IEC/IEEE 25010. https://iso25000.com/index.php/en/iso-25000-standards/iso-25010/, 2011.
- Miguel, J.P.; Mauricio, D.; Rodríguez, G. A review of software quality models for the evaluation of software products. arXiv preprint arXiv:1412.2977. Cornell University, arXiv:1412.2977.
- North, D. Introducing BDD. https://dannorth.net/introducing-bdd/, 2006.
- Pereira, L.; Sharp, H.; de Souza, C.; Oliveira, G.; Marczak, S.; Bastos, R. Behavior-Driven Development benefits and challenges: reports from an industrial study. Proceedings of the 19th International Conference on Agile Software Development: Companion, 2018, pp. 1–4.
- Silva, T.R.; Fitzgerald, B. Empirical findings on BDD story parsing to support consistency assurance between requirements and artifacts. In Evaluation and Assessment in Software Engineering; 2021; pp. 266–271.
- Couto, T.; dos Santos Marczak, S.; Callegari, D.A.; Móra, M.; Rocha, F. On the Characterization of Behavior-Driven Development Adoption Benefits: A Multiple Case Study of Novice Software Teams. Anais do XXI Simpósio Brasileiro de Qualidade de Software, 2022, Brasil.
- Nascimento, N.; Santos, A.R.; Sales, A.; Chanin, R. Behavior-Driven Development: an expert panel to evaluate benefits and challenges. Proceedings of the XXXIV Brazilian Symposium on Software Engineering, 2020, pp. 41–46.
- Moe, M.M. Comparative Study of Test-Driven Development TDD, Behavior-Driven Development BDD and Acceptance Test–Driven Development ATDD. International Journal of Trend in Scientific Research and Development 2019, 3, 231–234. [Google Scholar] [CrossRef]
- Heck, P.; Zaidman, A. A Systematic Literature Review on quality criteria for agile requirements specifications. Software Quality Journal 2018, 26, 127–160. [Google Scholar] [CrossRef]
- Kitchenham, B.A.; Dyba, T.; Jorgensen, M. Evidence-based software engineering. Proceedings. 26th International Conference on Software Engineering. IEEE, 2004, pp. 273–281.
- Melegati, J.; Wang, X. Case survey studies in software engineering research. Proceedings of the 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2020, pp. 1–12.
- Wohlin, C.; Höst, M.; Henningsson, K. Empirical research methods in software engineering. Empirical methods and studies in software engineering: Experiences from ESERNET. Springer 2003, pp.7–23.
- Runeson, P.; Höst, M. Guidelines for conducting and reporting case study research in software engineering. Empirical software engineering. Springer 2009, V.14, 131–164. [Google Scholar] [CrossRef]
- Perry, D.E.; Sim, S.E.; Easterbrook, S. Case Studies for Software Engineers. Proceedings of the 28th international conference on software engineering, 2006, pp. 1045–1046.
- Yin, R.K. Case study methods. American Psychological Association, 2012.
- Petersen, K. Guidelines for Case Survey Research in Software Engineering. Contemporary empirical methods in software engineering 2020, pp.63–92.
- Wohlin, C.; Runeson, P.; Höst, M.; Ohlsson, M.C.; Regnell, B.; Wesslén, A. Experimentation in software engineering; Springer Science & Business Media, 2012.
- Solis, C.; Wang, X. A study of the characteristics of behaviour driven development. 2011 37th EUROMICRO conference on software engineering and advanced applications. IEEE, 2011, pp. 383–387.
- Zhou, X.; Jin, Y.; Zhang, H.; Li, S.; Huang, X. A map of threats to validity of Systematic Literature Reviews in Software Engineering. 2016 23rd Asia-Pacific Software Engineering Conference (APSEC). IEEE, 2016, pp. 153–160.








| Research questions | ||
|---|---|---|
| Identification | Question | Rationale |
| RQ1 | How does BDD address difficulties in ensuring non-functional requirements? | This question aimed to understand how BDD can mitigate situations arising from the elicitation of non-functional requirements. |
| RQ2 | How can BDD be used to ensure quality related to the performance efficiency characteristic of the ISO/IEC/IEEE 25010 Standard? | This question aimed to explain how this framework could contribute to eliciting non-functional requirements. |
| RQ3 | What are the benefits of using BDD in identifying and automating non-functional tests? | This question aimed to bring positive points to adopting BDD in the testing cycle. |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).