Software Testing Learning Hub

Fit Test Automation in Agile Environment

Automation tester or team always has challenge the do the automation during the sprint. Automation team does not have complete picture of feature at the same time they even don’t know the whether the requirement will be remains the same or not. 

Mainly challenges which team has are like

  1. When to automate?
  2. How much to automate?
  3. How to do estimates?
  4. What should be 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! its not possible! , you can’t do sprint

automation

in same sprint, functionality is not complete till end of sprint.” ,

i agree up to some extend, we cannot 100% of automation  but yes, we can do 70-80% automation for sure. how?

It is most important think to make your automation framework more flexible so that you can able to update your test cases in same sprint and add new test cases of current sprint. and Yes it is possible and doable as well.

Lets Split the automation tasks in two major parts

– Modification of regression tests

– addition of new tests

in most of the organisations, Sprint is usually of 2 weeks, so considering it. so always do the modifications of tests in first week of sprint and start adding new test cases in second week of sprint. by which automation team have some functionality to automate.

Estimation also be divided into three parts:

  • Automation framework modification
  • Modification of regression tests
  • New tests

during sprint planning make sure that you are consider above three cases.

How you can make automation framework more flexible? – while creating the automation framework make sure that, it should gets modified easily and test cases modification should be easily. for this your automation framework may be some what complex but do it. it will helps you in 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 organisations 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 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 life cycle is long enough to justify it
  • When it improves the speed, coverage, and risk mitigation of the project
  • When 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 help everyone upto some extend to plan their automation work in agile environment.