Requirements Engineering and Software Testing in Agile Methodologies: a Systematic Mapping
The insertion of agile practices in software development has increased exponentially. Both industry and academic staff constantly face challenges related to requirements specification and testing in this context. In this study, we conducted a systematic mapping of the literature to investigate the practices, strategies, techniques, tools, and challenges met in the association of Requirements Engineering with Software Testing (REST) in the agile context. By searching seven major bibliographic databases, we identified 1.099 papers related to Agile REST. Based on the systematic mapping guidelines, we selected 14 of them for a more specific analysis. In general, the main findings include the fact that weekly meetings should be held to establish frequent communication with stakeholders. Also, most projects adopt use cases as conceptual models and perform use case detailing. Test cases are an important artifact with test case design as a Software Testing practice. For the automation of test cases, fit tables have been recommended as an artifact. Finally, proper project documentation constitutes a critical basis in Agile REST.
A. Djanatliev, W. Dulz, R. German, V. Schneider, Veritas-a versatile modeling environment for test-driven agile simulation, in: WSC, 2011, pp. 3657--3666.
E. Bjarnason, M. Unterkalmsteiner, M. Borg, E. Engström, A Multi-Case Study of Agile Requirements Engineering and the Use of Test Cases as Requirements, in: Information and Software Technology, vol.77, 2016, pp. 61--79.
M. Unterkalmsteiner, R. Feldt, T. Gorschek, A taxonomy for requirements engineering and software test alignment, ACM Trans. Softw. Eng. Methodol. 23 (2) (2014) 16:1--16.38.
S. Tiwari, A. Gupta, An approach of generating test requirements for agile software development, in: ISEC, 2015, pp. 186--195.
M. H. Sørensen, Use case-driven performance engineering without concurrent users, in: ICPE, 2013, pp. 3--12.
P. Bera, A. Gupta, A Proposed Method in Agile Practices to Create Requirements Documentation and Test Cases, in: 29th CAiSE, 2017, pp. 113--121.
R. Elghondakly, S. Moussa, N. Badr, Waterfall and agile requirements-based model for automated test cases generation, in: ICICIS, 2015, pp. 607--612.
A. Sinha, S. M. Sutton, A. Paradkar, Text2Test: Automated inspection of natural language use cases, in: ICST, 2010, pp. 155--164.
M. Unterkalmsteiner, T. Gorschek, R. Feldt, E. Klotins, Assessing requirements engineering and software test alignment - Five case studies, Journal of Systems and Software 109 (2015) 62--77.
E. Bjarnason, P. Runeson, M. Borg, M. Unterkalmsteiner, E. Engström, B. Regnell, G. Sabaliauskaite, A. Loconsole, T. Gorschek, R. Feldt, Challenges and practices in aligning requirements with verification and validation: a case study of six companies, Empirical Software Engineering 19 (2014) 1809--1855.
S. Hotomski, E. B. Charrada, M. Glinz, An Exploratory Study on Handling Requirements and Acceptance Test Documentation in Industry, in: 24th RE, 2016, pp. 116--125.
B. Haugset, T. Stalhane, Automated acceptance testing as an agile requirements engineering practice, in: 45th HICSS, 2012, pp. 5289--5298.
F. G. O. Neto, J. Horkoff, E. Knauss, R. Kasauli, G. Liebel, Challenges of Aligning Requirements Engineering and System Testing in Large-Scale Agile: A Multiple Case Study, in: 25th REW, 2017, 315--322.
A. Bertolino, Software testing research: Achievements, challenges, dreams, in: Future of Software Engineering, IEEE Computer Society, 2007, pp. 85--103.
I. Sommerville, Software Engineering, Addison-Wesley, 2011.
S. Wagner, D. M. Fernandez, M. Felderer, M. Kalinowski Requirements engineering practice and problems in agile projects: results from an international survey, in: XX CIBSE, 2017.
N. Maia, G. Macedo, E. Collins, A. D. Neto, Aplicando Testes Ágeis com Equipes Distribuídas: Um Relato de Experiência, in: SBQS, 2012, pp. 365--372.
S. Hotomski, E. B. Charrada, M. Glinz, An exploratory study on handling requirements and acceptance test documentation in industry, in: 24th RE, 2016, pp. 116--125.
B. Kitchenham, S. Charters, Guidelines for performing systematic literature reviews in software engineering, 2007.
K. Petersen, S. Vakkalanka, L. Kuzniarz, Guidelines for conducting systematic mapping studies in software engineering: An update, Journal of Information and Software Technology 64 (2015) 1--18.
R. H. Thayer, M. Dorfman, Software Requirements Engineering, IEEE Computer Society Press, 1997.
R. S. Pressman, Software engineering: a practitioner's approach, Palgrave Macmillan, 2005.
R. Hoda, N. Salleh, J. Grundy, H. M. Tee, Systematic literature reviews in agile software development: A tertiary study, Information and Software Technology 85 (2017) 60--70.
J. Medeiros, D. Alves, A. Vasconcelos, C. Silva, E. Wanderley, Requirements engineering in agile projects: a systematic mapping based in evidences of industry, in: CIBSE, 2015.
I. Inayat, S. S. Salim, S. Marczak, M. Daneva, S. Shamshirband, A systematic literature review on agile requirements engineering practices and challenges, Computers in human behavior 51 (2015) 915--929.
E. M. Schon, J. Thomaschewski, M.J. Escalona, Agile Requirements Engineering: A systematic literature review, Computer Standards & Interfaces 49 (2017) 79--91.
L. Crispin, J. Gregory, Agile testing: A practical guide for testers and agile teams, Pearson Education, 2009.
C.Wang, F. Pastore, A. Goknil, L. Briand, Z.Iqbal, Automatic generation of system test cases from use case specifications, in: ISSTA, 2015, pp. 385--396.
M. Zhang, T. Yue, S. Ali, H. Zhang, J. Wu, A systematic approach to automatically derive test cases from use cases specified in restricted natural languages, in: SAM, 2014, pp. 142--157.
E. Sarmiento, J. C. S. P. Leite, E. Almentero, C&l: Generating model based test cases from natural language requirements descriptions, in: 1st RET, 2014, pp. 32--38.
G. Carvalho, D. FalcÃčo, F. Barros, A. Sampaio, A. Mota, L. Motta, M. Blackburn, Test case generation from natural language requirements based on SCR specifications, in: SAC, 2013, pp. 1217--1222.
M. Escalona, J. Gutierrez, M. Mejías, G. Aragón, I. Ramos, J. Torres, F. Domínguez, An overview on test generation from functional requirements, Journal of Systems and Software 84 (8) (2011) 1379--1393.
C.-W. Ho, M. J. Johnson, L. Williams, E. M. Maximilien, On agile performance requirements specification and testing, in: Agile Conference, 2006, pp. 6-pp.
F. Ricca, M. Torchiano, M. D. Penta, M. Ceccato, P. Tonella, Using acceptance tests as a support for clarifying requirements: A series of experiments, Information and Software Technology 51 (2) (2009) 270--283.
E. C. dos Santos, P. Vilain, Automated acceptance tests as software requirements: An experiment to compare the applicability of fit tables and gherkin language, in: XP, 2018, pp. 104--119.
S. Park, F. Maurer, A literature review on story test driven development,in: XP, 2010, pp. 208--213.
A. Vicente, M. E. Delamaro, J. C. Maldonado, Uma revisÃčo sistemática sobre a atividade de teste de software em métodos Ágeis, in: CLTM, 2009.
J. Angara, S. Prasad, G. Sridevi, The factors driving testing in devops setting a systematic literature survey, Indian Journal of Science and Technology 9 (48) 2017.
E. Sarmiento, J. CSP Leite, N. Rodriguez, A. von Staa, An automated approach of test case generation for concurrent systems from requirements descriptions, in: ICEIS, 2014, pp. 339--347.
M. Ivarsson, T. Gorschek, A method for evaluating rigor and industrial relevance of technology evaluations, Empirical Software Engineering 16 (3) (2011) 365--395.
K. Curcio, T. Navarro, A. Malucelli, S. Reinehr, Requirements Engineering: a systematic mapping study in agile software development, The Journal of Systems & Software 139 (1) (2018) 32--50.
B. Kitchenham, O. P. Brereton, D. Budgen, M. Turner, J. Bailey,S. Linkman, Systematic literature reviews in software engineering a systematic literature review, Information and software technology 51 (1)(2009) 7--15.
V. T. Heikkilä, C. Lassenius, D. Damian, M. Paasivaara, A mapping study on requirements engineering in agile software development, in: SEAA, 2015, pp. 199--207.
A. Causevic, D. Sundmark, S. Punnekkat, Factors limiting industrial adoption of test driven development: A systematic review, in: ICST, 2011, pp. 337--346.