Automation tester or team always has challenged the do the automation during the sprint. Automation team does not have the complete picture of the feature at the same time they even don’t know whether the requirement will remain the same or not.
Mainly challenges which team has been like
- When to automate?
- How much to automate?
- How to do estimates?
- What should be the approach for automation? ( what to automate first?)
In Agile, if you are using Scrum, Ideally automation of sprint should be completed in that sprint itself. you may have the question like “come on! it’s not possible! , you can’t do sprint
in the same sprint, functionality is not complete till the end of the sprint.” ,
I agree up to some extent, we cannot 100% of automation but yes, we can do 70-80% automation for sure. how?
It is most important thing to make your automation framework more flexible so that you can able to update your test cases in the same sprint and add new test cases of current sprint. and Yes it is possible and doable as well.
Lets Split the automation tasks into two major parts
– Modification of regression tests
– addition of new tests
in most of the organizations, Sprint is usually of 2 weeks, so considering it. so always do the modifications of tests in the first week of sprint and start adding new test cases in the second week of the sprint. by which automation team have some functionality to automate.
Estimation also is divided into three parts:
- Automation framework modification
- Modification of regression tests
- New tests
during sprint planning make sure that you are considered above three cases.
How you can make the automation framework more flexible? – while creating the automation framework make sure that, it should get modified easily and test cases modification should be easy. for this, your automation framework may be somewhat complex but do it. it will help you in the longer term.
if you not able to do the automation in current sprint follow the second approach. do automation one sprint behind. the advantage which automation team will get here is “completed” tasks/functionality which can be automated. many organizations do it.
while automating the test cases make sure that functionality ready to automate, make business value, gives good ROI and takes less time to automate. always ask QA Lead/Dev Lead what you want me to automate first to reduce your work. which really solves a lot of issues in manual testing.
here are some basic things about automation.
When is it most beneficial to use automated testing?
- When the product is valuable enough to the company to justify it
- When the product lifecycle is long enough to justify it
- When it improves the speed, coverage, and risk mitigation of the project
- When the implementation of automated testing is simple
- When requirements are stable and changes are unlikely
Which components are the best candidates for automated testing?
- Mission-critical components
- Components that have failed and are likely to fail again
- Self-contained components
- Components that allow simple scripting
- Components that require little maintenance
I hope this post helps everyone up to some extend to plan their automation work in an agile environment.