What is a test plan?
The concept of “test plan” refers to that a comprehensive document which describes the scope, approach, resources, major activities, and schedule of intended test activities. It is kinda like a baseline so that testers or the test team can apply testing based on it and track the progress of the testing project. It documents the strategies that will be used to verify and ensure that a software product meets its design requirements. Usually, it is prepared by test engineers. A test plan includes:
- Scope of the project
- Target market
- Testing cycle start/end dates
- Major roles and responsibilities/overall resources
- Testing environment
- Major risks and how to handle these risks
- Defect reporting and mitigation
- Testing end date
Test plans can have different types:
- Master test plan: a single high-level test plan for a project/product that unifies all other test plans;
- Testing level specific test plan: a plan for each level of testing, e.g. unit test plan, integration test plan, system test plan, acceptance test plan, etc..
- Testing type specific test plan: a plan for major types of testing, e.g. performance test plan, security test plan, etc..
A good website to view about test plan: http://softwaretestingfundamentals.com/test-plan
Test plan VS. Test case
A test plan is a comprehensive document which lays out all the major activities of a particular testing project. It is designed to be a resource or baseline for both testing team and stakeholders.
In contrast, a test case is designed to describe detailly what should the testing team do. It is always used for a singular test scenario.
What is test design, and test execution?
Test design is the act of creating and writing test suites for testing a software. It is the process of creating a set of inputs for given software that will provide a set of expected outputs. Often, testing engineers and analysts should have knowledge of the software, and the essential functionalities of the software that needs to be tested.
Test execution is basically that execute the test we have planned. It refers to the process of executing the code and comparing the actual results with the expected results.
For example, when we’ve got an inventory system which needs to be tested, we need to design and plan how we are going to test it. We should have knowledge about how it is supposed to work and what functionalities it should have. Then we can execute our tests to see that whether the software system is the one that meets customers’ requirements.
Test design VS. Test plan
A test plan, as defined above already, is a document that identifies the major activities that should be done by the testing team to finish the testing project and the stuff related to the testing team and stakeholders. This deliverable often includes the scope, activities, roles, resources, risks, entry, and exit criteria, test objective, etc.. It can also include a test strategy, which outlines the testing approach, and gives generic details for the team to follow. While a test plan gives or assigns specific tasks and responsibilities to team members, the test strategy ensures that anyone is able to execute the tests.
The test design revolves around test themselves, including how many will need to be performed, the test conditions, and ways that testing will be approached. It involves creating and writing test suites for testing a software product.