Test Automation: A formalized testing process

May 24
07:11

2008

Sam Miller

Sam Miller

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

Developing large and middle scale software applications involves significant test jobs. There is a need to automate these test processes when the number of tests is increasing.

mediaimage
Test Automation is basically using soft wares to control the execution of tests (test cases describe the tests that need to be run on the program to verify that the program runs as expected) and comparing the actual output to the predicted one. This helps in measuring the deviation of the actual product from the one that was initially planned. It also involves deciding upon test preconditions,Test Automation: A formalized testing process Articles and other test reporting and control functions. It is mainly organized for short-term goal-achievement. One way to generate test cases automatically is model-based testing where a model of the system under consideration is used for generation of the test cases.Test automation means tool support for all the aspects of testing a project, not just its execution. The automation process progresses when supported by dedicated programmers who are directed by the testers. Here, by 'short term' we mean 40 man-hours or lesser. For relatively longer tasks, these are divided into subsequent increments that in them selves are deliverables. This way, even a longer task is converted into many shorter tasks. Also, by 'Directed By Testers' we mean the progress of test automation is measured in terms of how it solves problems for testers and the test managers.The automation formula typically comprises of the following few steps:1.    Purchasing a GUI test execution tool. Here GUI stands for Graphics User Interface. This has increased the pressure on testers, who are considered bottlenecks to the delivery of software products.2.    The next is step is to define and chalk out the various possible test procedures on paper.3.    These procedures are then automated, one by one, by automation professionals.4.    A framework that comprises of the tests must be built next. This must be     comprehensive and scaleable.5.    This is iteratively fixed.This 'formula' so to speak works if the testing of the product is simpler. Also, the product specifications mustn't change much during the testing process.Several problems that plague test automation projects are: - Lack of clear goals: Automation can save time, make testing easier and improve the testing coverage. But it's not likely to do all these things at the same time. Different users have different expectations from the system. These need to be stated, or else disappointment is likely. - Lack of experience: Often, junior programmers tackle test automation projects.- High turnover: Test automation takes a while to learn. - Spare time test automation: In most cases, people are allowed to work on test automation on their own time. This keeps it from getting the time and focus it needs. The major benefits are:- Improved efficiency in automation efforts because of use of expertise in building automation frameworks and methodologies.- Reduction in the automation cost.- Automated testing systems can produce test reporting and analysis. These reports provide a measure of test status and results, thus allowing more accurate interpretation of testing outcome- Automation allows the testing organization to perform consistent and repeatable test.Test automation is often expensive in operation and it must be used to aid manual testing. Regression testing is one technique that helps make the operation of test automation a little cost-effective.

Categories: