In my previous blogs regarding automation, my focus has been using automation for testing and other Quality Control (QC) tasks. However, for a project for the National Park Service (NPS), I recently used automation for a completely different use – the repetitive task of loading 2,500 records into a web application.
Originally, a Database Administrator (DBA) tried to load this data through the backend via the database. However, the results were incorrect because the business rules that are normally applied when entering data manually through the web application cannot be applied when data is force-fed through the backend of the application. So the database had to be restored to remove these erroneous records.
Entering these records manually would be a repetitive task and would have required a huge amount of resources. Furthermore, since this task is not the most engaging, the chances of user error are great.
However, as I mentioned in my blog Automation Testing: Problems, Myths, and Misconceptions to Consider, automation is ideal for “predictable and repeatable sequences of steps.” So I created an automated script using Selenium to load all 2,500 records into the web application so that all of the correct business rules were applied as if these records were entered manually. Not only was an end user spared the tedious and boring task of entering this data manually, accuracy was improved to 100% (or at least as accurate as the data being used for the load).
On average, it would take an end user approximately three minutes to enter one record or 125 hours total (2,500 records x 3 minutes per record). Keep in mind that that is also not counting time for breaks and interruptions, plus time spent fixing errors. To automate this task, two eight-hour days were spent developing the automation code plus another day to load the data at approximately 10 seconds per record (2,500 records x 10 seconds per record ~= 7 hours) for a total of 23 hours (16 hours development time + 7 hours for the load and reporting). That’s over 100 hours saved!
In conclusion, automation is well suited for performing predictable, repetitive tasks with accuracy. Furthermore, as I stated in my blog What Types of Software Testing Can and Should Be Automated, automation “improves team morale by automating repetitive tasks” so end users can focus on more challenging and worthwhile tasks.