Agile Testing¶
AGILE TESTING is a testing practice that follows the rules and principles of agile software development. Unlike the Waterfall method, Agile Testing can begin at the start of the project with continuous integration between development and testing. Agile Testing methodology is not sequential (in the sense it’s executed only after the coding phase) but continuous.
Agile Test Plan¶
The agile test plan includes types of testing done in that iteration like test data requirements, infrastructure, test environments, and test results. Unlike the waterfall model, in an agile model, a test plan is written and updated for every release. Typical test plans in agile include
- Testing Scope
- New functionalities which are being tested
- Level or Types of testing based on the complexity of the features
- Load and Performance Testing
- Infrastructure Consideration
- Mitigation or Risks Plan
- Resourcing
- Deliverables and Milestones
Agile Testing Strategies¶
Agile testing life cycle spans four stages
Iteration 0¶
During the first stage or iteration 0, you perform initial setup tasks. It includes identifying people for testing, installing testing tools, scheduling resources (usability testing lab), etc. The following steps are set to achieve in Iteration 0
- Establishing a business case for the project
- Establish the boundary conditions and the project scope
- Outline the key requirements and use cases that will drive the design trade-offs
- Outline one or more candidate architectures
- Identifying the risk
- Cost estimation and prepare a preliminary project
Construction Iterations¶
The second phase of agile testing methodology is Construction Iterations, the majority of the testing occurs during this phase. This phase is observed as a set of iterations to build an increment of the solution. In order to do that, within each iteration, the team implements a hybrid of practices from XP, Scrum, Agile Modeling, agile data and so on.
In construction iteration, the agile team follows the prioritized requirement practice: With each iteration, they take the most essential requirements remaining from the work item stack and implement them.
Construction iteration is classified into two, confirmatory testing and investigative testing. Confirmatory testing concentrates on verifying that the system fulfills the intent of the stakeholders as described to the team to date, and is performed by the team. While the investigative testing detects the problem that the confirmatory team has skipped or ignored. In Investigative testing, the tester determines the potential problems in the form of defect stories. Investigative testing deals with common issues like integration testing, load/stress testing, and security testing.
Again for, confirmatory testing there are two aspects developer testing and agile acceptance testing. Both of them are automated to enable continuous regression testing throughout the lifecycle. Confirmatory testing is the agile equivalent of testing to the specification.
Agile acceptance testing is a combination of traditional functional testing and traditional acceptance testing as the development team, and stakeholders are doing it together. While developer testing is a mix of traditional unit testing and traditional service integration testing. Developer testing verifies both the application code and the database schema.
Release End Game Or Transition Phase¶
The goal of “Release, End Game” is to deploy your system successfully into production. The activities included in this phase are training end users, support people, and operational people. Also, it includes marketing of the product release, backup & restoration, finalization of system, and user documentation.
The final agile methodology testing stage includes full system testing and acceptance testing. In accordance to finish your final testing stage without any obstacles, you should have to test the product more rigorously while it is in construction iterations. During the end game, testers will be working on its defect stories.
Production¶
After the release stage, the product will move to the production stage.