What is the importance of a Good Test Plan & know its components?
Prima facie, a software application appears more validated by the presence of a test plan. Although plenty of IEEE standards are in use by the testing industry, still there is no hard & fast rule to stick to any one in particular. Many times company specific test plans customized to suit ones own requirement prove to be more useful & acceptable to the testing personnel.
A good Tester is the one who prepares a “Test Plan” for every level of testing, and clearly describes its objectives & most important aspect is that he/she operates on it.
The test plan can have several parts but the most important aspect is the simple presence of the test plan itself. Reason being this becomes the starting point from which the entire process gets kick started & it contains the scope of the entire testing assignment. A test plan has systematic outline of all features & functionality that are continuously checked based upon the matrix of responsibilities & risks associated with the process.
An effective test plan comprises of the following 16 essential parts:
1) Test plan identification: A unique identifier is to be allocated so that the test plan document can be distinguished from all other documents.
2) Brief Introduction: A summary of the software to be tested. A brief description and history may be included to set the context. References to other relevant documents useful for understanding the test plan are appropriate. Definitions of unfamiliar terms may be included.
3) Items to be tested: A comprehensive list of software items that are to be tested is to be documented. It is the gist of software application areas that is the object of testing.
4) Features to be tested: A comprehensive list of characteristics of all the items to be tested. These include functionality, performance, security, portability, usability, etc.
5) Features not to be tested: Identifies characteristics of the items that need not be covered under our testing effort along-with brief outline of reasons of not doing so.
6) Approach of testing: It covers the overall approach to testing that will ensure that all items and their features will be adequately tested.
7) Acceptance criteria: It describes the criteria for determining whether each test item has passed or failed during testing.
8) Suspension criteria and resumption requirements: It describes different conditions under which testing will be suspended and the subsequent conditions under which testing will be resumed.
9) Test deliverables: It describes the documents expected to be created as a part of the testing process.
10) Testing tasks: It describes set of tasks required to perform the testing.
11) Environmental requirements: It specifies the environment required to perform the testing including hardware, software, communications, facilities, tools, people, etc.
12) Responsibilities: Identifies the individuals or group of people responsible for executing the testing related tasks.
13) Manpower and training needs: Specifies the number and types of persons required to perform the testing, including the skills needed.
14) Schedule of testing: Defines the important key milestones and dates in the testing process.
15) Risks and contingencies: Identifies high-risk assumptions of the testing plan. Specifies prevention and mitigation plans for each one of them.
16) Approval Responsibility: It defines the names and titles of every individualn who must approve the plan.
Test plans can be created at
1) either the project level – such a test plan is called “Master Test Plan”
2) at subsidiary levels like unit, integration, system, acceptance, etc.