The Ultimate Glossary of Terms About Software Testing Life Cycle
What Is STLC? Case Study You'll Never Forget
->It is a sequence of different activities performed by the testing team to ensure the quality of the software or the product also it is an integral part of the Software Development Life Cycle (SDLC).
->It deals only with the testing phases. There can’t be a standardized testing process across various organizations, however, every organization involved in the software development business, defines & depends on an organization testing phase.
The Evolution of Software Testing Life Cycle Phases
- Test Planning:-
It is an activity of defining the objectives of testing and specify test activities in order to meet the objectives. In this phase, we understand the goals and projects of the client.
To build a Standard Test Plan there are some major tasks-.
- Identify the object and purpose of testing.
- Determine Risk Analysis
- Implement Testing Strategy
- Scope of Testing
- Schedule test analysis/design/Implementation/execution and evaluation
- Determine the exit criteria.
- Test Control
->Test control is a continuous process; we need to compare actual progress against the planned progress and report to the project manager and customer on the current status of testing. Test planning takes into account the feedback from monitoring and control activities, which take place throughout the project.
There are following major task of test control
- The results of reviews and testing are measured and analyzed
- Monitor and document progress, test coverage and exit criteria
- Provide information on testing
- Initiate corrective actions
- Make decisions
- Test Analysis:-
It is an activity, which defines “WHAT” needs to be tested in the form of the test condition. During this phase, we take general testing objectives identified during planning and build test designs and test procedures.
You can start test analysis for a particular test level as soon as the basis for testing is established you can start the test analysis for a particular test level. The level of details to include in the test conditions and the various factors dependent are as follows
- Level of testing
- The test basis details
- The complexity of the software/system under test
- Product/project risk calculation.
- Tools utilized in test management.
- The test process and organization level is set.
- Test analyst skills.
- Client’s and stakeholder’s guidelines.
- Test Design:-
We will create the test cases designing, write test scripts, prepare test data. We will create a test environment ready.
Test design as a process is an incorporation of the Test Manager’s experience of similar projects over the years, testers’ knowledge of the system/functionality being tested and limited practices in testing at any given point.
eg- if you work for a company in the early stages of new product development, your focus will be on uncovering major defects with the alpha/beta versions of your software, and less on making the software completely bug-proof.
The actual testing process is done in this phase. Different types of testing are performed, test results are shared and bugs are logged also, Re-testing and bug closure are also done in this phase. We will come up with test results and bug report in this phase
Test implementation includes the following major activities:
- Developing and prioritizing test procedures, and creating automated test scripts.
- Automated test scripts and designing test suites from the test procedure.
- In order to get efficient test execution results, arrange the test suites within the test execution
- Building the test environment (includes, potentially, test harnesses, service virtualization, simulators, and other infrastructure items) and verifying everything needed has been set up correctly.
- Properly loaded test data prepared in the test environment.
- Between the test basis, test conditions, test cases, test procedures, and test suites- finding, verifying and, updating bi-directional traceability.
- Combining test design and test implementation tasks frequently. In exploratory testing and other types of experience-based testing, test design and implementation may occur and may be documented, as part of test execution.
The following major activities are included in test execution:
- The IDs and versions of the test items or test object, test tools, and test-ware are recorded.
- Compare actual with expected results by using test execution tools by manually executing tests.
- Based on the failures observed, report defects.
- Signing the test execution outcome (e.g., pass, fail, blocked)
- Between the test: basis, conditions, cases, suites, and procedures - finding, verifying and, updating bi-directional traceability.
- Test planning includes checking test logs against the exit criteria.
- Checking if more tests are required to change exit specified criteria.
- Helps in Writing a test summary report for clients.
Test Closure is a documented summary of all the tests performed during the SDLC, it also gives a detailed analysis of defects removed and found.
The document is prepared by the Team Manager/Leader
Test Completion Report contains the following information.
- Test Summary Report Identifier
- Summary Results
- Planned vs Actual results
- A good Test Completion Report indicates quality, measures outstanding risks and identifies the level of a tested software
- Entry Criteria: Test Case Execution report (make sure there are no high severity defects opened), Defect report
- Test Deliverables:
- Test Specifications document Test Plan document
- Test Strategy
- Test Scenarios document
- Test Design standards
- Test Case document
- Traceability matrix
- Test execution reports
- Test logs
- Bug reports
- Test summary reports
- Test Data
- Flow document
- Test Metrics
- Test Status reports
Now testing has become easy by the STLC model, likewise development model this testing model should be defined at everyplace. In any development model, this testing phase/model can be used. so if we talk about benefits that I analyzed are cost-efficient, time-saving, frequent repetition is avoided in any testing application. These deliverables are returned to stakeholders to verify results and testing percentages and to make it bug-free. Suggestions from the team and stakeholders/clients are taken for improvisation. If you have any doubts and queries please drop your queries in the comment section below. Feedbacks are appreciated.