Agile Testing Strategies
1. Iteration 0
It is the first stage of the testing process and the initial setup is performed in this stage. The testing environment is set in this iteration.
- This stage involves executing the preliminary setup tasks such as finding people for testing, preparing the usability testing lab, preparing resources, etc.
- The business case for the project, boundary situations, and project scope are verified.
- Important requirements and use cases are summarized.
- Initial project and cost valuation are planned.
- Risks are identified.
- Outline one or more candidate designs for the project.
2. Construction Iteration
It is the second phase of the testing process. It is the major phase of the testing and most of the work is performed in this phase. It is a set of iterations to build an increment of the solution. This process is divided into two types of testing:
- Confirmatory testing: This type of testing concentrates on verifying that the system meets the stakeholder’s requirements as described to the team to date and is performed by the team. It is further divided into 2 types of testing:
- Agile acceptance testing: It is the combination of acceptance testing and functional testing. It can be executed by the development team and the stakeholders.
- Developer testing: It is the combination of unit testing and integration testing and verifies both the application code and database schema.
- Investigative testing: Investigative testing detects the problems that are skipped or ignored during confirmatory testing. In this type of testing, the tester determines the potential problems in the form of defect stories. It focuses on issues like integration testing, load testing, security testing, and stress testing.
3. Release End Game
This phase is also known as the transition phase. This phase includes the full system testing and the acceptance testing. To finish the testing stage, the product is tested more relentlessly while it is in construction iterations. In this phase, testers work on the defect stories. This phase involves activities like:
- Training end-users.
- Support people and operational people.
- Marketing of the product release.
- Back-up and restoration.
- Finalization of the system and user documentation.
4. Production
It is the last phase of agile testing. The product is finalized in this stage after the removal of all defects and issues raised.
Agile Software Testing
Agile Testing is a type of software testing that follows the principles of agile software development to test the software application. All members of the project team along with the special experts and testers are involved in agile testing. Agile testing is not a separate phase and it is carried out with all the development phases i.e. requirements, design and coding, and test case generation. Agile testing takes place simultaneously throughout the Development Life Cycle. Agile testers participate in the entire development life cycle along with development team members and the testers help in building the software according to the customer requirements and with better design and thus code becomes possible. The agile testing team works as a single team towards the single objective of achieving quality. Agile Testing has shorter time frames called iterations or loops. This methodology is also called the delivery-driven approach because it provides a better prediction on the workable products in less duration time.
- Agile testing is an informal process that is specified as a dynamic type of testing.
- It is performed regularly throughout every iteration of the Software Development Lifecycle (SDLC).
- Customer satisfaction is the primary concern for agile test engineers at some stage in the agile testing process.