A blog from the Professor of Practical Project Management

Test Plan

The Test Plan applies primarily to projects that include new and changed software and/or business processes. Doing this planning in advance is key to meeting the target schedule as testing is typically the most time consuming portion of a project. Unfortunately, when many projects are in schedule trouble, testing is usually the first target for cutting the planned effort. Having a solid Test Plan will help mitigate that risk.

There are multiple aspects to the test plan:

Determine the Test Plan Objectives

To identify the activities required to prepare for and conduct testing

To define the test scope, strategy and methodology to be used for the test

To define financial control tests (if applicable)

To identify configuration controls and metrics

To define metrics and status reporting

To identify responsibilities for the tasks included in the plan

To define the test tools and the environment needed to conduct the test

To identify test interactions with other organizations

To identify test customers and deliverables

To identify the major testing milestones

To define the sources of information used to prepare the plan

Define the Test Approach:

Give a high-level description of the approach and activities to be followed in testing the solution. If you are using Agile methods, this is where you will plan the release/test cycles.

Identify the Major Test Responsibilities:

Identify teams and individuals who will be managing and executing the tests. It should also specify their responsibilities.

The Features and Functionality to Test:

This is a high-level description (not the detailed test cases). You should consider the following:

Specific features to be tested

The types of error testing to be performed

The types of stress/load testing to be performed

The type of usability testing to be performed

The type of reliability testing to be performed

The type of recovery testing to be performed

The type of compatibility/migration testing to be performed

The type of security testing to be performed

The types of software and hardware to be employed if testing is to be performed over multiple software and hardware configurations (configuration testing)

Document your thoughts on the test process:

You should consider the following:

How you will define the acceptance criteria

Deliverables – materials that must be made available or created in order to conduct the tests and that will be developed from the tests to describe the test results.

Test Documentation – itemize the documentation you will require in regards to recording the test procedures and results.

Test Data – Where will it come from? How will it be created? Are regular refreshes needed?

Support Organizations – identify all interfacing organizations (Technology Services, Vendors, etc) that are needed to support the testing. Describe what will be needed.

Test Setup, Procedures and Walk-thru – general description of the steps the test will go thru to ensure quality tests.

Tracking and Reporting Status – Define the information test team members will communicate during the testing process. This should include the bug reporting tools and methods as well as a bug classification strategy

Like this:

The Test Plan applies primarily to projects that include new and changed software and/or business processes. Doing this planning in advance is key to meeting the target schedule as testing is typically the most time consuming portion of a project. Unfortunately, when many projects are in schedule trouble, testing is usually the first target for cutting the planned effort. Having a solid Test Plan will help mitigate that risk.

There are multiple aspects to the test plan:

Determine the Test Plan Objectives

To identify the activities required to prepare for and conduct testing

To define the test scope, strategy and methodology to be used for the test

To define financial control tests (if applicable)

To identify configuration controls and metrics

To define metrics and status reporting

To identify responsibilities for the tasks included in the plan

To define the test tools and the environment needed to conduct the test

To identify test interactions with other organizations

To identify test customers and deliverables

To identify the major testing milestones

To define the sources of information used to prepare the plan

Define the Test Approach:

Give a high-level description of the approach and activities to be followed in testing the solution. If you are using Agile methods, this is where you will plan the release/test cycles.

Identify the Major Test Responsibilities:

Identify teams and individuals who will be managing and executing the tests. It should also specify their responsibilities.

The Features and Functionality to Test:

This is a high-level description (not the detailed test cases). You should consider the following:

Specific features to be tested

The types of error testing to be performed

The types of stress/load testing to be performed

The type of usability testing to be performed

The type of reliability testing to be performed

The type of recovery testing to be performed

The type of compatibility/migration testing to be performed

The type of security testing to be performed

The types of software and hardware to be employed if testing is to be performed over multiple software and hardware configurations (configuration testing)

Document your thoughts on the test process:

You should consider the following:

How you will define the acceptance criteria

Deliverables – materials that must be made available or created in order to conduct the tests and that will be developed from the tests to describe the test results.

Test Documentation – itemize the documentation you will require in regards to recording the test procedures and results.

Test Data – Where will it come from? How will it be created? Are regular refreshes needed?

Support Organizations – identify all interfacing organizations (Technology Services, Vendors, etc) that are needed to support the testing. Describe what will be needed.

Test Setup, Procedures and Walk-thru – general description of the steps the test will go thru to ensure quality tests.

Tracking and Reporting Status – Define the information test team members will communicate during the testing process. This should include the bug reporting tools and methods as well as a bug classification strategy