STLC - Test Planning

A test plan outlines the strategy that will be used to test an application, the resources that will be used, the test environment in which testing will be performed, and the limitations of the testing and the schedule of the testing activities. Typically, the Quality Assurance Team Lead will be responsible for writing a Test Plan.

What does a Test Plan Include?

A Test Plan includes the following.

  • Introduction to the Test Plan document.
  • Assumptions while testing the application.
  • List of test cases included in testing the application.
  • List of features to be tested.
  • The sort of approach to be used while testing the software.
  • List of deliverables that need to be tested.
  • The resources allocated for testing the application.
  • Any risks involved during the testing process.
  • A schedule of tasks and milestones to be achieved.

Important Points for Test Planning

The following points need to be considered for Test Planning in STLC.

  • Ideally, the Test Analyst (Lead)/the Manager prepares the Test Strategy/Test Plan Document.

  • Analysis is more focused on application related data/information.

  • It is the first phase of actual testing tasks.

  • This phase answers “WHAT is to be tested” and “WHAT RESOURCES are required to test”.

  • The basic entry criteria of this phase is provision of Requirement Documents (updated version of unclear/missing/clarified requirements) along with Requirement Traceability Matrix.

  • If automation is in scope, Automation Feasibility Report should be prepared before entering in this phase.

  • The exit criteria of this phase is completion of Test Strategy/Test Plan Document and Test effort Estimation document.

Aspects of the Test Planning Phase

The main objective of this phase is to prepare a Test Plan/Test Strategy document. It includes three major aspects – Scope of Deliverables, Effort estimation and Resource Plan.

Scope of Deliverables

Following activities need to be performed to conclude over the scope of deliverables −

  • Identify suitable engagement and delivery model.
  • Define test objectives, scope of testing, testing phases and activities.
  • Review business requirement and system requirement to identify test feasibility.
  • Define testing process, type of testing and procedures.
  • Define defect management and change management procedures.
  • Identify testing tools, techniques and best practices.
  • Define Risk Analysis.
  • Define automation solution and identify suitable candidates for automation if applicable.

Effort Estimation

Estimation is the process of finding an estimate, or approximation, which is a value that can be used for some purpose even if input data may be incomplete, uncertain, or unstable.

Estimation determines how much money, effort, resources, and time it will take to build a specific system or product. Estimation is based on −

  • Past Data/Past Experience
  • Available Documents/Knowledge
  • Assumptions
  • Identified Risks

The four basic steps in Testing Estimation are −

  • Estimation of the size of the AUT (Application Under Test).
  • Estimation of the effort in person-months or person-hours.
  • Estimation of the schedule in calendar months.
  • Estimation of the project cost in agreed currency.

Resource Plan

Resource plans are the key element in testing phases. These plans are inversely proportional to the time taken by the testing team to complete a particular task. Increasing the number of resources will decrease the number of days of completion for a certain limit after that it will be saturated and increasing the resource will not have much impact and might not lead to a decrease in the completion days.

A Resource Requester, usually a project manager, creates resource plans to ask for resources, track efforts and costs. A Resource manager can modify and approve resource plans before the plans are used.

The normal workflow for a resource plan is −

  • Planning by Project Manager
  • Request raised by Project Manager
  • Approve/Modify/Reject by Resource Manager
  • Complete − Closing the request after sign off by Resource Manager