Testing services offer software application providers increased flexibility and testing variety in skill levels...
and hardware, at a reasonable cost or at least a variable, menu-driven cost. Testing services provide business value, but you need to consider security, confidentiality and control of resources. This article serves as a brief overview of the advantages of testing services and provides tips on security, test management and ensuring business value.
Testing service companies are cropping up all over the world and offer an impressive variety of testing options. Many large software vendors offer specialized testing services. Both independent and vendor-supported testing services appear to be growing rapidly.
Most testing service companies focus on providing manual test execution at the end of the development cycle -- in other words, beta testing assistance. However, many offer manual testing services during any phase, including requirements review and test case development. Several also offer automated test development for planning, coding and execution.
Many of these companies have in-house teams of software test professionals, and several are conglomerations of independent contractors working literally anywhere there is an Internet connection. When managed well, a distributed group of independent contractors can be an attractive method of providing a variety of test locations, access points and devices. It may be the only way some development teams can quickly test a large variety of situations using multiple devices on different systems.
Beta, load and early release testing
Testing services provide business value for beta, load and other early release testing options. After all, an in-house staff may be overloaded or so experienced with the application they no longer "see" the defects. It's a valid business advantage to use a team of quality analysts to pretest an application thoroughly before a final release. And it's an inexpensive method of getting the application in front of beta users who will find and report defects. Another advantage is that defects can be fixed before any real customer experiences them.
Using a testing service may also provide a form of load testing. Hiring a testing service with teams across the world helps verify that the application can handle worldwide access. A software business may quickly discover the application has load issues in certain parts of the world, something that's hard to accurately simulate with an in-house quality analyst team. On that same note, testing service testers are likely using different networks to access the application and potentially a wide range of devices as well. By default, an application is exercised across a variety of connections, hardware platforms and configurations without any additional effort made by the in-house development or IT team to build specialty quality analyst test environments.
Testing services vary
Testing service companies claim to provide dedicated and experienced quality analyst staff. Many offer dedicated testing teams by project or by test type, such as functional, regression or automation development. Most claim that the customer controls the process and in many cases the motivation of the resources themselves. In other words, it's an in-house team that's not really in-house.
When you're choosing a testing service, verify the experience of the testers first. It's critical to confirm the testers are experienced software testers. They don't have to be quality analyst experts, but it's important they understand and have experience testing software. Software testing is an oddly unique skill that's difficult to find. It's also important to determine if the testing service team members can work with the existing development team without causing duplicate work and constant interruption. After all, if the existing in-house team has to spend too much time training and answering questions, they may have been able to run the tests themselves more effectively and in less time.
Next, it's important to know and understand the testing platform the service uses. Many testing services use a cloud environment controlled and configured by the customer, so access can be managed effectively. In other words, using a cloud-based testing environment keeps the testing service team out of secured areas of the business network. When using testing services, you also need to consider how to handle intellectual property concerns. It's business-critical to ensure non-disclosure agreements are used and enforceable in the countries where the testing service is based. An understanding of international law or at least, advice from an expert is advisable before hiring a non-U.S. based testing service.
Managing testing for quality and value
Testing services generally allow companies to choose control options for managing the testing team. To positively influence overall quality, it's essential that the customer manages the team, including tasks, assignments and defect reporting.
Communication tools will be required for team members to remain in contact and feel part of the overall team. Additionally, plan to provide access and training on defect reporting in order for any defects to be logged and written in a way the in-house team understands. Otherwise, you may end up with a large number of reported defects that are lost because they are not understood.
Plan to provide examples or training on test cases and test case development. You'll want to ensure you're getting test case artifacts that are valid and useful to the business and any future testing efforts. Finally, provide detailed task assignment plans and communicate them to the team. Make sure the business goals are clear, as well as the specific tasks that are needed to perform. Testing is most valuable when it is organized and planned and the strategy is communicated.