Testing in Agile with Implemenation of Test automation and Test Data Validation
The era of Agile development requires more automation testing with hybrid style and testers to be part of scrum team with no difference in dev and test i.e. testers requires extensive development knowledge in the scrum team.
Many of us might have encountered issues with automation as it looks that it has never achieved the ROI anticipated at the start of automation because of changes and maintainability of automation suite because of which many of us just give up on test automation out of frustration and returned to reliable manual testing.
Why the change is needed in our test approach, the world has changed a lot, we are now talking about Big Data and the volume of data being extracted/fed to the applications, applications getting integrated with several other applications, UI has become mobile/responsive. Now its high time to change the automation style as well to match the faster delivery achieved by CRM/CMS products. Because of all changed environment development takes very less time to develop complex flows and we testing team has to match the speed without “ass u ming” that these changes have not impacted other areas of the application.
We all might have observed that data validation on sampling caused a lot of issues to us, changing the business rule has impacted other areas of business as well, we might have saved some time with Risk-based testing due to unavailability of automation but why not increase our coverage for more confident releases. Using sampling approach, we are comparing less than 1% of the data but there is no practical way to manually verify all of the data. Moving from one environment to another cause a lot of missing functionality with requiring more validation of features. Automate to compare every data set for any data migration activity, try to feed all possible permutations and the combination of data using automation, validate the feed on the UI, verify the customization on UI with respect to test data as well.
Test automation is a cost-effective way of testing those changes which are stated as implemented correctly and following are some key notes to proceed with your automation.
• Choosing tools that best fit the requirement be it open source or commercial
• Automate tests that are going to be repeated at least 4 times during the product lifecycle
• Write repeatable test independent of test data
• Everything can be automated but need to see is it worth spending time and starting off with Test Automation, identify the quick win
and repeatable test cases as test candidates
• Keep the automation simple and integrated with the product so things changes at one place updates automation
• The data-driven automated testing methodology can return investment quickly
• Increase the repeatability of the test using the data set generated based on the schema agreed