My other blog (in Hungarian) merhetetlen.blogspot.com

Sunday 18 May 2014

Automation

I really love the autobots, the automatron, the automobile, the automauto, basically everything which starts with auto and end with suffer and pain....

Automation.... our silver bullet, life saver, job saver, mind saver.... I have made and work with a few automation framework (internal), and one thing always happens if you are not paying attention to it... it will be a heavy, massive piece of sh*t... why? you are a test engineer, you are not creating unit tests in these frameworks, so it is pretty sure you will have to implement some business logic (simplified form), you will execute complex, more complex scenarios, because your mind is critical you will do negative, unhappy, sad, destructive tests. You are working in an "agile" environment, trying to follow the code generators (alias developers) support the release, act as an internal customer support (and all these things are fun). You want to deliver the "tests" asap, they want you to deliver the "tests" asap. You try to avoid headaches so you wont revisit any story only if you have to, so you try to be fast, fast, fast....

And meanwhile everyone forgets your/our automation framework is an application as well. It needs maintaining, it must be structured, no code duplication, easy to learn, easy change, but most likely some of them will be true for you, who created it, but not for anyone else...

You end up with a regression test suite running for 4 weeks, because it was not designed to run it in parallel, or to have any kind of run optimization. But to add it you have to change everything. The code is completely unbalanced, some parts are good, others are so crappy you just do not want to open it. And the tests are te same.... some using an old part of the framework, in the others you tried out something else, the latest are working in a different way. It has so many tricks (workarounds) even yourself start to lose track, but you cannot do anything, because the code generators still generating code, you want to follow them...

Solution:
make your framework, your tests from the very first time as they are mission critical applications. Because they are. You cannot be negligent, the execution and the report coming out of your tests will be the most important thing for your team (if not, do not do it at all).