Using acceptance tests as a support for clarifying requirements: A series of experiments

One of the main reasons for the failure of many software projects is the late discovery of a mismatch between the customers' expectations and the pieces of functionality implemented in the delivered system. At the root of such a mismatch is often a set of poorly defined, incomplete, under-specified, and inconsistent requirements. Test driven development has recently been proposed as a way to clarify requirements during the initial elicitation phase, by means of acceptance tests that specify the desired behavior of the system. The goal of the work reported in this paper is to empirically characterize the contribution of acceptance tests to the clarification of the requirements coming from the customer. We focused on Fit tables, a way to express acceptance tests, which can be automatically translated into executable test cases. We ran two experiments with students from University of Trento and Politecnico of Torino, to assess the impact of Fit tables on the clarity of requirements. We considered whether Fit tables actually improve requirement understanding and whether this requires any additional comprehension effort. Experimental results show that Fit helps in the understanding of requirements without requiring a significant additional effort.

[1]  David S. Janzen,et al.  Implications of test-driven development: a pilot study , 2003, OOPSLA '03.

[2]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[3]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[4]  D R Shearer,et al.  Acceptance testing. , 1998, Radiology management.

[5]  D. Sheskin Handbook of Parametric and Nonparametric Statistical Procedures: Third Edition , 2000 .

[6]  David S. Janzen,et al.  Test-driven development concepts, taxonomy, and future direction , 2005, Computer.

[7]  Grigori Melnik,et al.  Examining Usage Patterns of the FIT Acceptance Testing Framework , 2005, XP.

[8]  Dorothy S. Strickland,et al.  Computer as Tool , 1987 .

[9]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[10]  Marco Torchiano,et al.  On the effectiveness of the test-first approach to programming , 2005, IEEE Transactions on Software Engineering.

[11]  Marco Torchiano,et al.  "Talking tests": a Preliminary Experimental Study on Fit User Acceptance Tests , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[12]  Marco Torchiano,et al.  Electronic Communications of the EASST Volume 8 ( 2008 ) Proceedings of the Third International ERCIM Symposium on Software Evolution ( Software Evolution 2007 ) The Use of Executable FIT Tables to support Maintenance and Evolution Tasks , 2007 .

[13]  Matthias M. Müller,et al.  Experiment about test-first programming , 2002, IEE Proc. Softw..

[14]  Boby George,et al.  A structured experiment of test-driven development , 2004, Inf. Softw. Technol..

[15]  Peter M. Chisnall,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1993 .

[16]  Rick Mugridge,et al.  Fit for Developing Software: Framework for Integrated Tests (Robert C. Martin) , 2005 .

[17]  Eric R. Ziegel,et al.  Probability and Statistics for Engineering and the Sciences , 2004, Technometrics.

[18]  Grigori Melnik,et al.  Suitability of FIT User Acceptance Tests for Specifying Functional Requirements: Developer Perspective , 2004, XP/Agile Universe.

[19]  Victor R. Basili,et al.  Comparing the Effectiveness of Software Testing Strategies , 1987, IEEE Transactions on Software Engineering.

[20]  David J. Sheskin,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 1997 .

[21]  T. Vidmar,et al.  Towards empirical evaluation of test-driven development in a university environment , 2003, The IEEE Region 8 EUROCON 2003. Computer as a Tool..

[22]  R. E. Callan Building Object-Oriented Systems: An Introduction from Concepts to Implementation in C , 1994 .

[23]  Ralph R. Young Effective Requirements Practices , 2001 .

[24]  Laurie A. Williams,et al.  Assessing test-driven development at IBM , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[25]  Marco Torchiano,et al.  Talking tests: an empirical assessment of the role of fit acceptance tests in clarifying requirements , 2007, IWPSE '07.

[26]  Massimiliano Di Penta,et al.  An experimental investigation of formality in UML-based development , 2005, IEEE Transactions on Software Engineering.

[27]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[28]  Frank Maurer,et al.  FitClipse: A Fit-Based Eclipse Plug-In for Executable Acceptance Test Driven Development , 2007, XP.

[29]  Marco Torchiano,et al.  The Role of Experience and Ability in Comprehension Tasks Supported by UML Stereotypes , 2007, 29th International Conference on Software Engineering (ICSE'07).

[30]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.