Test Plan: A Test Plan can be defined as a document that defines the scope, objective, and approach to test the software application. The Test Plan is a term and a deliverable. The Test Plan will be designed based on the requirements. While assigning work to the test engineers, due to some reasons one of the testers gets replaced by another one. Here, the Test Plan gets updated.
Test Strategy: The Test strategy outlines the testing approach and everything else that surrounds it. It is different from the Test Plan, in the sense that a Test strategy is only a subset of the test plan. It is a hardcore test document that is to an extent generic and static. There is also an argument about at what levels test strategy or plan is used- but I really do not see any discerning difference.
Test Case: It is a step by step by procedure that is used to test an application. Test case template includes Test Suit ID, Test Data, Test procedure, Actual results, Expected results etc.
Test Script: It is a set of instructions to test an application. It is a set of instructions to test an application automatically.
Test Scenario: It is a way to define all the possible ways to test an application. It is a single statement to cover all possible ways to test an application.
Test Condition: Test Condition is the specification that a tester must follow for testing an Application.
Test Procedure: It is nothing but the Test Life Cycle. There are 10 steps in the Testing Life Cycle. They are:
- Effort Estimation
- Project Initiation
- System Study
- Test plan
- Design Test Case
- Test Automation
- Execute Test Cases
- Report Defects
- Regression Testing
- Analysis and Summary reporting
Test Suite: The Test Suite is a container that has a set of tests which help the testers in executing and reporting the test execution status. It can take any of the three states i.e. Active, in progress and completed.
Test Scenario: Scenario testing is done to make sure that the end to end functioning of software is working fine or all the business process flows of the software are working fine. In scenario testing the testers put themselves in the end users shoes and figure out the real world scenarios or use cases which can be performed on the software by the end user. The testers take assistance from clients, stakeholders and developers to create test scenarios.
Defect: A Defect in Software Testing is a variation or deviation of the software application from end user’s requirements or original business requirements. A software defect is an error in coding which causes incorrect or unexpected results from a software program which does not meet actual requirements. Testers might come across such defects while executing the test cases.