adam balusik

automated testing just does not exist ◢

I believe that it all depends upon our private definition of software testing. There are many definitions of what the software testing is and what it is not, and for you probably none of these definitions is correct, just like for me, right?! Because you are the tester, and testing is exactly what you do and what do you perform. No tester perform any definition. But, what is "automated testing"? Does it really exist or is it only some kind of a word game? There are many thoughts on the issue all across the web, and this one is mine.

I do believe that no such a thing like "automated testing" exist. Why do I believe that? Because of my definition of what the software testing is. For me, the software testing is not just a practice, it is not a systematic approach, it is not a methodology, it is not an attitude, nor an experience, and it is not an art. And yet, for me the software testing is all of the things mentioned above together: it is practice and it is also systematic approach. It is methodology and it is also an attitude and experience, and of course, software testing is for me a kind of art. I believe that software testing is not just a work, it is also a craft that needs some skills and some mysterious kind of artistic soul involved. So here we are. How can exist such a thing like "automated testing"? Is it possible for some kind of automation perform any act of artistic experience? I do not think so.

We are living in the era of "artifical intelligence" and "machine learning". Every day we can read about new success in the field. So why I don´t believe in the "automated testing" when machines are almost able to act like a men, to think and to feel? I have several reasons:

First, as I said, there is no way how automated script can create any artistic and creative act over an application (or its part) under the test, as the human tester is able to do. The mystery of a real software testing is non-transferable, not able to share. It is a gift. Probably the gift from Prometheus to humankind.

Second, the limitation of automated script is definitive. There is no way, how the script will decide to try something, that is not written into it. It can´t step out of its own limits. A human tester can do this. Even in the step by step testing scenarios, if something is curious, if something unusual will ring the bell of the tester, he or she can check it. Human testers are able to test something new, something unexpected on the path, something beyond. Automated script will not update itself. It will only pass or fail.

Third, until the applications are created for human users, there is no chance that automation will be good enough for covering the whole testing process. Once people become robots, then we can trust the automation. But for now, we create a software for people. And people are unexpected, chaotic and really creative in their actions and in their usage of software we created. So the space for some unexpected and non-welcomed behaviour for automated approach in testing is huge, and absolutely impossible to cover. Human tester is a human being, so the real similarity to our software customer is ensured.

Tools for test automation have a very good reputation, and are able to do many useful things. But still can´t do one thing: these tools are not able to perform a real software testing. These tools are not able to think, to feel and to decide as the users of the software do. These tools perform only software checking. An information is set into the instruction within the testing script, and this very information is checked. This software checking is very helpful and can save a great amount of time, but in the end: it is still only checking.

Someone may say, that it matters not if we call this technique "automated testing" or "automated checking". But for me as the software tester, this difference has a big meaning. I know that only really, thoroughly, and deeply tested software may be considered as ready and shippable to a customer. And checked software is only on its half way to the perfection. Only when software is tested, not just checked, it is ready to be considered as done and ready.

That´s why "automation checking" is not enough in the world of the real software testing, and why do I personally consider the phrase "automated testing" as an insult.

blogs & thoughts

Ⓒ 2017 adam balusik. all rights reserved.