Aiding Software Developers to Maintain Developer Tests

Unit and integration tests can be invaluable during software maintenance as they help to understand pieces of code, they help with quality assurance and they build up confidence amongst developers. Unfortunately then, previous research has shown that unit tests do not always co-evolve nicely with the production code, thus leaving the software vulnerable. This paper presents TestNForce, a tool that helps developers to identify the unit tests that need to be altered and executed after a code change, thereby reducing the effort needed to keep the unit tests in sync with the changes to the production code. In order to evaluate TestNForce, we perform a user study that evaluates the adequacy, usefulness and completeness of TestNForce.

[1]  Serge Demeyer,et al.  Software Evolution , 2010 .

[2]  Arie van Deursen,et al.  Mining Software Repositories to Study Co-Evolution of Production & Test Code , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[3]  Jonas Mellin,et al.  On the Testing Maturity of Software Producing Organizations , 2006, Testing: Academic & Industrial Conference - Practice And Research Techniques (TAIC PART'06).

[4]  Gregg Rothermel,et al.  Empirical Studies of a Safe Regression Test Selection Technique , 1998, IEEE Trans. Software Eng..

[5]  David S. Rosenblum,et al.  TESTTUBE: a system for selective regression testing , 1994, Proceedings of 16th International Conference on Software Engineering.

[6]  Gerard Meszaros,et al.  xUnit Test Patterns: Refactoring Test Code , 2007 .

[7]  Per Runeson,et al.  A Qualitative Survey of Regression Testing Practices , 2010, PROFES.

[8]  Michael D. Ernst,et al.  An experimental evaluation of continuous testing during development , 2004, ISSTA '04.

[9]  Arie van Deursen,et al.  On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension , 2008, Software Evolution.

[10]  Per Runeson,et al.  A case study on regression test suite maintenance in system evolution , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[11]  Arie van Deursen,et al.  Trace visualization for program comprehension: A controlled experiment , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[12]  Andy Zaidman,et al.  Preface to the special issue on software evolution, adaptability and variability , 2011, Sci. Comput. Program..

[13]  Andy Zaidman,et al.  Identifying cross-cutting concerns using software repository mining , 2010, IWPSE-EVOL '10.

[14]  Arie van Deursen,et al.  A Controlled Experiment for Program Comprehension through Trace Visualization , 2011, IEEE Transactions on Software Engineering.

[15]  Arie van Deursen,et al.  Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining , 2008, Empirical Software Engineering.

[16]  Oscar Nierstrasz,et al.  Ordering broken unit tests for focused debugging , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[17]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[18]  Serge Demeyer,et al.  Establishing Traceability Links between Unit Test Cases and Units under Test , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[19]  Capers Jones,et al.  The Economics of Software Quality , 2011 .

[20]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[21]  Arie van Deursen,et al.  Software Evolution , 2010, Encyclopedia of Software Engineering.

[22]  Gregg Rothermel,et al.  The impact of software evolution on code coverage information , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[23]  Per Runeson,et al.  A survey of unit testing practices , 2006, IEEE Software.

[24]  V. Hurdugaci,et al.  Aiding Software Developers to Test with TestNForce , 2011 .

[25]  Earl R. Babbie,et al.  The practice of social research , 1969 .

[26]  Gregory Tassey,et al.  Prepared for what , 2007 .