Тематический синтез разработки, ориентированной на поведение: аналитический подход
https://doi.org/10.15514/ISPRAS-2024-36(6)-9
Аннотация
Разработка на основе поведения (BDD) фокусируется на определении поведения системы с помощью примеров, поощрений совместной работы и согласований разработки с потребностями бизнеса. В предлагаемой статье авторы описывают результаты изучения тематического синтеза BDD, подчеркивая его проблемы, преимущества и последствия для разработки программного обеспечения. Анализируя 23 исследования, ход которых отражен в четырех академических базах данных, исследование выявляет тенденции и направления в следовании принципам и реализации BDD. Авторами подчеркивается роль BDD в преодолении разрыва между техническими и нетехническими заинтересованными сторонами, согласовании разработки программного обеспечения с бизнес-целями. Несмотря на первоначальные проблемы с внедрением BDD, проведенное исследование показывает его значительное долгосрочное и благотворное влияние на качество программного обеспечения, а также на достижение удовлетворенности заинтересованных сторон. Будущие исследования должны быть сосредоточены на разработке эффективного обучения и инструментов для поддержки внедрения BDD в различных средах.
Об авторах
Виктор Мануэль АРРЕДОНДО-РЕЙЕСМексика
Студент бакалавриата по направлению программной инженерии факультета статистики и информатики Университета Веракруса (Мексика). Сфера научных интересов: проектирование, разработка и тестирование программного обеспечения, инженерия требований к программному обеспечению.
Саул ДОМИНГЕС-ИСИДРО
Мексика
Имеет степень PhD по искусственному интеллекту, доцент факультета статистики и информатики Университета Веракруса (Мексика). Сфера научных интересов: распределенные системы, разработка программного обеспечения, вычислительный интеллект, машинное обучение.
Ангел Хуан САНЧЕС-ГАРСИЯ
Мексика
Имеет степень PhD по искусственному интеллекту, доцент факультета статистики и информатики Университета Веракруса (Мексика). Сфера научных интересов: программометрия, машинное обучение, прогнозирование затрат, эволюционные вычисления.
Хорхе Октавио ОЧАРАН-ЭРНАНДЕС
Мексика
Имеет степень PhD по искусственному интеллекту, доцент факультета статистики и информатики Университета Веракруса (Мексика). Сфера научных интересов: архитектура программного обеспечения, инженерия требований к программному обеспечению, программная инженерия, проектирование прикладных интерфейсов.
Список литературы
1. V. M. Arredondo-Reyes, S. Domínguez-Isidro, A. J. Sánchez-García, and J. O. Ocharán-Hernández, “Benefits and Challenges of the Behavior-Driven Development: A Systematic literature review,” in 11th International Conference in Software Engineering Research and Innovation (CONISOFT 2023), IEEE, 2023, pp. 1–6.
2. M. M. Moe and J. C. Sanchez, “International Journal of Trend in Scientific Research and Development (IJTSRD) Comparative Study of Test-Driven Development (TDD), Behavior-Driven Development (BDD) and Acceptance Test-Driven Development (ATDD) the Creative Commons Attribution License (CC BY 4.0).” [Online]. Available: http://creativecommons.org/licenses/by/4.0
3. J. Ferguson and D. North, BDD IN ACTION Behavior-Driven Development for the whole software lifecycle. [Online]. Available: www.it-ebooks.info
4. C. Solís and X. Wang, “A study of the characteristics of behaviour driven development,” in Proceedings - 37th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2011, pp. 383–387. doi: 10.1109/SEAA.2011.76.
5. L. Pereira, H. Sharp, C. De Souza, G. Oliveira, S. Marczak, and R. Bastos, “Behavior-driven development benefits and challenges: Reports from an industrial study,” in Proceedings of the 19th International Conference on Agile Software Development: Companion, Association for Computing Machinery, 2018, pp. 1–4. doi: 10.1145/3234152.3234167.
6. “What is software development? IBM.” [Online]. Available: https://www.ibm.com/topics/software-development
7. H. M. Abushama, H. A. Alassam, and F. A. Elhaj, “The effect of Test-Driven Development and Behavior-Driven Development on Project Success Factors: A Systematic Literature Review Based Study,” in Proceedings of: 2020 International Conference on Computer, Control, Electrical, and Electronics Engineering, ICCCEEE 2020, Institute of Electrical and Electronics Engineers Inc., Feb. 2021. doi: 10.1109/ICCCEEE49695.2021.9429593.
8. D. Arnyndiasari, R. Ferdiana, and P. I. Santosa, “Software Practices for Agile Developers: A Systematic Literature Review,” in 2022 1st International Conference on Information System and Information Technology, ICISIT 2022, Institute of Electrical and Electronics Engineers Inc., 2022, pp. 238–243. doi: 10.1109/ICISIT54091.2022.9872874.
9. M. S. Farooq, U. Omer, A. Ramzan, M. A. Rasheed, and Z. Atal, “Behavior Driven Development: A Systematic Literature Review,” IEEE Access, vol. 11, pp. 88008–88024, 2023, doi: 10.1109/ACCESS.2023.3302356.
10. B. A. Kitchenham, D. Budgen, and P. Brereton, Evidence-Based Software Engineering and Systematic Reviews. Chapman & Hall/CRC, 2015.
11. J. Popay et al., “Guidance on the Conduct of Narrative Synthesis in Systematic Reviews,” 2006.
12. D. S. Cruzes and T. Dybå, “Recommended Steps for Thematic Synthesis in Software Engineering,” in 2011 International Symposium on Empirical Software Engineering and Measurement, IEEE, 2011, pp. 275-284. doi: 10.1109/ESEM.2011.36.
13. Ö. Uştuk, “Thematic Analysis with MAXQDA: Step- by-Step Guide,” MAXQDA. [Online]. Available: https://www.maxqda.com/blogpost/thematic-analysis- with-maxqda-step-by-step-guide.
14. T. Dybå and T. Dingsøyr, “Empirical studies of agile software development: A systematic review,” Inf Softw Technol, vol. 50, no. 9, pp. 833–859, 2008, doi: 10.1016/j.infsof.2008.01.006.
15. C. Wohlin, “Guidelines for snowballing in systematic literature studies and a replication in software engineering,” in Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, ACM, 2014, pp. 1–10. doi: 10.1145/2601248.2601268.
16. M. Irshad, R. Britto, and K. Petersen, “Adapting Behavior Driven Development (BDD) for large-scale software systems,” Journal of Systems and Software, vol. 177, no. 110944, pp. 1–20, 2021, doi: 10.1016/j.jss.2021.110944.
17. H. Bünder and H. Kuchen, “Towards Behavior-Driven Graphical User Interface Testing,” in Proceedings of the ACM Symposium on Applied Computing, Association for Computing Machinery, 2019, pp. 1742–1751. doi: 10.1145/3297280.3297450.
18. Y. Wang and S. Wagner, “Combining STPA and BDD for safety analysis and verification in agile development: A controlled experiment,” in Agile Processes in Software Engineering and Extreme Programming. XP 2018. Lecture Notes in Business Information Processing, Springer, Cham, 2018, pp. 37–53. doi: 10.1007/978-3-319-91602-6_3.
19. A. Scandaroli, R. Leite, A. H. Kiosia, and S. A. Coelho, “Behavior-Driven Development as an Approach to Improve Software Quality and Communication across Remote Business Stakeholders, Developers and QA: Two Case Studies,” in 2019 ACM/IEEE 14th International Conference on Global Software Engineering (ICGSE), 2019, pp. 105-110. doi: 10.1109/ICGSE.2019.00030.
20. M. Rahman and J. Gao, “A reusable automated acceptance testing architecture for microservices in behavior-driven development,” in 9th IEEE International Symposium on Service-Oriented System Engineering, IEEE SOSE 2015, Institute of Electrical and Electronics Engineers Inc., 2015, pp. 321–325. doi: 10.1109/SOSE.2015.55.
21. M. Irshad, J. Börstler, and K. Petersen, “Supporting refactoring of BDD specifications—An empirical study,” Inf Softw Technol, vol. 141, no. 106717, pp. 1–13, 2022, doi: 10.1016/j.infsof.2021.106717.
22. A. Dimanidis, K. C. Chatzidimitriou, and A. L. Symeonidis, “A Natural Language Driven Approach for Automated Web API Development: Gherkin2OAS,” in Companion Proceedings of the The Web Conference 2018, Association for Computing Machinery, 2018, pp. 1869–1874. doi: 10.1145/3184558.3191654.
23. N. Nascimento, A. R. Santos, A. Sales, and R. Chanin, “Behavior-Driven Development: An Expert Panel to evaluate benefits and challenges,” in Proceedings of the XXXIV Brazilian Symposium on Software Engineering, Association for Computing Machinery, 2020, pp. 41–46. doi: 10.1145/3422392.3422460.
24. N. Nascimento, A. R. Santos, A. Sales, and R. Chanin, “Behavior-Driven Development: A case study on its impacts on agile development teams,” in Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, Association for Computing Machinery, 2020, pp. 109–116. doi: 10.1145/3387940.3391480.
25. R. K. Lenka, S. Kumar, and S. Mamgain, “Behavior Driven Development: Tools and Challenges,” in Proceedings - IEEE 2018 International Conference on Advances in Computing, Communication Control and Networking, ICACCCN 2018, Institute of Electrical and Electronics Engineers Inc., pp. 1032–1037. doi: 10.1109/ICACCCN.2018.8748595.
26. O. Bezsmertnyi, N. Golian, V. Golian, and I. Afanasieva, “Behavior Driven Development Approach in the Modern Quality Control Process,” in 2020 IEEE International Conference on Problems of Infocommunications Science and Technology, PIC S and T 2020 - Proceedings, Institute of Electrical and Electronics Engineers Inc., 2020, pp. 217–220. doi: 10.1109/PICST51311.2020.9467891.
27. T. R. Silva and B. Fitzgerald, “Empirical findings on bdd story parsing to support consistency assurance between requirements and artifacts,” in Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering, Association for Computing Machinery, 2021, pp. 266–271. doi: 10.1145/3463274.3463807.
28. C. Wiecher, S. Japs, L. Kaiser, J. Greenyer, R. Dumitrescu, and C. Wolff, “Scenarios in the loop: Integrated requirements analysis and automotive system validation,” in 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS-C 2020 - Companion Proceedings, Association for Computing Machinery, Inc, 2020, pp. 199–208. doi: 10.1145/3417990.3421264.
29. C. Lauer and C. Sippl, “Benefits of Behavior Driven Development in Scenario-based Verification of Automated Driving,” in 2022 IEEE 25th International Conference on Intelligent Transportation Systems (ITSC), Institute of Electrical and Electronics Engineers (IEEE), 2022, pp. 105–110. doi: 10.1109/itsc55140.2022.9922498.
30. F. L. Siqueira, T. C. de Sousa, and P. S. Silva, “Using BDD and SBVR to Refine Business Goals into an Event-B Model: A Research Idea,” in 2017 IEEE/ACM 5th International FME Workshop on Formal Methods in Software Engineering (FormaliSE), 2017, pp. 31–36. doi: 10.1109/FormaliSE.2017.5.
31. T. R. Silva, J. L. Hak, and M. Winckler, “Testing Prototypes and Final User Interfaces Through an Ontological Perspective for Behavior-Driven Development,” in Bogdan, C., et al. Human-Centered and Error-Resilient Systems Development. HESSD HCSE 2016 2016. Lecture Notes in Computer Science, Springer, Cham, 2016, pp. 86–107. doi: 10.1007/978- 3-319-44902-9_7.
32. L. P. Binamungu, S. M. Embury, and N. Konstantinou, “Characterising the Quality of Behaviour Driven Development Specifications,” in Agile Processes in Software Engineering and Extreme Programming. XP 2020. Lecture Notes in Business Information Processing, Springer, Cham, 2020, pp. 87–102. doi: 10.1007/978-3-030-49392-9_6.
33. T. R. Silva, M. Winckler, and H. Trætteberg, “Ensuring the Consistency between User Requirements and Task Models: A Behavior-Based Automated Approach,” Proc. ACM Hum.-Comput. Interact., vol. 4, no. EICS, pp. 1–32, 2020, doi: 10.1145/3394979.
34. L. P. Binamungu, S. M. Embury, and N. Konstantinou, “Maintaining behaviour driven development specifications: Challenges and opportunities,” in 25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings, Institute of Electrical and Electronics Engineers Inc., 2018, pp. 175–184. doi: 10.1109/SANER.2018.8330207.
35. T. N. Kudo, R. de F. Bulcão-Neto, V. V. G. Neto, and A. M. R. Vincenzi, “Aligning requirements and testing through metamodeling and patterns: design and evaluation,” Requir Eng, vol. 28, no. 1, pp. 97–115, Mar. 2023, doi: 10.1007/s00766-022-00377-5.
36. Y. Wang, D. R. Degutis, and S. Wagner, “Speed up BDD for safety verification in agile development: A partially replicated controlled experiment,” in ACM International Conference Proceeding Series, Association for Computing Machinery, 2018. doi: 10.1145/3234152.3234181.
37. G. Oliveira, S. Marczak, and C. Moralles, “How to evaluate BDD scenarios’ quality?” in Proceedings of the XXXIII Brazilian Symposium on Software Engineering, Association for Computing Machinery, 2019, pp. 481–490. doi: 10.1145/3350768.3351301.
38. N. Patkar, A. Chis, N. Stulova, and O. Nierstrasz, “Interactive Behavior-driven Development: A Low- code Perspective,” in 24th International Conference on Model-Driven Engineering Languages and Systems, MODELS-C 2021, Institute of Electrical and Electronics Engineers Inc., 2021, pp. 128–137. doi: 10.1109/MODELS-C53483.2021.00024.
39. T. Zameni, P. Van Den Bos, J. Tretmans, J. Foederer, and A. Rensink, “From BDD Scenarios to Test Case Generation,” in Proceedings - 2023 IEEE 16th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2023, Institute of Electrical and Electronics Engineers Inc., 2023, pp. 36–44. doi: 10.1109/ICSTW58534.2023.00019.
40. S. Rodriguez, J. Thangarajah, M. Winikoff, and M. 2023 Winikoff, “A Behaviour-Driven Approach for Testing Requirements via User and System Stories in Agent Systems. In Proc. of the 22nd International Conference on Autonomous Agents and Multiagent Systems,” 2023.
41. S. Heng, K. Tsilionis, and Y. Wautelet, “Building User Stories and Behavior Driven Development Scenarios with a Strict Set of Concepts: Ontology, Benefits and Primary Validation,” in Proceedings of the ACM Symposium on Applied Computing, Association for Computing Machinery, Mar. 2023, pp. 1422–1429. doi: 10.1145/3555776.3577696.
42. J. Saraiva and S. Soares, “Adoption of the LGPD Inventory in the User Stories and BDD Scenarios Creation,” in ACM International Conference Proceeding Series, Association for Computing Machinery, Sep. 2023, pp. 416–421. doi: 10.1145/3613372.3613375.
43. J. A. Valdivia, A. Lora-González, X. Limón, K. Cortes-Verdin, and J. O. Ocharán-Hernández, "Patterns Related to Microservice Architecture: A Multivocal Literature Review," Programming and Computer Software, vol. 46, no. 8, pp. 594-608, Dec. 2020, doi: 10.1134/S0361768820080253.
44. R. Moguel-Sánchez, C. S. Sergio Martínez-Palacios, J., O. Ocharán-Hernández, X. Limón, and A. J. Sánchez-García, "Bots in Software Development: A Systematic Literature Review and Thematic Analysis," Programming and Computer Software, vol. 49, no. 8, pp. 712-734, Dec. 2023, doi: 10.1134/S0361768823080145.
Рецензия
Для цитирования:
АРРЕДОНДО-РЕЙЕС В., ДОМИНГЕС-ИСИДРО С., САНЧЕС-ГАРСИЯ А., ОЧАРАН-ЭРНАНДЕС Х. Тематический синтез разработки, ориентированной на поведение: аналитический подход. Труды Института системного программирования РАН. 2024;36(6):161-178. https://doi.org/10.15514/ISPRAS-2024-36(6)-9
For citation:
ARREDONDO-REYES V., DOMÍNGUEZ-ISIDRO S., SÁNCHEZ-GARCÍA Á., OCHARÁN-HERNÁNDEZ J. Thematic Synthesis of Behavior-Driven Development: An Analytical Approach. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2024;36(6):161-178. https://doi.org/10.15514/ISPRAS-2024-36(6)-9