TEST AUTOMATION PROJECTS – WHY DO THEY FAIL?
Generally, Software companies tend to neglect the “Quality Assurance” department, if it exists, in order to cut down expenses. This will eventually lead to delivering an unstable product due to the lack of testing. At this point, the QA department starts getting the attention of the management.
The QA team, with the support of management, starts putting all the effort possible in order to stabilize the product. However, due to tight schedules, the manual testing won’t cover all the product features. In addition, the regression cost would be high at this level. This would push the QA team to think of alternative solutions to speed up the testing process – AUTOMATION.
Due to time limitation, the QA team will go for the easiest automation solution possible:
- Tools evaluation will be skipped and the automation framework will be selected without performing an accurate study of the pros and cons
- Usually the “Linear Scripting Technique” will be used where the testers record/play their test scenarios, without measuring the maintenance costs
- The goal will be to automate or script as much scenarios as possible without paying attention to the optimization of the automation framework, so that it handles generic methods, which would help automating a big amount of test cases with a minimal effort
- DB testing and business testing will be restricted to the GUI automation that uses the “Linear Scripting Technique”. Thus, back-end functionality might be compromised
- The test cases won’t be structured in a good manner; they might be too dependent, which might force running all of the test cases to test a small functionality, or might be independent, which might cause lots of repetition in the automated test scripts
- The automation environment won’t be planned properly, which might cause delay to setup and cleanup the environment upon every test run
Such a structure might get the companies to stabilize their products. However, once the version tested is released, more features and functionality will be requested. This will cause more problems as the old automation scripts are not maintainable. However, this could still be manageable. In a few iterations, would the automation project fail?
Other causes for the Automation projects failures:
- Focus on automation, as a cost-lowering technique, before focusing first on testing the right things. In other words, automation can be considered as a testing variation; don’t tackle the variation until you have mastered the base
- Lack of technical skills in the QA team
- Automated testing is harder than manual testing. Testers can’t simply add automated tests to an existing test process. Instead, they have to rethink the entire approach. Which tests are best automated? Which ones should remain manual? Answering those questions requires creative thinking
- Lack of communication between DEV and QA; the communication between DEV and QA is essential in order to identify the type of component under test and how they are implemented
- Lack of understanding on the management level of the importance of automation, and quality assurance in general
- Failure to fully grasp that “Test Automation Projects” are “Software Development Projects”
With good planning and good understanding of the requirements and software functionality, automation projects should succeed. Please leave your comments.