STRUCTURE OF A SYSTEM TEST PLAN
12.1 STRUCTURE OF A SYSTEM TEST PLAN
A good plan for performing system testing is the cornerstone of a successful soft- ware project. In the absence of a good plan it is highly unlikely that the desired level of system testing is performed within the stipulated time and without overus- ing resources such as manpower and money. Moreover, in the absence of a good plan, it is highly likely that a low-quality product is delivered even at a higher cost and later than the expected date.
The purpose of system test planning, or simply test planning, is to get ready and organized for test execution. Starting a system test in an ad hoc way, after all the modules are checked in to the version control system, is ineffective. Working under deadline pressure, people, that is, test engineers, have a tendency to take shortcuts and to “just get the job done,” which leads to the shipment of a highly defective product. Consequently, the customer support group of the organization has to spend a lot of time in dealing with unsatisfied customers and be forced to release several patches to demanding customers. Test planning is essential in order to complete system testing and ship quality product to the market on schedule. Planning for system testing is part of overall planning for a software project. It provides the framework, scope, resources, schedule, and budget for the system testing part of the project.
Test efficiency can be monitored and improved, and unnecessary delay can
be avoided with a good test plan. The purpose of a system test plan is summarized as follows:
Software Testing and Quality Assurance: Theory and Practice , Edited by Kshirasagar Naik and Priyadarshi Tripathy Copyright © 2008 John Wiley & Sons, Inc.
356 CHAPTER 12 SYSTEM TEST PLANNING AND AUTOMATION
TABLE 12.1 Outline of System Test Plan 1. Introduction
2. Feature description 3. Assumptions 4. Test approach 5. Test suite structure 6. Test environment 7. Test execution strategy 8. Test effort estimation 9. Scheduling and milestones
• It provides guidance for the executive management to support the test project, thereby allowing them to release the necessary resources to perform the test activity.
• It establishes the foundation of the system testing part of the overall soft- ware project.
• It provides assurance of test coverage by creating a requirement traceability matrix.
• It outlines an orderly schedule of events and test milestones that are tracked. • It specifies the personnel, financial, equipment, and facility resources
required to support the system testing part of a software project. The activity of planning for system testing combines two tasks: research and
estimation . Research allows us to define the scope of the test effort and resources already available in-house. Each major functional test suite consisting of test objec- tives can be described in a bounded fashion using the system requirements and functional specification as references. The reader may refer to Chapter 11 for a discussion of the test suites described in a bounded fashion.
A system test plan is outlined in Table 12.1. We explain the ways one can create a test plan. The test plan is released for review and approval after the author, that is, the leader of the system test group, completes it with all the per- tinent details. The review team must include software and hardware development staff, customer support group members, system test team members, and the project manager responsible for the project. The author(s) should solicit reviews of the test plan and ask for comments prior to the meeting. The comments can then be addressed at the review meeting. The system test plan must be completed before the software project is committed.