Let’s talk about the software testing life cycle (STLC), want to?
Why, you ask? Answer A) Why not? Answer B) Because sometimes leaning too hard on the “F**k it, Ship it” approach is not always the greatest idea if you have set testable requirements in place to make great software even better for your users.
The process of software testing – and testing is a systemic process, not an isolated activity, contrary to popular belief - is an important part of meeting software requirements and specifications.
STLC consists of a series of activities carried out methodologically to help certify your software product and make it as awesome as it should be.
Systemic testing is important because it leads to a faster testing process and enables teams to uncover and address issues more efficiently. Project progress is also easier to track when testing is performed with well-defined goals and phases.
STLC is a testing strategy involving a verification and validation process that can help you efficiently meet software quality goals and standards. STLC enforces systematic testing, which is performed in phases, as opposed to “F**k it, ship it.”
Software Testing Life Cycle is important because it helps teams:
The 6 phases of STLC are:
Each of the 6 STLC phases has defined activities and deliverables as well as entry criteria and exit criteria.
Requirement Analysis, sometimes known as the requirement phase testing, is when the test team studies the requirements and the QA team collaborates with various stakeholders to understand requirements - functional or non-functional - in detail. Automation feasibility for the testing project is also done in this stage.
Activities in Requirement Analysis:
Deliverables of Requirement Analysis:
Entry Requirements of Requirement Analysis:
Exit Requirements of Requirement Analysis:
Test Planning in STLC is a phase in which a Senior Quality Assurance manager determines the test plan strategy along with efforts and cost estimates for the project. The resources, test environment, test limitations, and the testing schedule are also determined. The Test Plan gets prepared and finalized in the same phase.
Test Planning Activities:
Deliverables of Test Planning:
Entry Requirements of Test Planning:
Exit Requirements of Test Planning:
The Test Case Development Phase involves the creation, verification and rework of test cases & test scripts after the test plan is ready. Initially, the test data is identified then created and reviewed and then reworked based on the preconditions. Then the QA team starts the development process of test cases for individual units.
Test Case Development Activities:
Deliverables of Test Case Development:
Entry Requirements of Test Case Development:
Exit Requirements of Test Case Development:
The Test Environment Setup phase helps decide the software and hardware conditions under which a product is tested. It’s one of the critical aspects of the testing process and can be done in parallel with the Test Case Development Phase. The test team may not be involved in this activity if the development team provides the test environment, but the test team is required to do a readiness check (smoke testing) of the given environment.
Test Environment Setup Activities:
Deliverables of Test Environment Setup:
Entry Requirements of test environment setup:
Exit Requirements of Test Environment Setup:
The Test Execution phase is carried out by the testers in which testing of the software build is done based on test plans and test cases prepared. The process consists of test script execution, test script maintenance and bug reporting. If bugs are reported, then it is reverted back to the development team for correction and retesting will be performed.
Test Execution Activities:
Deliverables of Test Execution:
Entry Requirements of Test Execution:
Exit Requirements of Test Execution:
Finally, some closure, right? The Test Cycle Closure phase is the completion of test execution which involves several activities like test completion reporting, collection of test completion matrices, and test results. Testing team members meet, discuss, and analyze testing artifacts to identify strategies that have to be implemented in the future, taking lessons from current test cycles. The idea is to remove process bottlenecks for future test cycles.
Test Cycle Closure Activities:
Deliverables of Test Cycle Closure:
Entry Requirements for Test Cycle Closure:
Exit Requirements for Test Cycle Closure:
So what’s the deal about the differences between software testing life cycle (STLC) and software developing testing life cycle (SDLC)?
Well, Software Testing Life Cycle is a testing strategy that can help you efficiently meet software quality standards. STLC enforces systematic testing, which is performed in phases. But while STLC is focused on testing, SDLC encompasses all development stages.
Although both are related to software development with overlapping timelines, Software Development Life Cycle and Software Testing Life Cycle follow different goals and guidelines. STLC can be performed as a series of steps within the SDLC cycle or can be performed alongside SDLC phases.
SDLC is responsible for collecting requirements and creating features accordingly. Meanwhile, STLC is responsible for creating tests adapted to the collected requirements and for verifying that features meet those requirements.
It’s fine if the SDLC created features that do more than necessary. But if STLC tests do more than necessary, an unnecessary burden is placed on the team.
Both life cycles require the cooperation of stakeholders, DevOps, and testing teams. Without this cooperation, you cannot verify that requirements are properly defined, that tests are relevant, and that results are applied properly.
Secure the quality of your software before you ship it with Shortcut.
Learn more by starting your free trial.
This way, Instead of “F**k it, Ship it” you can just say “Ship it” quite confidently.