Test Plan in Software Testing

Learn via video courses
Topics Covered

Overview

The test plan in software testing is a crucial phase in the software test life cycle. After the requirement document from the client is maintained by the manager, the test lead plans the entire test plan phase, which includes the duration of testing, tools used, any training needs for the employees, etc.

What is Test Plan in Software testing?

The test plan in software testing is a testing document prepared by the test manager and test lead before starting the testing process.

They already have understood the requirements of the client. In this document, they lay down the roadmap for the entire testing cycle.

Test scenarios, test coverage, how much would be manually tested, which parts to automate, tools required for automation, the budget of the entire cycle, duration, and calculating if there are any training needs for the employees in the project.

What is the Importance of a Test Plan in Software Testing?

  1. Test plan in software testing is a well-formed document that would be referred to at various stages of testing to keep everyone on track.
  2. It acts as a schedule to refer to.
  3. In case of any contradiction as to why a particular tool is used over the other, everything is measured.
  4. It keeps the client informed about the efforts to produce a quality product.
  5. It is a guide for the next stage of test case development.
  6. Test plans are used to write sprints for AGILE methodology in JIRA.
  7. It helps in predicting the time vs. effort ratio. And in case of delay, how much cost would add to the product?

Guidelines of Test Plan in Software Testing

  1. Prepare a new document for every product.
  2. Keep the test plan updated based on the latest technologies, changes in the tool's price, etc.
  3. The document should be well-structured and point-wise.
  4. It should indicate who is supposed to do what task.
  5. It should be converted into sprint format in test case management systems.

Types of Test Plan in Software Testing

There are three types of test plans:

  1. Master Test Plan: This includes the overall plan, roadmap, and software testing life cycle outline.
  2. Phase Test Plan: As a test plan gets converted to a sprint. Here the focus is on one sprint at a time.
  3. Specific Test Plan: This test plan is around a particular test case scenario or tool. It has details of that one functionality and how it should be tested.

How to Write a Test Plan in Software Testing

test-plan-attributes

While preparing the test plan document, some test attributes need to be defined, which are as follows:

1. Objective: First and foremost, what is the objective of the entire test plan? How much quality in the given time company is aiming at? The extent of testing, duration, which components would emphasize more, and the direction of the entire cycle are listed here.

2. Test Strategy: The test strategy discusses which components would be tested in-depth versus which would be superficially tested. The strategy is designed to optimize the resources, minimize the cost, and have a clear direction for the effort. There are also scopes mentioned which are below:

In-Scope: The components which would be tested in-depth Out Scope: The components where effort in testing would be minimum

3. Testing Methodology: The testing methodology mentions how much would be manually tested, how much would be automated, and the tools and technologies that would be used. Testing methodology is also based on the requirements and objectives of the entire testing cycle.

4. Approach: The approach discusses the priority components that must be dealt with. The components should be tested first, then the ones which follow. It also has two parts: High-Level Scenarios: Here, which component would be tested, like login, payment, etc? The Flow Graph: It talks about the flow of testing as in login. Also, first direct login would be tested, then Gmail, Facebook authentication, etc.

5. Assumptions: In this phase, assumptions are declared, which are as follows:

  • Every tester is trained in using the tool
  • Tester has a clear understanding of the project and requirements
  • There would be continuous support from the development team.

6. Risk: The risk associated with the project are also listed so that everyone is on the same page. Examples of the risk are listed below:

  • If the testing duration increases by a certain time, the impact on the budget.
  • If a tester leaves the company during the testing period, it impacts the company.
  • If the product has some untested bugs, then risk to the client's company.

7. Backup/Mitigation Plan: In case any risk associated comes true, then the test plan document also lists backup options like:

  • If there is a delay in payment by the client, then how to go about it
  • If an XYZ employee leaves or falls sick, then who would handle it
  • If there are new functionalities, introduce how they should be adjusted in the project

8. Roles and Responsibilities: All the responsibilities of every person in testing are listed. Team lead, managers, senior QA, QA. Examples: XYZ employee: UI testing using Selenium would cover login, payment, and blog integration functionalities. PQR employee: API testing using SoapUI would cover the landing page, comments, payment, and login functionalities.

9. Scheduling: The entire cycle would be divided into sprints with the start and end dates. And by that time, all functionalities that should be tested would be listed.

10. Defect Tracking: All the actions that need to be taken in case a defect is found are listed here. Example: JIRA tool would be used, the manager would be XYZ, the screenshot must be attached, the developer should be mapped, and priority and severity should be written.

11. Test Environment: All the hardware, software, and cloud requirements are written here. Nowadays, BrowserStack and Sauce Labs provide hardware as a service so that you can pay per use model for the utilization of resources. One doesn't physically require a system of a particular configuration. Example: software requirement of JDK-15, Selenium 4, Maven, TestNG hardware requirement of windows 10, macOS, 16GB RAM, etc.

12. Entry and Exit Criteria: Criteria laid by the team as to when testing should start and end. Clear guidelines on it are mentioned here.

Entry Condition:

  • The test environment should be setup
  • Development must be done
  • The requirement document must be ready

Exit Condition:

  • All bugs are fixed
  • Code is ready for production
  • RTM has been updated

13. Test Automation: All the test cases that will be automated are mentioned here. The general criteria are:

  • Redundant test scenarios in bulk must be automated
  • Test cases requiring precision must be automated
  • A test case that reduces labor must be automated

14. Deliverables: These consist of all the testing documents given to the client. It consists of a Test plan, test report, and bug report, all the sprint updates, and effort done during the testing are recorded.

15. Templated: A template with all the headings mentioned needs to be prepared for every testing team member during test execution.

Conclusion

  1. Test plan in software testing is a document prepared by the test manager and test lead to lay down the roadmap for the entire testing process.
  2. Test plan provides a schedule to which every testing member can refer.
  3. A new test plan must be prepared for every product and should always be updated.
  4. There are three types of test plan-master test plan, phase test plan, and specific test plan.
  5. Every test plan must have 15 test attributes mentioned above.

Additional Resources

  1. Test Plan vs Test Strategy: What's The Difference?