The Changing Face of Test Automation
Almost every object that has its own identity can be transient when it comes to its own set of behaviors. Nothing stays the same in the tech field. The same is true of Test Automation. This fact presents its own set of problems when trying to build out a solid test suite that will be useful for the company that initiates it.
When testing anything, you need a control group. Control groups should stay the same so that you can derive a clear conclusion of your tests from your experimental group. If this is true, how do you make test automation work in a meaningful manner given things change so often? Further more, for successful automation to work it needs this experimental group to be tested well enough in order to avoid the death of any test automation project....False Positives*.
Engineers like certainty, as well as the consumers who use their products on the daily, whether they be software or hardware based. In the great pursuit of this certainty Test Automation has shown its face. It has become a pressing need for enlightened organizations in order to continue delivering software at lightning speed without a great reduction in product quality. The interesting thing is some companies have not realized the importance and the necessity of this need yet.
What does this mean for the Test Automation Engineers? It means that we now have to consider these changes, and factor them into our test design decisions. It means as test engineers we have to approach solving these automation problems like mad scientists rather than regular QA testers verifying user functionality. It means that our testing algorithms have to become much more intuitive. Gone are the days where we could ensure quality based on basic Pass/Fail results of user features. Why? Because the software we release is no longer uninvolved like it was in the 90's, and those software features will likely change just as quick as they were written. The smarter our software gets, the smarter our testing techniques need to get in order to comfortably tell these companies that their product is ready for a mass audience.
To do this successfully it is a two step process.
- Identify the control group (Why and What are you testing...)
- Design smart algorithms around your experimental group to verify the software under test
In my next blog post I will accentuate this procedure utilizing Real World examples.