STLC Life Cycle:
- The Software Testing Life Cycle (STLC)
- STLC yields a step-by-step process to ensure quality software
- It is a process that follows a series of steps or phases, and each phase has specific objectives and deliverables
- The STLC is used to ensure that the software is of high quality, reliable, and meets the needs of the end-users
- Each of these stages includes specific activities and deliverables that help to ensure that the software is thoroughly tested and meets the requirements of the end users.
- It ensures the quality of software applications and provides a systematic approach to testing
- the testing team analyzes and defines the scope of testing, entry and exit criteria, and also test cases
- It helps to reduce the test cycle time and also enhances product quality
Phases of STLC:
- QA team understands the requirements like what is to be tested.
- If anything is missing or not understandable then the QA team meets with the stakeholders to better understand the detailed knowledge of requirements.
- Creating a requirement traceability matrix (RTM) to map requirements to test cases
- Reviewing the software requirements document (SRD) and other related documents
- Interviewing stakeholders to gather additional information
- Identifying any ambiguities or inconsistencies in the requirements
- Identifying any missing or incomplete requirements
- Identifying any potential risks or issues that may impact the testing process
2. Test Planning:
- Is the most efficient phase of the software testing life cycle where all testing plans are defined
- In this phase manager of the testing, team calculates the estimated effort and cost of the testing work
- This phase gets started once the requirement-gathering phase is completed.
- At the end of this stage, the testing team should have a detailed plan for the testing activities that will be performed, and a clear understanding of the testing objectives, scope, and deliverables.
Activities:
- Identifying the testing objectives and scope
- Developing a test strategy: selecting the testing methods and techniques that will be used
- Identifying the testing environment and resources needed
- Identifying the test cases that will be executed and the test data that will be used
- Estimating the time and cost required for testing
- Identifying the test deliverables and milestones
- Assigning roles and responsibilities to the testing team
- Reviewing and approving the test plan
- In this phase testing team notes down the detailed test cases
- The testing team also prepares the required test data for the testing
When the test cases are prepared then they are reviewed by the quality assurance team.
- Identifying the test cases that will be developed
- Writing test cases that are clear, concise, and easy to understand
- Creating test data and test scenarios that will be used in the test cases
- Identifying the expected results for each test case
- Reviewing and validating the test cases
- Updating the requirement traceability matrix (RTM) to map requirements to test cases
- Test the software or application in the same environment
- checking whether the environment is properly running or not
the testing team starts executing test cases based on prepared test cases in the earlier step.
- Test execution: The test cases and scripts created in the test design stage are run against the software application to identify any defects or issues.
- Defect logging: Any defects or issues that are found during test execution are logged in a defect tracking system, along with details such as the severity, priority, and description of the issue.
- Test data preparation: Test data is prepared and loaded into the system for test execution
- Test environment setup: The necessary hardware, software, and network configurations are set up for test execution
- Test execution: The test cases and scripts are run, and the results are collected and analyzed.
- Test result analysis: The results of the test execution are analyzed to determine the software’s performance and identify any defects or issues.
- Defect retesting: Any defects that are identified during test execution are retested to ensure that they have been fixed correctly.
- Test Reporting: Test results are documented and reported to the relevant stakeholders.
- is to ensure that all testing-related activities have been completed and that the software is ready for release
- the testing team should have a clear understanding of the software’s quality and reliability, and any defects or issues that were identified during testing should have been resolved.
- The test closure stage also includes documenting the testing process and any lessons learned so that they can be used to improve future testing processes
- Test summary report: A report is created that summarizes the overall testing process, including the number of test cases executed, the number of defects found, and the overall pass/fail rate.
- Defect tracking: All defects that were identified during testing are tracked and managed until they are resolved.
- Test environment clean-up: The test environment is cleaned up, and all test data and test artifacts are archived.
- Test closure report: A report is created that documents all the testing-related activities that took place, including the testing objectives, scope, schedule, and resources used.
- Knowledge transfer: Knowledge about the software and testing process is shared with the rest of the team and any stakeholders who may need to maintain or support the software in the future.
- Feedback and improvements: Feedback from the testing process is collected and used to improve future testing processes