How can automation help a tester in creative & useful ways to perform testing more effectively & efficiently? ( other than automating manual test cases)
There could be hundreds of examples, to name just a few:
- automated releases to test and other environments
- test data generation
- performance tests (hardly possible without tools that automate some load)
- text parsing, e.g. I need to create a JSON out of XML, so I use tools for that, I need to change a newline character from CRLF to LF, so I use some tools for that
- templates in ticketing systems like Jira (why to fill everything again and again)
- startup scripts on my desktop (it opens everything I usually need without any interaction)
- I need to change request going to a server, so I use some proxy and match and change the requests I need
- I need to find a file on my disk, so I use
findor some other useful tool
I mean there are hundreds of smaller or bigger tasks we can automate and save time that we can use more fruitfully on exploration.
People usually think that test automation is about creating some difficult flows in the app (on the UI :)), but I find it useful to think about automation in general. If I find that filling my worksheet takes too much time, I'll try to find a way to automate this. Because every 5 or so minutes I can save on such tasks, I can spend in testing and becoming a better Tester.
When we do the regression or sanity test we have to run the same set of test cases over and over again. Investing time of quality engineers time for repetitive work is not productive. If we automate repetitive test cases quality engineering team has time to do more exploratory testing which is creative.
On the other hand we can save execution time from the automation and can ensure testing works are free of human errors to some extend.
Apart from that we can automate time consuming activities for testing data generations and save the time. If we can reduce human execution effort, obviously we can put our creativity and effort on test planning and research areas. This will lead to find some space to implement quality engineering process rather than quality assurance.