Contrary to popular belief, software testing is not just a single activity. It consists of a series of activities carried out methodologically to help certify your software product. These activities happen in stages and it is what constitutes the software life cycle.
The Stages In The Software Testing Life Cycle
Requirement Analysis
During this phase, test teams study the requirements from a testing point of view to identify the testable requirements. The QA team may interact with various stakeholders (client, business, analyst, technical leads, system architects, etc.) to understand the requirements in detail. Requirements could be either functional, by defining what the software must do, or non-functional, by defining system performance or security availability. Automation feasibility for the given testing project is also done in this stage.
Test Planning
This phase is also called the test strategy phase. Typically, in this stage, a Senior QA manager will determine effort and cost estimates for the project. He/she would also prepare and finalise the test plan. The activities in this stage include:
- Preparation of the test plan and/or the strategy document for the various types of testing,
- Test tool selection,
- Test effort estimation,
- Resource planning and determining roles and responsibilities, and
- Training requirements.
Test Case Development
This phase involves the creation, verification and rework of test cases and test scripts. Test data is identified and created before it is reviewed and then reworked. Activities include:
- Create test cases and automation scripts (if applicable),
- Review and baseline test cases and scripts, and
- Create test data if the test environment is available.
Test Environment Set-Up
The test environment determines the software and hardware conditions under which a product is tested. Test environment set-up is one of the critical aspects of the testing process and can be done in parallel with the test case development stage.
The test team may not be involved in this activity if the customer/development team provides the test environment. In this case, the test team is required to do a readiness check (smoke testing) of the given environment.
Test Execution
During this phase, the test team will carry out the testing based on the test plans and the test cases that have been prepared. Bugs will be reported back to the development team for correction and retesting will be performed.
Test cycle closure
The testing team will meet, discuss and analyse testing artefacts to identify strategies that have to be implemented in the future by taking the lessons learned from the current test cycle. The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in the future.
Need a team of skilled software testers working on your application? Then contact Inspired Testing today.