Economic perspectives in test automation: balancing automated and manual testing with opportunity cost

Testing is a major cost factor in software development. Test automation has been proposed as one solution to reduce these costs. Test automation tools promise to increase the number of tests they run and the frequency at which they run them. So why not automate every test? In this paper we discuss the question "When should a test be automated?" and the trade-off between automated and manual testing. We reveal problems in the overly simplistic cost models commonly used to make decisions about automating testing. We introduce an alternative model based on opportunity cost and present influencing factors on the decision of whether or not to invest in test automation. Our aim is to stimulate discussion about these factors as well as their influence on the benefits and costs of automated testing in order to support researchers and practitioners reflecting on proposed automation approaches.

[1]  R. Spital Automated Software Testing , 1983 .

[2]  Bradley S. Green Software test automation , 2000, SOEN.

[3]  Barry W. Boehm,et al.  Value-Based Software Engineering: Overview and Agenda , 2006, Value-Based Software Engineering.

[4]  Cem Kaner,et al.  Lessons Learned in Software Testing , 2001 .

[5]  Sean McDonald,et al.  Software Test Automation , 1999 .

[6]  Johannes Link,et al.  Unit Testing in Java: How Tests Drive the Code , 2003 .

[7]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[8]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[9]  Stefan Biffl,et al.  A case study on value-based requirements tracing , 2005, ESEC/FSE-13.

[10]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[11]  Christer Persson,et al.  Establishment of automated regression testing at ABB: industrial experience report on 'avoiding the pitfalls' , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[12]  Dorothy Graham,et al.  Software test automation: effective use of test execution tools , 1999 .

[13]  Cem Kaner,et al.  What IS a Good Test Case , 2003 .

[14]  Felix Redmill,et al.  Exploring risk‐based testing and its implications , 2004, Softw. Test. Verification Reliab..

[15]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[16]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[17]  Gregg Rothermel,et al.  Putting Your Best Tests Forward , 2003, IEEE Softw..

[18]  Stefan Biffl,et al.  Value-Based Management of Software Testing , 2006, Value-Based Software Engineering.

[19]  C. Persson,et al.  Establishment of automated regression testing at ABB: industrial experience report on 'avoiding the pitfalls' , 2004 .

[20]  Paul Krause Software Test Automation: Effective Use of Test Execution Tools, Mark Fewster and Dorothy Graham, Addison-Wesley, 1999 (Book Review) , 2000, Softw. Test. Verification Reliab..

[21]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[22]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[23]  Jeffrey M. Voas,et al.  Predicting where faults can hide from testing , 1991, IEEE Software.

[24]  J. Bach Test Automation Snake Oil , 1999 .

[25]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[26]  F. E. Principles of Economics , 1890, Nature.

[27]  Brian Marick,et al.  When Should a Test Be Automated , 1998 .