What is Agile Testing?
Vivek Jayaraman
1st Mar, 2019
What is Agile Testing?
Increase in test case count every sprint, waiting for developers to complete the task to start testing, unable to achieve the benefits of automation and the results are likely that it’s time to switch to Agile Testing. Many of us have the same question in mind about “What is Agile Testing?”.
Agile doesn’t exactly say what Testers and testing must do in Agile Software Development. Keeping Agile principles in mind, we need to understand that keeping Testing as one of the phases in software development doesn’t bring Agility. Testing is considered an activity and not a phase in Agile software development practices. Just like coding, testing is just an activity to ensure the quality of the product.
Test cases are magic beans, isn’t it?
Test cases are becoming an increasing risk in maintenance with the exponential pile-up in the sprint after sprint. It’s like sowing a magic bean and watching it rise sky-high and couldn’t do anything about it. With the increasing amount of test cases in the product, regression testing becomes a nightmare without much automation to support it. Agile testing advocates testing the behavior of the product than spending time writing test cases and maintaining it. Specification by example is a powerful way of testing the behavior of the product features by automating what is necessary.
The automation pyramid clearly states that we need to spend more effort in automating the unit level, service level, Component level, and integration tests than spending time on UI testing. Many of the traditional automation methods still focus on UI automation than service-level automation. Writing down examples in agreement with business personnel and automating them even before development is complete is an efficient mechanism for building Quality inside the product.
Specification by example
Behavior-driven development aka BDD is an efficient way to test the functionality of the product without worrying much about the user interface. Automation is done for the specific feature and its Behavior rather than the complete UI/functional flow. Automating everything up front helps in saving time for other types of testing like exploratory testing and non-functional testing. BDD helps you eliminate more documents related to testing, even test cases. Specification by example is also called living documentation because the examples and automation code are glued together. Updating the examples with behavioral changes needs changes in the automation code as well. So, at any point in time, the key examples and the automation code will always be in sync, and hence living documentation
Test Quadrants
There are a variety of testing types available and there is more non-functional testing to be done. As much as quality should be ingrained into the product, all this testing needs to be done in a very limited timeframe. The Agile test quadrant explains what type of testing is technical, and functional helps the team, helps the business, when to do what, which type of testing should be automated, which type of testing should be done manually, which type of testing uses tools, etc.
With 11+ years of experience in the field, Leanpitch has successfully upskilled 90,000+ people across 12+ countries. Explore our website, Our trainers are internationally acclaimed for their insightful and experiential training.
You are already a step ahead. Keep learning and growing!