In this blog I am going to demonstrate different aspects by which we can say When, Why and How Automation saves testing efforts. Click here to read Part: 1
Repetition Vs Functionality under Test:
If we are going to test functionality only once or twice then Automation is not useful, we will land up in investing more money in test design and test data preparation and executing only once or twice.
Now, consider we have project of 14 months, in which first 4 months are invested for test design and data preparation, execution is for 10 months and might be continued further.
We can see from below graph, if testing needs to be performed repetitively over a period of time, then Automation is preferable and cost effective.
Let’s understand the below graph:
If we consider first 4 months, you can see that Automation cost is at its peak (i.e. ranging from $300 to $150), due to test design and data preparation phase. In execution phase i.e. 5th month onwards it is approximately $50 per month. Manual Testing costs are approximately $150 per Month throughout testing cycle.
We can see savings around $100 per month, from 5th month on wards. So, repetition is very important factor in Automation. If you are not going to repeat test execution task then there is no point in Automating testing.
After you confirm the repetition factor, next important thing is to check feasibility else Automation will become wastage of efforts.
Stability Vs Functionality under Test:
Application and test environment stability are also very vital factors in Automation. If we automate the functionality which has either of the below mentioned issue, we might end up with reporting incorrect test results.
- Large variance in Application response time.
- Frequent Test environment issues.
- Application complexity.
Change requests Vs Functionality under Test:
If the functionality under test changes too often, then automation scripts will undergo frequent changes, which will increase the Rework ratio.
Let’s understand this by referring to below graph, in graph you can see that after every 2 or 3 months, there are major changes happening in the functionality which leads to modification in many test scripts as well as addition of some new scripts. After interval of every 2-3 months, cost of Automation increases to $250 (Refer the spikes shown in graph) for which the initial forecast was to invest $50 only.
So, here in this case Automation is not preferable.
We should automate the functionality or software, which is not expected to change significantly in near future.
Timelines Vs Functionality under Test:
If we have very tight project timelines and project is of short duration, then Automation is not advisable, because of project delivery pressure.
If we do not have very tight project timelines and project is of long duration, then Automation is advisable, assuming all other feasibility criteria are met.
Poor scripts designed Vs Functionality under Test:
If scripts are not designed accurately, then it will lead to false test results or even delay in providing test results. Even 100% tests passed, will not guarantee that areas tested are defect free or tested properly.
We should have skilled Automation tester to write test scripts.
Manual intervention required to run Automation scripts:
Manual Intervention should not be required in between test execution process.
In feasibility study of Automation we should check that interconnected modules or system are not waiting for input/output from each other for longer period of time.
Example: If we have scripts which generate orders on eCommerce site, then verify that order details stored. However, if order database gets updated on next day, we may prefer not to automate such dependent module or systems entirely.
If you like this blog, please share it. You can also “Subscribe” to blog, section displayed at the bottom of the page.
Please provide your thoughts in the ‘Comments’ Section