Experience report: An industrial experience report on test outsourcing practices

Nowadays, many companies contract their testing functionalities out to third-party IT outsourcing companies. This process referred to as test outsourcing is common in the industry, yet it is rarely studied in the research community. In this paper, to bridge the gap, we performed an empirical study on test outsourcing with 10 interviewees and 140 survey respondents. We investigated various research questions such as the types, the process, and the challenges of test outsourcing, and the differences between test outsourcing and in-house testing. We found customer satisfaction, tight project schedule, and domain unfamiliarity are the top-3 challenges faced by the testers. We also found there are substantial differences between test outsourcing and in-house testing. For example, most of the test outsourcing projects focused on functional test, and rarely did unit test. Also, due to privacy policies of client companies, test outsourcing is performed mainly on the binary distributions of the projects, and rarely the testers can touch the source code. Our findings have implications for future research. For instance, as a starting point, researchers can create automated program comprehension tools which work on binary distributions of projects to help testers better design effective test cases.

[1]  Ian Sommerville,et al.  Testing in the Wild: The Social and Organisational Dimensions of Real World Practice , 2009, Computer Supported Cooperative Work (CSCW).

[2]  Saurabh Sinha,et al.  Outsourced, Offshored Software-Testing Practice: Vendor-Side Experiences , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering.

[3]  Hina Shah,et al.  Studying human and social aspects of testing in a service-based software company: case study , 2010, CHASE '10.

[4]  Arie van Deursen,et al.  Test confessions: A study of testing practices for plug-in systems , 2011, 2012 34th International Conference on Software Engineering (ICSE).

[5]  Kai Petersen,et al.  Time pressure: a controlled experiment of test case development and requirements review , 2014, ICSE.

[6]  Mika Mäntylä,et al.  More testers - The effect of crowd size and time restriction in software testing , 2013, Inf. Softw. Technol..

[7]  David Lo,et al.  An Empirical Study of Adoption of Software Testing in Open Source Projects , 2013, 2013 13th International Conference on Quality Software.

[8]  Mauro Pezzè,et al.  Software testing and analysis - process, principles and techniques , 2007 .

[9]  Emerson R. Murphy-Hill,et al.  Cowboys, ankle sprains, and keepers of quality: how is video game development different from software development? , 2014, ICSE.

[10]  David Lo,et al.  Understanding the Test Automation Culture of App Developers , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[11]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

[12]  Alex Groce,et al.  Code coverage for suite evaluation by developers , 2014, ICSE.

[13]  Monica J. Garfield,et al.  Managing conflict in software testing , 2004, CACM.

[14]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[15]  Lionel C. Briand,et al.  Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria , 2006, IEEE Transactions on Software Engineering.

[16]  David B. Martin,et al.  'Good' Organisational Reasons for 'Bad' Software Testing: An Ethnographic Study of Testing in a Small Software Company , 2007, 29th International Conference on Software Engineering (ICSE'07).

[17]  Adam A. Porter,et al.  Community-based, collaborative testing and analysis , 2010, FoSER '10.

[18]  David Lo,et al.  An Empirical Study on the Adequacy of Testing in Open Source Projects , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

[19]  Myra B. Cohen,et al.  An orchestrated survey of methodologies for automated software test case generation , 2013, J. Syst. Softw..

[20]  David Lo,et al.  Adoption of Software Testing in Open Source Projects--A Preliminary Study on 50,000 Projects , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[21]  Andrea Bergmann,et al.  Testing Computer Software Second Edition , 2016 .

[22]  Leif Singer,et al.  Enablers, inhibitors, and perceptions of testing in novice software teams , 2014, SIGSOFT FSE.

[23]  Saurabh Sinha,et al.  Global software testing under deadline pressure: Vendor-side experiences , 2014, Inf. Softw. Technol..