“Software is complex but I’m tired of finding bug after bug that a 5th grader would have turned in. Virtually every technical product these days includes a lot of software. It’s rare that an engineer can write nearly perfect code. Methodical and thorough testing of software is the key to quality products that do what the user expects. Read this book to learn what you need to do!”
Global Software Test Automation is the first book to offer software testing strategies and tactics for executives. Written by executives and endorsed by executives, it is also the first to offer a practical business case for effective test automation, as part of the innovative new approach to software testing: Global Test Automation — a proven solution, backed by case studies, that leverages both test automation and offshoring to meet your organization’s quality goals.
The following is a review from Scott Barber, Chief Technologist at PerfTestPlus.
“Happy About Global Software Test Automation: A Discussion of Software Testing for Executives is an absolute must read for any executive in a company that develops, customizes or implements software. For years, software testing has been notoriously under valued and misunderstood by corporate executives. While leading software testers have been trying to get their message to executives from the bottom up, they have been largely unsuccessful. This book has the potential to change that.
With this book, all it takes is one business trip and you’ll be able to engage in risk and ROI based planning to minimize many of the challenges and expenses your company faces related to software through the efficient and effective application and management of software testing.”
Chapter 6: Strategies and Tactics for Global Test Automation
In this chapter, you will learn the following:
• The benefits of Global Test Automation
• The seven-step process of developing a Global Test Automation strategy and roadmap
In the previous chapters, we have discussed software testing and a number of pitfalls associated with software testing. In particular, we have discussed manual software testing, test automation, and outsourcing/offshoring of software testing. We have also presented a number of suggestions to improve the results in each of these areas, responding to the pitfalls you may experience. In this chapter, we present a comprehensive methodology to address the pitfalls and create a successful test effort.
This methodology entails an array of powerful strategies and tactics for Global Test Automation that creates successful outcomes by intelligently combining manual software testing, test automation, and outsourcing/offshoring of software testing.
What is Global Test Automation (GTA)?
We can all agree that software testing is necessary. We need to test software to be sure that it performs the functions it is designed to perform, under the conditions in which it will be deployed, and in a responsive and user-satisfying manner. We also know that manual software testing, software test automation, and outsourcing/offshoring all inter-relate yet have distinct characteristics with unique issues that need to be addressed. By understanding their pitfalls and suggestions for improvement in these areas, you will gain a fuller understanding of how Global Test Automation can create a holistic solution for your organization’s testing needs.
Software testing takes time and costs money. As an executive, you want to have a strategy that will provide the needed results while saving both time and money. The 2 by 2 chart in Figure 8 shows strategies for saving time and saving money. But how can you save both time and money? That is where the Global Test Automation strategy comes in. It saves time by speeding up the test process, saves money, and provides the needed results.
An Exercise for the Reader
The first step in establishing a test strategy and methodology is to assess where your organization is currently in its test strategy. To help you internalize the material in this chapter and apply it to your organization, we have provided this exercise for you to begin to evaluate your organization’s current test strategy. Please consider the following questions and answer them for yourself in regards to your organization.
1. How much, in terms of percentage to revenue and/or development dollars respectively, do you budget for software testing?
2. What is your percentage of automated tests versus manual tests?
3. What are the three things that you want to change in your testing strategies to optimize the quality of your released product?
4. What are the three things that you want to change in your testing strategies to optimize the ROI on your test spending?
An Illustration of the Issues
After working on this exercise, you see how important visibility is in making management decisions regarding testing. Visibility gives you the power to make the right choices for the strategic direction of your company. You need visibility into the test process to set the best strategic directions for testing, as well. The right quantitative measurements, test metrics, can give you that visibility. Automation alone won’t necessarily provide you with that visibility, but it can help. Automation isn’t a silver bullet, but it’s a part of the solution.
Global Test Automation is an integration of the latest test automation methodologies and technologies with global resource strategies to fully capitalize on the speed and cost advantages of best practices in automation and global sourcing. That is a mouthful, so let us break it down into the critical aspects and discuss each one independently.
Global Test Automation is the integrated solution for:
• Software test automation
• Outsource/offshore software testing
• Global team management
The main problems with manual testing are that it is too slow, too expensive, and does not scale. Software test automation can address these issues, if strategically and skillfully applied. However, so long as applications are meant for human end users, test automation will never entirely replace the need for human testers. No matter how sophisticated test automation tools become, they will never be as good as human testers at finding bugs in an application. Human testers will instantly notice subtle bugs that are almost never detected by test automation, particularly usability bugs. Automated test tools cannot “follow their instincts” to uncover bugs using exploratory and ad-hoc testing techniques. By freeing manual testers from having to execute repetitive, mundane tests, properly deployed test automation enables them to focus on using their creativity, knowledge, and instincts to discover more important bugs.
The steps in creating an effective test automation strategy are to assess your testing capability, define a good methodology, select the proper tools to implement this methodology, and put people in place with the proper skills and training to successfully implement the defined test methodology using these tools. Common problems in test automation include its potentially high cost and inability to obtain the desired ROI due to a lack of high productivity and anticipated savings. Scalability, re-usability, visibility,and maintainability can be problematic.
The Global Test Automation strategy addresses these issues in the four phases of test automation: deployment, production, execution, and maintenance. By providing visibility, the GTA strategy utilizing the Action-Based Testing (ABT) methodology greatly improves manageability, and consequently improves the test coverage and test quality. It also addresses scalability and reusability. These four benefits of GTA (scalability, re-usability, visibility, and maintainability) combine to effect high productivity (see Figure 7 in Chapter 4).
The main problems with outsourcing and offshoring software testing include communications problems due to cultural issues and time zone differences and incorrect skill sets. The GTA strategy provides a structured approach that addresses these problems, including a combination of clear, repeatable and manageable processes, appropriate training, powerful tools, and effective management procedures.
The strategy of Global Test Automation is central to its success. The strategy provides a bridge between the problems of outdated manual testing, attempts to address the speed problems with test automation, and attempts to address the cost problems with outsourcing and offshoring of software testing, with the desired end result being an integrated Global Test Automation strategy that achieves both time and cost savings with the desired testing benefits. Global Test Automation makes use of a combination of powerful test automation technology for distributed teams for speed, world-wide resources for cost control, and best practices in management of software testing.
There are seven steps to establishing a successful Global Test Automation strategy in your organization. The steps are identified below:
1. Assess your testing needs.
2. Align your test process.
3. Leverage automation.
4. Minimize costs and risks of global resources.
5. Select the right tools.
6. Secure/develop competency.
7. Measure, set goals, and optimize.
We will describe each of these steps in the following sections.
We call the strategy development methodology for Global Test Automation “SP3™”, which is named after the first initials of each of the critical elements in the strategy development process. Figure 10 graphically illustrates this concept:
A strategy to integrate people, practice, and process for success—the graphic describes that test strategy consists of inter-relationships between people, process, and practice. Process incorporates the lifecycle of testing. People incorporates the combination of skill sets, communication, and morale. Practice involves methodologies and tools.
To obtain a free PDF copy of the book, please email email@example.com