If you had asked me this question when I first started my career as a software test analyst, I would have probably told you that automation had nothing to do with me – it was all those fancy things the automation team used to do with tools in order automate the execution of tests. These days I tend to think of automation as more than that. There’s a great definition in one of the slides for our new Test Automation Course which states that “automation is the use of a tool to assist a manual process”. I like and agree with this definition. Thinking back through my testing career I can see that I have actually made use of automation without realising it. I remember one time when my boss wrote a bit of perl to make analysis of the test output easier so that every time we ran the test we didn’t have to parse through the entire file of over a hundred transactions looking for a particular type. We probably could have accomplished this by hand but his little program sure made it quicker and easier. At the time, I didn’t think of that as automation but, yup, it sure is.
There are heaps of other examples of using automation for more than just generating load for performance testing. It can help us compare files so we don’t have to do it manually. Depending on what we are comparing sometimes it’s even easier to write a bit of code to do it than to use a commercially available product which would otherwise give us a lot of false positives. We can use automation to generate the data for test input, especially if we need to populate the database with certain types of data for our tests. And the list goes on….
These days, for me, automation is anything where the use of a tool helps me to do a manual task. And that tool could be just a bit of code!