"Take care with test
automation When done well, it can bring many benefits.When not, it can be a
very expensive exercise, resulting in frustration
-Howard Fear
Automated software testing is the
best way to increase the effectiveness, efficiency and coverage of your
software testing.
An automated testing tool is able to
playback pre- recorded and predefined actions, compare the results to the
expected behavior and report the success or failure of these manual tests to a
test engineer
Automation is the only long-term
solution for reduced costs in software testing and better quality
products. But these aims are
achieved only when certain best practices are followed before and
while developing the automation
suite.
Automation When?
1. Stability of the
product/application is ensured:
In terms
of functionality
If it is to incorporate new features, the new features
should not disturb the existing functionality. There is no sense in automation
the testing of a product that is supposed to change functionality-wise
If the testing is GUI-based, then it
needs to be ascertained that the future
releases of the product would not be
undergoing GUI changes which might prove critical for the
Thus Automate your testing work when your GUI is almost frozen but you
have lot of frequently functional changes.
2. Lot of Regression work
You have change requests in working module.
So how will you ensure that the new bug fixes have not introduced any new bug
in previous working functionality? You need to test the previous functionality
also.
ie
a. when ever the scope of repeatability is more
b. whenever high amount of regression testing is possible
c. when we are expecting the change request often
b. whenever high amount of regression testing is possible
c. when we are expecting the change request often
You are testing a web application where there might be thousands of users interacting with your application simultaneously. How will you test such a web application? How will you create those many users manually and simultaneously?
This Automate your load testing work for creating virtual users to check load capacity of your application.
4. Interface to be tested has been
identified:
Three different interfaces a product
might have are
command line interfaces (CLIs),
application-programming interfaces (APIs), and graphical user
interfaces
(GUIs)
By their nature, APIs and command
line interfaces
are easier to automate than GUIs.
5. Scope of automation is decided
The scope
may encompass functionality testing, regression testing or simply acceptance
testing
6. Testcases have been fine-tuned:
The testcases need to be fine-tuned
for automation. The
expectation level from the testcases
for automating is widely different from the expectation from
manual
testing point-of-view.
Manual testers can usually figure
out what is going on. A common mistake is to
use the same approach with automated
tests. But because of this approach, a failure in
one test
will topple successive tests.
7.Selecting the right tool
Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together
Automation suite should be looked upon as a baseline test suite to be
used in conjunction with manual testing, rather than as a replacement for it. It should aim at
reducing the manual testing effort gradually, but not doing away with manual testing altogether.
It needs to be understood that automation can aid manual testing effort but cannot replace
manual testing. What machines are good at and humans are slow
at should be chosen for automation.
Setting realistic goals in early stages of test automation important
for achieving long-term success
No comments:
Post a Comment