Test automation has been evolving and growing with godspeed. Especially, in the past couple of years. However, being the latest buzzword doesn’t make it a silver bullet. Other than the pros that most of us have been praising about related to automation there exists a few cons as well that we should all be aware of before addressing the automation testing.
Main challenges for implementing test automation -
1.Which tool to go for? – We all understand that automation is only as effective as the tool being used for it. Considering how highly tool dependent automation can be, one should do enough market research before opting for an automated tool. You need a tool that doesn’t dull the performance of your software and brings out result faster yet accurate than the others.
2.You can’t automate everything, so how much should you automate? - There is a common misconception where people believe that you can automate everything, but you can not! For example - You will have a very hard time in automating a testing related to Dynamic GUI content – As it is ever changing in accordance with the demands of time and business. Frequent changes may lead some scripts to fail. So you need to give enough amount of time to plan which aspects of your software process should you automate and which ones you should not.
3.Web elements with undefined ID’s - If your scripts are not able to map properly with ID to every web element. Then the automation script may fail after looking for a significant amount of time.
4.False positives and False negatives - A false positive is a scenario where the system is fundamentally working fine but the automation scripts show otherwise. This could cost a tester a huge amount of his time and money for finding something which doesn’t even exist. Vice-versa, a false negative is a scenario where the automation script declares the system to be working fine when in reality, it isn’t! This happens if the initial stage of a database is inaccurate or if test environment settings are abrupt due to network issues.
5.Staff selection - As as automation tester, you need expertise in particular languages over which your product exists.
6.Cross browser compatibility - If you are having a compound website then there will always remain some test cases which won’t get proper rendering in all web browsers. A manual approach is best suited for cross browser testing to realize which Browser/Version/OS/Device your website is unable to deliver its intended functionality. There are cross browser testing tools to help you keep a check on your website’s cross browser compatibility.
7.Parallel Execution of multiple test cases is usually not viable with automation testing. Even when viable, then bug logging and debugging become a strenuous task.
As a part of what I find most challenging is the Anxiety that one has to face while the automation test script is performed. Although, automation is believed to be time effective that also depends upon the number of test cases. In the humongous website, it can even take a day or more for an automation test script to declare whether everything is working as intended!