Information Technology Reference
In-Depth Information
Chapter
9
Automated Software
Testing Benefits
Software testing constitutes more than 50% of all effort required in any software
development project. Starting from unit and integration testing to black box testing
(functional and performance testing), the software goes through rigorous testing
at all phases of software development until it is deployed and used by customers.
Even after all this testing, end users find defects in the software, and either these
defects are then fixed or some acceptable work-around is provided in the produc-
tion instance.
Due to the labor-intensive nature of software testing, efforts have been made to
automate some or all of the processes by many software vendors who specialize in
developing testing tools. These automation efforts have been particularly beneficial
in regression testing, as the same test cases are executed in almost all releases of
any software. Manually executing these regression tests again and again is costly.
Another aspect is that over a period of time you end up with a growing pile of
regression tests to be performed in each release of the software and yet you have
only a limited pool of resources to run these tests. If these test cases are automated,
then a lot of manual effort can be saved. This also results in avoiding human error
and monotonous work for people who have to execute the same test cases again
and again. This scenario is also true for nonfunctional test automation (e.g., per-
formance testing, load testing, stress testing). Benefits include fast execution of test
cases, fast building of test cases, avoidance of human error, etc.
Test automation is also beneficial in the production environment. In the pro-
duction environment, sanity tests are run daily to check critical functionality
10.
Search WWH ::




Custom Search