Do you think IIT Guwahati certified course can help you in your career?
No
Introduction
STLC stands for Software Testing Life Cycle. Software Testing is an approach to testing software products. It ensures that the software products perform up to the standard expectations. It also helps identify and remove defects and errors from the product. This life cycle has various phases. One of the phases is in which we execute the test cases to reveal the results of the product's performance finally.
In this article, we will study the STLC Test Execution phase. Let us first understand the meaning of the test execution phase.
What is STLC Test Execution?
STLC(Sofware Testing Life Cycle) has multiple stages for testing the software product. These stages are requirements analysis, test planning, test case development, test environment setup, test execution, and test closure.
Test Execution is the phase where the previously made test cases and test environment setup are put to use, and finally, test cases are executed to check the results. Here, the calculated results and the expected results are matched. The testers carry out this process, and errors or bugs are reported to the development team for correction. This way, the software product becomes more robust, and the quality of the software increases.
Factors Affecting STLC Test Execution
Now, certain factors affect the STLC test execution phase. Let us discuss them one by one.
Code: When the tests are designed before the execution process, writing minimal yet sufficient and efficient code is very important. It ensures that the testing cost and time taken in the test execution decline. Also, the maintenance team should be well able to understand the previously written code. Afterward, when the team re-writes the code for improvement, we call it TDD(Test Driven Development). We can see its flow in the image below.
Testing Team: The team responsible for executing the test cases for the software product affects the process deeply. The team members should be skilled, patient, motivated, and competent enough to handle the process. Also, the team members should be able to connect, communicate, and work together efficiently.
Quality Assurance Environment: The dedicated testing environment for executing the test cases on the software is a necessary part of the process. The environment should enact as different types of consumers as possible in real life for real-time bugs and errors that may arise.
Test Cycle: It is a culmination of tests, test suites, and test cases to achieve specific goals. They have a wider area of scope than a single test case. They can apply to different users and projects. They have defined beginnings and endings. It helps in keeping track of actual performances in specific periods. Examples include regression testing, end-to-end tests, etc.
Test Script: A test script is a detailed line-by-line explanation of a test case the tester requires. It provides the tester with the necessary information for executing the test case. It also provides the expected result values for that test case so that the tester can compare the actual and expected results.
Activities Performed in STLC Test Execution
Now that we have studied different factors affecting the STLC test execution let us understand its working. The Quality Assurance team performs various kinds of testing to check the quality of the software product. Afterward, if found, any error or bug is reported back for correction.
Mainly the steps are divided into three parts: preparation, execution, and evaluation. Now, we will examine the main activities performed during the STLC test execution phase.
System Integration Testing: Here, the product is evaluated regarding the system's compliance with it. It is a black-box testing approach to check the system’s response to the required test cases and other necessities. In this process, after the integration, there are mainly three types of data flow: within the integration layer, within the database layer, and the application layer. In this step, the testers try to find as many bugs as they can for the betterment of the product.
Reporting of Found Defects: If any issues, errors, or bugs are found during the testing process, they are reported back to the development team so that they can solve them and make the product more efficient than before. It is also done by customers’ feedback or the client’s feedback.
Defect Mapping: If some defect arises and is reported, it must be mapped to its corresponding test case, which helped in finding it out and finally debugging it. It is also mapped with specific requirements in the Requirement Traceability Matrix. Once after testing, all the defects are reported, logged, and mapped; stakeholders can analyze and sort them based on severity and then take further actions.
Re-Testing: After a test case fails and is reported and mapped, it is important to check again for that particular test case's result and find whether it matches the calculated range. It is vital to step further from the reported test case and check the updated code in the product to check whether it passes the case where it previously failed.
Regression Testing: When all the test cases are executed, checking is done. But, these tests test the software product based on different requirements and previously made test cases. But, finally, one more test is required to check that the updated code succeeds with other functionalities too. It means that the new code should pass the reported test cases and, simultaneously not hinder the successfully passed other test cases. It is of two types: regression testing and final regression testing. Standard regression testing is explained above. The final regression testing validates that the product has not been changed for a specific period of time, so all the functionalities should work as expected, and the product is duly delivered.
Also, it should be noted that the STLC test execution process is iterative. Thus, it can be repeated multiple times to fix all the defects. Finally, the product is ready to be delivered after all these iterations.
Afterward, the main result categories of a test case are: passed, failed, error, and inconclusive. After one testing cycle, any of these results can appear, and then the team works accordingly.
We can see the overall flow of STLC test execution in the image below, displaying all the steps discussed above in detail.
Frequently Asked Questions
What is STLC?
STLC stands for Software Testing Life Cycle. Software Testing is an approach to testing software products. It ensures that the software products perform up to the standard expectations. It also helps identify and remove defects and errors from the product.
What is STLC test execution?
Test Execution is a phase in STLC where the previously made test cases and test environment setup are put to use, and finally, test cases are executed to check the results. Here, the calculated results and the expected results are matched.
What are the different factors affecting the test execution process?
The different factors which affect the STLC test execution process are the code written, the quality assurance environment, the testing team, the test cycle, and the test scripts. All these variables directly affect the efficiency of the test execution process and should be managed thoughtfully.
What are the different stages in the test execution process?
The three stages in the test execution process are preparation for testing, the leading testing, and the evaluation of results. Sincerely, there are system integration tests, defect reporting, defect mapping, re-testing, and regression testing.
Conclusion
Software testing is a crucial part of the software development life cycle. It is essential to execute the testing process sincerely so that the software product is free from defects and errors that can arise in its operation. It also increases the quality of the product. In this article, we studied the STLC test execution phase. We looked at some significant factors affecting this process and the main activities to be performed for executing the testing process.
If you wish to dive deeper into this domain, do read the following articles: