Software Testing - Agile Testing
What is Agile Testing?
A software testing practice that follows the principles of agile software development is called Agile Testing. Agile is an iterative development methodology, where requirements evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer needs.
Advantages of Agile Testing
Agile Testing Saves Time and Money
Regular feedback from the end user
Daily meetings can help to determine the issues well in advance
Principles of Agile Testing
Testing is NOT a Phase: Agile team tests continuously and continuous testing is the only way to ensure continuous progress.
Testing Moves the project Forward: When following conventional methods, testing is considered as quality gate but agile testing provide feedback on an ongoing basis and the product meets the business demands.
Everyone Tests: In conventional SDLC, only test team tests while in agile including developers and BA's test the application.
Shortening Feedback Response Time: In conventional SDLC, only during the acceptance testing, the Business team will get to know the product development, while in agile for each and every iteration, they are involved and continuous feedback shortens the feedback response time and cost involved in fixing is also less.
Clean Code: Raised defects are fixed within the same iteration and thereby keeping the code clean.
Reduce Test Documentation: Instead of very lengthy documentation, agile testers use reusable checklist, focus on the essence of the test rather than the incidental details.
Test Driven: In conventional methods, testing is performed after implementation while in agile testing, testing is done while implementation.
Best Practices in Agile Testing
1. Automated Unit Tests 2. Test Driven Development 3. Automated Regression Tests 4. Exploratory Testing