An Exploratory Study on Handling Requirements and Acceptance Test Documentation in Industry

With the emergence and spread of agile processes, the practices of writing and maintaining documentation have drastically changed in the last decade. In this work, we performed a qualitative study to explore the current practices for managing two related types of software documentation: requirements and acceptance tests. We interviewed twenty practitioners from seventeen business units in fifteen companies to investigate the companies' practices for writing, maintaining and linking requirements and acceptance test documentation. The study yields interesting and partially unexpected results. For example, we had expected that tests would be more extensively documented than requirements, while we found a strong linear correlation between the number of requirements and tests in our sample. We also found that technical people are usually not involved in the requirements engineering activities, which often results in misunderstood or underestimated requirements. Acceptance tests are written, in many cases, based on requirements that are not necessarily detailed enough. Also, acceptance tests are not regularly maintained, which occasionally results in confusing features and bugs.

[1]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[2]  M. Patton,et al.  Qualitative evaluation and research methods , 1992 .

[3]  Didar Zowghi,et al.  Analysis of requirements volatility during software development life cycle , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[4]  Christoph J. Stettina,et al.  Necessary and neglected?: an empirical study of internal documentation in agile software development teams , 2011, SIGDOC '11.

[5]  Ken Pugh Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration , 2010 .

[6]  Dean Leffingwell,et al.  Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise , 2011 .

[7]  Marco Torchiano,et al.  Using acceptance tests as a support for clarifying requirements: A series of experiments , 2009, Inf. Softw. Technol..

[8]  Marjo Kauppinen,et al.  Applying a Systematic Approach to Link Requirements and Testing: A Case Study , 2009, 2009 16th Asia-Pacific Software Engineering Conference.

[9]  Dorothy R. Graham,et al.  Requirements and Testing: Seven Missing-Link Myths , 2002, IEEE Softw..

[10]  Markus Borg,et al.  Software Engineering Knowledge Areas in Startup Companies: A Mapping Study , 2015, ICSOB.

[11]  Markus Borg,et al.  Revisiting the challenges in aligning RE and V&V: Experiences from the public sector , 2014, 2014 IEEE 1st International Workshop on Requirements Engineering and Testing (RET).

[12]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[13]  Lars Mathiassen,et al.  Managing change in software process improvement , 2005, IEEE Software.

[14]  Daniela E. Damian,et al.  An Empirical Study of the Complex Relationships between Requirements Engineering Processes and Other Processes that Lead to Payoffs in Productivity, Quality, and Risk Management , 2006, IEEE Transactions on Software Engineering.

[15]  Marjo Kauppinen,et al.  Linking Requirements and Testing in Practice , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[16]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[17]  Grigori Melnik,et al.  Multiple Perspectives on Executable Acceptance Test-Driven Development , 2007, XP.

[18]  Mika V. Mäntylä,et al.  How do testers do it? An exploratory study on manual testing practices , 2009, ESEM 2009.

[19]  Lionel C. Briand,et al.  Software documentation: how much is enough? , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[20]  Tony Gorschek,et al.  Challenges and practices in aligning requirements with verification and validation: a case study of six companies , 2013, Empirical Software Engineering.

[21]  Grigori Melnik,et al.  Tests and Requirements, Requirements and Tests: A Möbius Strip , 2008, IEEE Software.

[22]  Geir Kjetil Hanssen,et al.  Automated Acceptance Testing: A Literature Review and an Industrial Case Study , 2008, Agile 2008 Conference.

[23]  Gojko Adzic Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing , 2009 .

[24]  Mika Mäntylä,et al.  How do testers do it? An exploratory study on manual testing practices , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[25]  Robert Feldt,et al.  Maintenance of automated test suites in industry: An empirical study on Visual GUI Testing , 2016, Inf. Softw. Technol..

[26]  Janice Singer Practices of software maintenance , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[27]  Gerald M. Weinberg,et al.  Exploring Requirements: Quality Before Design , 1989 .