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 carried out with all the development phases i.e. requirements, design and coding and test case generation. Agile testing takes place simultaneously through 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.
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 delivery driven approach because it provides a better prediction on the workable products in less duration of time.
Agile Testing Principles:
- Shortening feedback iteration:
In Agile Testing, testing team get to know the product development and its quality for each and every iteration. Thus continuous feedback minimizes the feedback response time and the fixing cost is also reduced.
- Testing is performed alongside:
Agile testing is not a different phase. It is performed alongside the development phase. It ensures that the features implemented during that iteration are actually done. Testing is not kept in pending for a later phase.
- Involvement of all members:
Agile testing involves the each and every member of the development team and the testing team. It include various developers and experts.
- Documentation is weightless:
In place of global test documentation, agile testers use reusable checklists to suggest tests and focus on the essence of the test rather than the incidental details. Lightweight documentation tools are used.
- Clean code:
The defects that are detected are fixed within the same iteration. This ensures clean code at any stage of the development.
Agile Testing Life Cycle:
- Iteration 0:
It is the first stage of the testing process and initial setup are performed in this stage. Testing environment is set in this iteration.
- Construction Iteration:
It is the second phase of the testing process. It is the major phase of the testing and most of the works are performed in this phase. It is a set of iterations to build an increment of the solution.
This phase includes the full system testing and the acceptance testing. To finish the testing stage, the product is tested more relentless while it is in construction iterations. In this phase testers work on the defect stories.
It is the last phase of the agile testing. Product id finalized in this stage after removal of all defects and issues raised.
Agile Testing Activities:
Agile testing includes the following activities:
- Participating in iteration planning
- Estimating tasks from the view of testing
- Writing test cases using the feature descriptions
- Unit Testing
- Integration Testing
- Feature Testing
- Defect Fixing
- Integration Testing
- Acceptance Testing
- Status Reporting on Progress of Testing
- Defect Tracking
- Difference between Agile Testing and Waterfall Testing
- Difference between Agile and Scrum Testing
- Agile Software Process and it's Principles
- Software Engineering | Agile Software Development
- Software Engineering | Agile Development Models
- Difference between Traditional and Agile Software Development
- Software Engineering | Comparison between Agile model and other models
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Object Oriented Testing in Software Testing
- Difference between Software Testing and Embedded Testing
- Gray Box Testing | Software Testing
- Sanity Testing | Software Testing
- Software Testing | Dynamic Testing
- Sandwich Testing | Software Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.