Software Testing
Test Automation vs. Manual Testing: The Battle Continues…The letter ‘t’ in the term “testing” bears paramount significance when we talk in terms of software products. Its because, “testing” and “time” go hand in hand and no software tester in this world can deny that an additional bit of time could have helped him produce better results. And its not that whining about the lack of time has become a habit for these software testers, rather it’s an unfortunate truth that software testing is the SDLC phase that gets the least amount of time and attention.
The fact that software development projects normally follows an iterative approach, makes it extra difficult for the software testers to execute their tasks correctly and efficiently. Although the iterative approach helps the developers mend the fissures in their software, it certainly makes life difficult for the testers by piling up the testing debts.
With each iteration, the testers have to test lot more than what they tested in the previous iteration and that too within a reduced time frame. As a result the testers are compelled to sacrifice one or other form of software testing thereby increasing the risk of bug presence in the final product.
Under such circumstances, test automation does seem to be the silver bullet solution, providing immense reductions in the amount of time required in executing the tests. For example, in a recent survey, it was found that test automation could manage to condense five days of manual testing effort into one hour of automated execution thereby causing a 97.5% reduction in execution time.
Software, since its birth, has always been cursed by the “change” factor. It’s a common belief that the software code can be easily changed and thus the customers change their requirements frequently as the software develops. Seldom do they understand that such changes add complexities to the software and it takes a hell lot of effort on the part of the testers to perform regression testing to ensure that no bugs are added as a result of the changes.
When it comes to regression testing, there can be no better solution than test automation. Instead of testing the only area around the changes, test automation allows you to test the entire software after modification using less time and resources.
Now, does that mean that manual testing of computer software stand nowhere near test automation? The answer is NO. Along with all its virtues, test automation has its own limitations and cost is one of them. Just like an ERP package, deploying and configuring an appropriate test automation tools to automate the testing procedures incur huge costs, much more than running the tests manually.
Further, software testing involves some tasks, which can never be automated. For example, tasks, such as inquiry and analysis are not something a machine can do. Even though it is possible to automate some of the testing activities, there is no guarantee that the results will be perfect. And the bigger problem is that, unlike a software feature, it is difficult to identify whether the result produced by the test automation software is inaccurate. Ironically enough, it’s the tester who is made the scapegoat every time the results go wrong because of the ill-built test automation software.
The fact of the matter is test automation in itself is a misnomer simply because it requires a human being to select the right tool for the right purpose and also verify the results. Test automation just helps the human testers perform their task more effectively. Nevertheless, one cannot ignore the fact that the nature of software testing process and the time allocated for the purpose does demand for some kind of automation.

0 Comments:
Post a Comment
<< Home