Information Technology Reference
In-Depth Information
Automation in Testing
Automation implies that the speed of the processes will increase. In testing,
however, increasing the speed of the process is only one of the benefits
of automation. Automation dispenses with certain kinds of tests that can
be executed unattended, thereby saving us some resources. Human beings
are not reliable with repetitive tasks, especially when under pressure. After
a few cycles, testers may tend to overlook bugs. A project would be a
candidate for testing automation if one thinks that some aspects of testing
(like smoke test or regression testing) are becoming tedious and time-
consuming.
Automation also works well for things that one cannot test adequately
using a manual approach. Load and stress testing are such examples.
Many automation tools allow one to simulate load (e.g., thousands of
concurrent user sessions), and measure system performance effectively.
Other examples of automation tools are code and coverage analyzers,
memory leak analyzers, software for managing and reporting bugs, source
code and configuration management, file and database comparisons, and
screen captures.
Automation introduces a change in testing styles. In manual testing,
one is able to determine correctness of the software behavior on the basis
of knowledgeable but subjective calls on screen outputs, pop-up messages,
data files, functional transitions, and the like. In automated testing, the
system does not have any subjective capabilities to determine such cor-
rectness. It works by rules or conditions. It is necessary to define what
needs testing, along with the expected outputs. These definitions must
be extremely detailed — sometimes to the level of defining exact coor-
dinates as to where the output will show on the screen, etc. — so that
the system can accurately determine the result.
When should automation be introduced into a QA life cycle? Automa-
tion may not be appropriate during early software builds when the test
approach needs a thoughtful tester's approach to modify or tune the test
plans. The QA team must have room for improvement at this stage before
they can automate the process or tests selected.
Test Environments
Test environments are expensive, both to build and to maintain. In product
companies, such an investment is more easily made because it can be
amortized over the life of the product. In project environments, it is difficult
to build the kind of test environments one would like, not only because
there are so many different projects, but also because it appears that there
Search WWH ::




Custom Search