Title: Introduction to Test Automation created by Garry Shum
1Introduction to Test Automationcreated byGarry
Shum
AGENDA
- Duration 30 minutes
- Theme Introduction to Test Automation
- Description An introduction to the field of test
automation
2Introduction to Test Automation
- What is test automation?
- Test Automation is the use of software to execute
tests without Human intervention - Why test automation?
- Manual validation of application functionality is
increasingly inefficient in an environment where
developer productivity is increasing as
programmers make greater use of higher level APIs
and more modern, effective programming
interfaces. - Ever expanding application feature sets are
making comprehensive manual testing more tedious
and difficult.
3Introduction to Test Automation
- Advantages
- Speed Test cases generally execute faster when
automated. More importantly, different batches
of test cases can be executed on multiple
computers simultaneously. - Reusability Assuming automation has been
designed and implemented properly, acceptance
tests could be run as many times as necessary to
test a software release or any future software
releases. Over time, this may amount to very
significant productivity gains - Accuracy Repeating the same tests over and over
inevitably lead to boredom-induced complacency
that allows bugs that would otherwise be caught,
to be overlooked. Oftentimes, this also leads to
testing shortcuts which could also have
detrimental effects. With automation, test cases
are executed with 100 accuracy and repeatability
every time. - Relentlessness Can be run, day and night, 24
hours a day potentially delivering the equivalent
of several full-time SQA manual testers. - Efficiency Automating boring repetitive tasks
not only improves employee morale, but also frees
up time for staff to pursue other tasks they
otherwise could not or would not pursue.
Therefore, greater breadth and depth of testing
is possible this way.
4Introduction to Test Automation
- Disadvantages
- Significant Investment The investment required
to implement test automation is expensive but the
incremental cost is very cheap. This is often
overseen in the rush to complete testing during
the initial stages of test automation. - Maintenance Requires more maintenance than
manual testing. - Not as Robust Automated scripts will only check
what has been explicitly included for checking - Error Detection Errors introduced during the
automation process are more difficult to detect
because once a test has been fully automated and
become part of the test regime, Human interaction
is minimized and errors will only come to light
if the automated test itself includes robust
error detection routines or the manual tester is
actively monitoring every automated test as they
execute. - Cannot Think Cannot detect and intercede when
unexpected situations arise
5Introduction to Test Automation
Cheaper, Faster, Better
- Increasing trend of automation in all aspects of
personal and work life - ATM bank machines, vending machines
- Automated telephone menu systems
- Industrial robots
- Office automation, paperless office
- Automobile cruise control
6Introduction to Test Automation
- Reality Check
- The Holy Grail of test automation is to
automate 100 of the tested application with
complete confidence.
- Inflated Claims Sales pitch of leading test
automation tool vendors tend to leave the
impression that automation can be quickly and
easily implemented - Disillusionment Management often will pull the
plug - High failure rate The number of shops that have
abandoned test automation is gt60 - Not a silver bullet One size fits all sales
pitch cannot work for test automation because
every tested application is different and it is a
rare situation where every programmer on any
project follows generally accepted, industry
standard approaches and/or is aware of what every
other programmer on that project is doing and how
they are doing it.
7Introduction to Test Automation
What to automate?
- Regression Tests Stabilized tests that verify
stabilized functionality - Tests rerun often Tests that are executed
regularly vs. rarely - Tests that will not expire shortly Most tests
have a finite lifetime during which its automated
script must recoup the additional cost required
for its automation - Tedious/Boring tests
- tests with many calculations and number
verifications - repetitive tests performing the same operations
over and over - tests requiring many performance measurements
- Just plain boring tests
- Reliably repeatable
8Introduction to Test Automation
What NOT to automate?
- Unstable functionality Not reliably repeatable
- Rarely executed tests poor Return-On-Investment
- Tests that will soon expire poor
Return-On-Investment - Analog testing Not reliably repeatable
- Requiring in-depth business analysis
- some tests require so much business specific
knowledge that it becomes prohibitive time wise
to include every verification required to make
its automated script robust enough to be
effective - exceedingly complex tests are sometimes not
possible to automate because computers cannot
think - white box testing without ready access to
business analysts
9Introduction to Test Automation
What is automated and what is not automated comes
down to good judgment and what is a good ROI
(Return-on-Investment). The moral is.
Work SMARTER, not harder