We often hear testers talk about how difficult it is to find time for Regression tests because most of the testing is performed manually. Needless to say, all the tests are of equal importance.
‘Agile’ and ‘Test Automation’ have been the most spoken buzz words in today’s IT scenario for obvious reasons – Systems are trending towards agility to accommodate frequent changes & Testing are being automated to fix issues sooner and save time. Automated tests applied on frequently changing systems will produce no value as it will cost more in maintaining the test cases. Automation is more successful when the system to which it’s applied is not prone to change often.
Now, the question is How do we Automate testing on Agile systems where the test objects are constantly changing with refinement over several sprints? OR; how do we create a sustainable architecture for automation which works well even in agile development. Frequent and High-quality deployments can be achieved only by automated testing.
With each sprint comes new functionality and consequently the test cases for System testing and Regression testing will grow and need to be revisited. Hence, it’s important to ensure unmodified code /functionalities are not affected by new changes going into the system. Receiving high-quality rapid feedback is something that drives Agility. And you will agree that performing comprehensive tests manually in every sprint is a herculean task.
It is important to understand that we cannot automate everything right away. Instead, it’s recommended to strategize and focus on what’s worthwhile to automate.
Let’s address a common question – How to identify what needs to be automated and how do we prioritize the factors?
The benefits of automated testing are manifold –