There is no generally accepted model for a world-class software testing organization.
However, analyzing the best testing organizations among the more than 1,000 IT orga- nizations affiliated with the Quality Assurance Institute (QAI) enabled QAI to identify the attributes of the best software testing organizations (see Figure 1-2). Organizations that follow this model report more effective and efficient testing than those that do not.
Figure 1-2 Model of a world-class software testing organization.
Stakeholders Satisfaction
Test Processes
Test Process Improvement Test Environment
• Mission
• Goals
• Strategy
Enabling Competencies
Management of Testing Testing Strategic
Dashboard
Testing Tactical Dashboard
The world-class software testing model includes
■■ Test environment.The conditions that management has put into place that both enable and constrain how testing is performed. The test environment includes management support, resources, work processes, tools, motivation, and so forth.
■■ Process to test a single software project.The standards and procedures testers use to test.
■■ Tester competency.The skill sets needed to test software in a test environment.
The three self-assessments that follow are for the above three attributes of a world-class software testing organization.
N O T E The three self-assessments in this chapter correspond to the preceding three attributes of a world-class software testing organization.
The world-class model of a software testing organization focuses on stakeholder sat- isfaction. This assumes a greater role for a world-class software testing organization than just testing against documented software requirements. Chapter 2 defines the many roles that software testing can adopt; however, those roles include much more than testing documented software requirements. They include testing for quality fac- tors such as ease of use, meeting testing schedules and budgets, and minimizing the risks involved with any software project.
According to the world-class model, the following parties have a vested interest in software testing:
■■ Software customer.The party or department that contracts for the software to be developed.
■■ Software user.The individual or group that will use the software once it is placed into production. (Note: This may be the customer or it may be parties other than the customer.)
■■ Software developer.The individual or group that receives the requirements from the software user or assists in writing them, designing, building, and maintaining the software, as needed.
■■ Development tester.The individual or group that performs the test function within the software development group.
■■ IT management.The individual or group with responsibility for fulfilling the information technology mission. Testing supports fulfilling that mission.
■■ Senior management.The CEO of the organization and other senior executives who are responsible for fulfilling the organization mission. Information tech- nology is an activity that supports fulfilling that mission.
■■ Auditor.The individual or group responsible for evaluating the effectiveness, efficiency, and adequacy of controls in the information technology area. Testing is considered a control by the audit function.
■■ Project manager.The individual responsible for managing the building, main- taining, and/or implementing of software.
The test mission, strategy, and environment must be focused on stakeholder satis- faction. The mission defines the testing objectives; the strategy defines how the mission will be accomplished; and the environment provides the culture, processes, and tools that are conducive to effective and efficient software testing.
The test processes are those step-by-step procedures that the testers will follow to accomplish their assigned tasks. Test processes executed by trained and competent testers enable those testers to accomplish the defined test mission.
The test processes need to be improved continually for two reasons: to make them more effective and efficient to use, and to incorporate updated approaches into testing new technologies and software development methodologies.
The responsibility for ensuring that the execution of the test processes meets the defined test mission lies with management. Management must ensure that testers are following and can accomplish the test plan, and that the plan will, in fact, accomplish the test objectives. If not, management should modify the plan to meet those objectives.
Management and testers need tools to enable them to fulfill their responsibilities.
Two very important tools are the testing strategic dashboard and the testing tactical dashboard. The testing strategic dashboardincludes key indicators such as user satisfac- tion, staff competency, and the percent of tests completed. The testing tactical dashboard includes test indicators such as the number of requirements tested and percent correct, defects uncovered, defects corrected and uncorrected, and the schedule and budget status.
Management must ensure that if you meet the testing tactical key indicators, you will, in fact, meet the objectives defined by the strategic key indicators.
Customizing the World-Class Model for Your Organization
You can customize the world-class model for software testing by defining the attrib- utes of each of its components (refer to Figure 1-2). The material in this book explains the attributes of all the components: stakeholder satisfaction, test mission, test man- agement and enabling competencies are discussed in Part 2. The test processes are explained in Parts 3 and 4. Test process improvement is described in Part 5 of this book.
As you read those parts of the book, you can customize those attributes based on the mission of your organization. For example, in describing a tester’s competency, skill sets for testing COTS software and outsourced software will be listed. However, if your orga- nization does not use COTS software or does not outsource the development of software, you would not need those skills in your testing staff. Likewise, if your testers are not responsible for testing security, you would not need a test processes for testing security.
The three self-assessments included in this chapter are based on the model in Figure 1-2. However, it is recognized that few testing organizations need all these testing capabilities and competencies. Therefore, you need to develop the model that is suited to your test mission.