The trend is that businesses want to make their customers happier by delivering faster and with higher quality. At the same time, we have to deal with more devices, more dependencies and complex functionality delivered by systems of systems, which means we actually have to test more than before. These trends that stand in opposition demand a different way of working where we can achieve higher quality faster. One part of this alternative way of working is test automation. Unfortunately, it is not as easy as to just do it and achieve benefits. A lot of test automation efforts fail or do not give the benefits hoped for. To succeed, we need a smarter test automation and here are three ways to achieve this.
Use the five senses approach
Ashwin Yardi at Capgemini has written about the five senses of intelligent automation, and using his approach will make your test automation smarter. The five senses are:
- Watch/Monitor
- Listen/Talk/Interact
- Act/Service
- Think/Analyze
- Remember/Knowledge
Many test automation efforts automate the sense Act/Service. In fact, machines are best at Remember/Knowledge and Think/Analyze large quantities of data. Why don’t start there instead?
Automate according to value
For now, we will not automate everything we do. We should choose what to automate according to what gives the most value. Most times, it is not the execution of test cases. What gives most value depends on our circumstances, so we need to look at our situation to determine the value. The risks will affect the benefit of different automation strategies. These are some examples on what to automate:
- Business Intelligence for test, for instance, to determine what regression tests to run, where there are performance issues, and how user behavior looks like.
- Finding test data fulfilling a certain set of criteria in a large test database
- Generate test data
- Prepare test environment before testing starts
- Check the deploy to test or production environment
Think man and machine
Think man and machine, instead of man, or machine when setting up test automation. There are still some things that humans are better at, as well as things that machines are better at. Think cooperation instead of competition. There are a range of different tools to use from simple all the way to artificial intelligence. Choose the best tool for the specific purpose and make sure the cooperation between the tools and the humans working in the process flows as smoothly as possible. This is not a competition between one or the other, we need both.
The speed of development will not slow down and the demand for high quality will not cease, therefore we have to work smarter. Artificial intelligence is gaining more and more abilities and can be a valuable addition to our testing. The goal of high quality at faster speed can be accomplished by using the human mind and artificial intelligence in combination, getting value from each strength.
Our test automation needs to get smarter, and three ways are:
- Use the five senses approach
- Automate according to value
- Think man and machine
This was some of my thoughts on the matter, and there are certainly more ways to make test automation smarter.
What do you think? How can we make test automation smarter?
Comment and let me know what you think. I’ll appreciate your input.
Thanks!