Outsourcing Software Testing: A Case Study in the Oulu Area Ilkka Tervonen, Antti Haapalahti, Lasse Harjumaa, and Jouni Similä University of Oulu Oulu, Finland ilkka.tervonen@oulu.fi, haapalahti.antti@gmail.com, lasse.harjumaa@koskea.fi, jouni.simila@oulu.fi Abstract—Global software engineering increases coordination, communication, and control challenges in software development. The testing phase in this context is not a widely researched subject. In this paper, we study the outsourcing of software testing in the Oulu area, research the ways in which it is used, and determine the observable benefits and obstacles. The companies that participated in this study were found to use the outsourcing possibility of software testing with good efficiency and their testing process was considered to be mature. The most common benefits, in addition to the companies’ cost savings, included the utilization of time zone differences for around-the- clock productivity, a closer proximity to the market, an improved record of communication and the tools that record the audit materials. The most commonly realized difficulties consisted of teamwork challenges, a disparate tool infrastructure, tool expense, and often-elevated coordination costs. We utilized in our study two matrices that consist in one dimension of the three distances; control, coordination, and communication, and in another dimension of four distances; temporal, geographical, socio-cultural and technical. The technical distance was our extension to the matrix that has been used as the basis for many other studies about global software development and outsourcing efforts. Our observations justify the extension of matrices with respect to the technical distance. Keywords— software testing, coding, observations, technical distance, coordination, communication, control I. INTRODUCTION It is a common industry practice to outsource parts of the software development process, and many variations of outsourcing have been applied. Offshoring broadens the term by defining the target country of the outsourcing process as a nation that is different from the country of origin. The target country is often able to offer cheaper labor, since the major benefit of outsourcing is monetary savings. There are a number of outsourcing configurations and many different marketing-oriented terms that are used, some more broadly than others. According to Carmel and Tjia [1], some of these terms include onshore, offshore, nearshore, best shore, anyshore, rightshore, dualshore, offsourcing, offshoring, nearsourcing, nearshoring and multishore. Some of the terminology is used in a global context, but others phrases have been invented and applied primarily within the context of the original nation and have failed to fall into common use. Different approaches to outsourcing and offshoring practices allow companies to align the development to the overall organizational strategies. Companies typically outsource the work to an unrelated company that is contracted to perform a certain task, start a new subsidiary company known as a greenfield that maintains branches in the outsourcing destination, enter a strategic alliance with another existing operating company that is located in the destination, or perform an acquisition of an existing operating company and merge the company to perform the sourced task [1]. The need for global software development originated with efforts to save the money that is spent on employee salaries, which are significantly lower in some countries than in others. There was also a dearth of skilled developers that was initially remedied with “body-shopping,” (i.e., the customer would hire and train a developer from a company in another country and enlist him or her into an organization in the customer organization’s location [2]. Typically, in a global software development setting, most of the specification work is accomplished in a location in the customer country, where the domain knowledge is also more sophisticated than it is in the provider country. According to extant literature, the most popular offshoring destination within the software industry has been India, but China, Singapore, and Ireland have also become success offshoring sites [3]. Compared with an on-site, co-located development process, distributed software development has many drawbacks that can make the effort completely worthless. It may even result in costs that are worth many times the effort. The problems that contribute to the possible failure of the distributed development derive from temporal, geographical, and socio-cultural distances that negatively affect the control, coordination, and communication within the project [4], [5], [6]. Many case studies have been conducted in order to better understand the issues that pertain to these challenges. The possible solutions vary from a structured planning phase of the global development effort to recommendations of the tools that should be used to reduce communicational difficulties [4], [7], [8]. The outsourcing that occurs within the testing phase of the software development process is not a widely researched subject. It is commonly associated with the outsourcing of software development, and it is believed to share many of the defined benefits and difficulties of global software development [9]. However, testing should be considered as a separate discipline that accounts for a couple of special characteristics when selecting appropriate outsourcing approaches. Specifically, automation, rather than work-intense manual testing, should be utilized when it is applicable, and the 2013 13th International Conference on Quality Software 978-0-7695-5039-8/13 $26.00 © 2013 IEEE DOI 10.1109/QSIC.2013.53 65