Outsource Testing Parul Gupta1 and Tripti Sharma2 Ideal institute of Technology, Ghaziabad, UPTU, Lucknow 1parul.bmiet@gmail.com, 2tr_sharma27@yahoo.co.in Abstract: As organizations expand globally, demands on IT departments increase exponentially. To meet these demands, many companies outsource IT services offshore. The traditional focus has been on cost savings due to the increased availability of lower cost skill sets in global locations. Companies often transition offshore aggressively to capture cost savings quickly in response to declining margins. Outsourcing firms offer other advantages and benefits that may have been previously overlooked, including cost savings. This paper provides an overview of the flaws of global outsourcing and how we can overcome those flaws. The common flaw in global sourcing programs are: excessive focus on costs is commonly undermining global sourcing relationships and wasting important opportunities for companies to improve quality of service, increase productivity and shorten time to market. Keywords: Outsourcing, global IT outsourcing, off shoring, cost saving, quality of service. 1. INTRODUCTION Outsourced testing is on the verge of a major boom. Quality is expensive for organizations to invest in, and outsourcing is making inroads in several discrete areas of testing. Companies should look to outsource testing as a quality gain, not just a cost savings. Higher application quality, greater flexibility in staffing, and, yes, reduced staffing and tool carry costs are the primary benefits provided by testing outsourcing. However, organizations must realize that outsourcing can result in the loss of customer private information, increased collaboration time between development and testing, and may require process changes to core development activities. In this paper we recommend following Forrester's testing outsourcing decision path to determine what testing to outsource, focusing on certain core competencies when choosing an outsourcer. IT's continuing push towards cost reduction has led to the burgeoning of the outsourcing industry. II. BENEFITS OF OUTSOURCE SOFTWARE TESTING Outsourced Testing is a surprisingly wide-ranging subject area, as there are multitudes of testing tasks that can be carried out by a third party, from test strategy development to penetration testing. While acquiring testing services from outside contractors isn’t unusual, its importance has increased considerably, as have the importance and maturity of testing itself. This is shown by the fact that the test outsourcing market is no longer driven solely by independent testing companies. All the major outsourcing companies now offer testing services as well. Through outsourced testing, the following main benefits can be achieved: Speed up testing:: Test execution, located at the end of the software development life cycle can be a bottleneck, especially if development is already late. To make the most of the time available, a thorough test preparation and readily available testing staff are needed. These resources can by procured by an outsourcing provider. Also, in some cases testing can be sped up by taking advantage of the time zone differences, testing at night what has been developed or debugged during the day. Improve quality: The need to adhere to a formal testing process and to provide a proper test basis in the form of well-documented and stable requirements will result in finding more bugs, therefore improving the quality of the end product. In addition, some of the bugs will be found earlier, when analyzing the requirements or reviewing the test cases. Reduce testing costs: The main driver for outsourcing is often cost reduction, by moving operations to low-cost countries. Also in testing, costly IT and business resources can be freed from repetitive and time-consuming test activities as, for example, regression testing. The improved software quality can also lead to cost savings. Trends in the IT industry for the past few years demonstrate that companies are seeking to reap the benefits of outsourcing IT application development. Countless examples exist of corporations outsourcing their software development needs, call centers, data centers, hardware purchases, system support, help desks, etc. Testing is another area of IT that is rapidly being outsourced. Companies are outsourcing test case executions, test script automation, and test case development tasks to offshore based companies, independent contractors, niche QA companies, and system integrators. Outsourcing approaches vary widely. Some companies outsource manual testing needs, while other companies outsource testing tasks. Regardless of the approach, outsourcing a company's testing needs can militate strongly in a company's favor by lowering costs while delivering reliable testing results. The following 1 AKGEC JOURNAL OF TECHNOLOGY, vol.1, no.1 sections explore the benefits of outsourcing testing. Minimize Costs: Hiring full-time testers involves providing them with company benefits and training which is a costly and time-consuming venture. Furthermore, recruiting costs for qualified full-time testers are additional. Companies looking to cut costs should seriously look into outsourcing as a cheaper alternative. The cost of employing a tester from an outsourcing firm with specific testing experience in a given industry or with a particular test tool is far cheaper than the cost of hiring in-house testers. Outsourcing firms lower testing costs by offering testers and testing solutions at a percentage of the cost of hiring full-time testers. Furthermore, outsourcing firms have libraries and repositories of automated tests that can be leveraged or recycled for other testing needs, which also lower the costs of various test automation tasks. III. WHAT TO OUTSOURCE Outsourcing resource- and time-consuming test activities, not only allows for greater capacity, scalability and flexibility, but also has the additional benefit of an independent validation. By that I mean testing that is not carried out by the development team itself (typically unit & integration testing), but by a separate test team. intense test types like load & performance, usability and security are best outsourced to a specialist organisation, on a case-by-case basis. Test Activities: Defining what activities within the test process should be outsourced (e.g., test planning, specification, execution and reporting) requires a strategic decision on how much control and knowledge is given away. It can range from test execution only, to performance of the whole process. Not only do you have to decide on what parts of testing to outsource, but also which projects are most suited for it. If it is the first release of a totally new application, it may not be ideal to outsource its testing. However, if the project is an enhancement version of a stable product, with existing test cases, it would be a very good candidate. Possible selection criteria include: technical complexity in-house know-how maturity of requirements and test cases availability of test data . A typical example of such an analysis is shown in the figure 1. But greater and/or cheaper capacity isn’t the only reason for outsourced testing and a strong case can be made for outsourcing testing tasks that require specialist know-how, for which you don’t have the skills or only need on a oneoff basis [5]. When deciding on what parts of testing to outsource, you will have to look at it from different angles, mainly at the dimensions of test levels, test types and test activities: Test Levels: Low-level testing (Unit & Integration test) is generally carried out by the developers themselves. If development is outsourced, these activities are outsourced with it. System testing on the other hand can be performed by an independent test team and is therefore an excellent candidate for test outsourcing. Finally, Acceptance testing requires business know how (for user acceptance) and a production-like test environment. It is therefore difficult to outsource. Test Types: Generally speaking, all types of testing, both functional and non-functional, can be outsourced. By its nature, regression test is a good candidate for cost saving, because it involves regular repetition and test automation. Know-how Fig.1 IV. HOW TO OUTSOURCE Outsourcing is never a simple task and many such efforts will fail because they haven’t been managed thoroughly. Unrealistic expectations, the selection of the wrong partner and communication problems are common reasons for failure. It is therefore imperative to use a well-thought out 2 OUTSOURCE TESTING and planned procedure, that makes use of best practices and actively addresses the risks involved. In the first phase, graph (b), you have to look at the feasibility of your outsourcing effort. Beside the decision on what to outsource (as discussed previously), this includes the assessment of the maturity of your test process. Outsourcing is seldom a solution for internal process problems. On the contrary, the problem is outsourced and stays unresolved or even becomes accentuated. Identify and address these deficiencies first. Outsourcing may still be possible but might involve additional costs [5]. This leads us to the calculation of a rough business case. Consider different outsourcing options, from bringing in external testing experts to setting up an offshore development center, to find the most cost-effective alternative. If you decide that it is all worthwhile, you can start the search for a suitable outsourcing partner by developing a request for proposal and inviting offers. It is important to look not only for testing know how, but also for product and technology knowledge. This will result in a steeper learning curve, allowing you to become productive sooner. up the infrastructure. Start with a small number of projects, to gain experience. All going well, the transition phase will lead you to steady state operation, typically within 6 to 9 months. Important Aspects for Successful Outsourcing: It is recommended that one should consider the following points when deciding whether to outsource a project or application for testing. First, consider the nature of the project or application that you are considering outsourcing. If the project is an enhancement version of a stable product, with existing test scripts that could be used by the outsourcing partner, it would be ideal to outsource. However, if it is the first release of a totally new application, it may not be ideal to outsource the testing. For example, if there are major problems with the application, testing is not going to solve them, and if your testing partner encounters a large number of serious errors the test coverage will probably be lessened. Last, carefully consider what you expect to achieve by outsourcing. In all likelihood, outsourcing will never (and probably should never) completely do away with the necessity to have in-house expertise, so you should consider the loss of knowledge and hands-on experience that your test team will lose. V. FLAWS IN OUTSOURCING Not many outsourcing collaborators realize that the seeds for outsourcing failure is often sown at the time of due diligence. Often spending very little time on due diligence in the contract negotiation process in a bid to 'hurry up' the negotiations leads to this monumental pitfall. Five areas where outsourcers should apply more thought before taking the plunge: Unrealized cost savings: Most businesses push work overseas in the hope of cutting labor costs. An application maintenance worker in India, for example, earns about $25 per hour, compared with $87 per hour in the U.S., according to Gartner. But businesses make a mistake by looking at salaries alone. Fig.2 showing different phases of the procedure of ‘How to outsource’. The selection of the provider will then kick off the transition phase. It is all about paper work and getting to know each other. While the lawyers do the contractual work, start defining the governance and split of work, as well as setting to gain experience. All going well, the transition phase will Hidden expenses for things like infrastructure, communications, travel and cultural training take a bite out of the wage differential. What's more, planning and start-up costs are high, so offshore deals lasting less than a year may not pay off at all, and savings from longer-term deals will emerge slowly. Loss of productivity: Staff at an offshore service center probably won't be as productive as internal staff back at home, at least not initially. Gartner offers several reasons: 3 AKGEC Journal of Technology, vol.1, no.1 Staff turnover can be high in competitive off-shoring markets such as Bangalore, India, which also means programmers there may be new and inexperienced. And service centers overseas struggle with ambiguities in the work they are assigned and shifting directives. Sending jobs overseas can also lower morale at home, creating a drag on output. Poor commitment and communications: Senior executives often drift out of the picture once a deal is signed. But they need to stay engaged to keep morale high and strategy on track. And good communications among all parties is paramount. Projects, goals and expectations have to be defined clearly and in detail. On the home front, managers need to explain clearly why work has been sent overseas and what benefits are expected. Cultural differences: Communication styles and attitudes toward authority vary from region to region and those differences can cause problems. In some cultures, questioning authority is considered disrespectful, so a team may push ahead with a given plan even if they see a better approach. Offshore should get expert advice about a local culture, provide cultural training and even arrange exchanges among staff on both sides. Lack of offshore expertise and readiness: Some organizations make the leap before they are ready. Offshore need to get everything in place internally and secure the support of key stakeholders in the company before launching a project. They should also figure out the risks and how to mitigate them. Here are the reasons why due diligence is critical. Outsourcing is akin to acquisition. IT Outsourcing (ITO), for example, essentially involves the acquisition of the client's IT department (or portion of it) by the vendor. The vendor, selected by the client as the result of a competition, acquires in some cases the physical assets, such as computers, peripherals, networks, etc., assumes the responsibility for third party licenses and procurement functions, and usually hires the employees from the client. This is exactly what happens during an acquisition. The only difference is that the client enters into a time bound contract with the vendor to provide back the services previously delivered by the client's IT department. As with an acquisition, outsourcing requires sound due diligence and the process used should not be any different that those used in an acquisition of company. Due diligence is done to confirm the baseline initially set by the client during the RFP phase and subsequent negotiations. Pay Attention to Dependencies and Quality of Current Test Artifacts: A successful outsourced automation requires that project dependencies are well understood by all stakeholders. Access of application from offshore, access to testers/developers/ SMEs on test cases, Access to reviewers and code acceptance people are few dependencies that one needs to track as part of project [6]. If automation is on the basis of existing manual test cases- make sure that these are detailed enough and available in a form that can be sent across to vendor offshore team. Offshore Outsource Improvement Many organizations have offshored their software testing with varying degrees of success. Some have worked well. Many others have struggled and it is not uncommon to find organizations that have onshored their offshore resources or are simply having difficulty realizing the value from these outsource deals that the business case outlined. We have provided our offshore testing improvement service to a number or organization across different sectors to help them improve their results and migrate back offshore their software testing activities. REMARKS What is the quintessence? Outsourced testing can speed up testing, improve quality and reduce costs. But, no big surprise, it won’t fall into your lap – it requires a well-managed effort before, during and after the transition. Firstly, define the channels of communication. Appoint a person from your company, to act as the first level of contact between your company and the outsourced partner, who will deal directly with an agreed specified person on their side (ideally the test manager for the project). These two people are the first-level team for resolving problems as they arise, and additionally your representative also provides and archives all information passed to the outsourcing partner. Secondly, agree escalation procedures, and specify to whom the problem is to be escalated to - on each side. Set out milestones – but beware when setting milestones, that YOU are the ones who state whether the outsourced testing company has reached the milestone or not – for example, if one milestone is the production of the test plan, if you are not happy with the test plan then you must be in a position to state that they have NOT reached the milestone. Otherwise you could end up in a position whereby they gave you a test plan that you considered inadequate, yet they are looking for payment for reaching the milestone. To cater for 4 OUTSOURCE TESTING this, and other concerns, it is vitally important to specify formal review points – stages at which progress can be measured, and where issues can be highlighted. V. REFERENCES [1] “Outsource Testing For Quality Gains, Not Just Cost Savings” by Uttam Narsu on July 12, 2004 in Forrester magazine. [2] ISTQB Standard Glossary of Terms used in Software Testing http://www.istqb.org/ [3] “Outsourced Testing–Friend or Foe?” Published: Oct 08 2008 by martinig via methodsandtools.com. Tripti Sharma obtained Bachelor of Engineering in Computer Science and Engineering stream from GLA Institute of Technology & Management, Mathura, in 2003. Then she obtained Master of Technology in the same stream from U.P. Technical University, in 2009. She has seven years of experience in the field of academics. Has published over ten research papers [4] “The effects of global outsourcing strategies on participants attitudes and organizational effectiveness” In International Journal of Manpower 2000 , Volume: 21 by Dean Elmuti and Yunus Kathawala [5] “Making the decision to outsource human resources” In Journal - Personnel Review: 2009, Volume: 38 by Jean Woodall, William Scott-Jackson. [6] Chapter 16” Moving People or Jobs? A New Perspective on Immigration and International Outsourcing” in Book Series: Frontiers of Economics and Gloabalization 2008, Volume: 4 Page: 317 – 327. Chapter URL: http://www.emeraldinsight.com/10.1016/S1574-8715(08)04016-5. [7] “The Benefits of Outsourced Testing”, http://members.tripod.com/bazman/index.html. [8] “Primer on Outsourced Software Testing “by: Thinksoft , published on sep 02,2005. Parul Gupta is Senior Lecturer in Ideal Institute of Technology, Ghaziabad with six years of teaching experience. While teaching, she presented and published various national and international papers. Currently, pursuing M. Tech (IT) from Karnataka University, Mysore. Obtained B.E (IT) from Maharishi Dayanand University, Rohtak. She is a certified Software Tester from Webtek Labs Pvt Ltd, New Delhi. Completed certification in Web designing. Currently she is carrying out research in Software testing for the upcoming conferences. 5