Tuesday 11 September 2018

Test Automation – Challenges overlooked



                                   Test Automation – Challenges overlooked

To improve is to change; to be perfect is to change often. “-Winston Churchill

This is exactly what the software industry must do to be perfect and thereby succeed. But what is also important is that, the changes reach their customers fast enough and with best in class quality. Continuous deployment and continuous delivery attempts to do exactly this. In fact, in continuous delivery model, as soon as the code is written, it is integrated, tested, built and configured. So now the million-dollar question is that how do we ensure that testing also happens with the same speed? The answer of course is automation. But while we decide on automation, there are lot of challenges that we tend to overlook to achieve this speed.
Maintainability of Automates
With the speed at which we create automate, sometime we overlook the fact that these automates must be maintained in the future. What most of the testers have in mind, is to automate fast, preferably record and playback and to look for a tool which is easy to learn. Sometimes in this race, we forget that these automates must run for long- which means that these scripts should be maintained for quite a long duration.
Focusing only on the test case flow
Most automates, consider test case as their bible while developing scripts. The main and crucial flow is of course automated. But some of them at least tend to forget about negative tests. We must remember that value of a test comes from the kinds of inputs provided and not just the quantity or frequency of the tests executed. Test engineers must be able to find a balance between scripting difficult scenarios and achieving test coverage.
Sticking to one tool
Test automation tools are decided by the test organization by considering many factors like application technology, cost, ease of learning etc. But it is a hard truth that there is no one tool to suffice all testing requirements like UI, Database, functional, security and performance. But due to the various constraints listed above, test engineers narrow down to use only one or maximum two tools. This usually creates a major roadblock, when we have applications with mix of technology. Here the usage of more than one tool could be a solution, but an expensive one.
Having a robust automation framework
Test Automation framework is your overall game plan It is a set of guidelines for creating and designing test cases. It could include coding standards, test-data handling methods, object repositories, processes for storing test results, or information on how to access external resources. In the race for achieving speed and quantity, test engineers sometimes forget the importance to build a robust framework for automation. This could lead to higher maintenance, reduced reusability of scripts, more efforts for reporting etc. Test teams spend lot of time and effort to identify a perfect tool or tools for automating their applications. But to get the best out of those tools, you need to have a proper automation framework which helps you to properly organize and run your whole automated suite.
I am sure most of them would agree that, they have overlooked at least one of those above. It is difficult to address all these challenges during our automation project, but not impossible. With careful planning and a futuristic thought process this can be achieved without compromising on the speed and quantity. In fact, we can even have more efficient, faster and perfect automation suite.