Guidelines on the use of Fit tables in software maintenance tasks: Lessons learned from 8 experiments

Executable acceptance test case-in particular Fit (Framework for Integrated Test) tables-originally intended for the development phase proved useful in maintenance activities too. Empirical evidence suggests that Fit tables are useful in improving the comprehension of change requirements and the correctness of the maintained code. Stemming from eight experiments formerly performed by the authors, this paper presents a set of lessons learned and guidelines useful for project managers on the use of Fit tables in maintenance tasks. Specifically, the paper discusses the use of Fit tables in maintenance tasks considering a set of dimensions, ranging from maintainerspsila experience to the nature of application being maintained and to the kind of benefits introduced by Fit tables. Benefits of Fit tables, such as improving the code correctness and comprehension, increase with developers experience and complex requirements but decrease with Web-based applications and when programmers work in pairs.

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

[2]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[3]  Marco Torchiano,et al.  Comparing "Traditional" and Web Specific Fit Tables in Maintenance Tasks: A Preliminary Empirical Study , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

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

[5]  P. Lachenbruch Statistical Power Analysis for the Behavioral Sciences (2nd ed.) , 1989 .

[6]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[7]  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 .

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

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

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

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

[12]  Ewan Tempero,et al.  Static Members and Cycles in Java Software , 2007, ESEM 2007.

[13]  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).

[14]  K. Beck,et al.  Extreme Programming Explained , 2002 .

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

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

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

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

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

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

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

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

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