Why test automation?
Software testing is an art, aimed at
evaluating an attribute or capability of a program or system and
determining whether it meets the expected outcomes. Software testing can
be very costly and time consuming.
Hence automation is a good way to cut down time and cost.
Benefits of test automation:
Test automation provides numerous benefits to any organization. Some of them are listed below:
- Reduced test execution time and cost
- Increased test coverage on each testing cycle
- Increased value of manual testing effort
- Reduced manual work
Reasons for failure of test automation:
There are a number of reasons why test automation efforts are unproductive. Some of the most common include:
- Poor quality of tests being automated
- Lack of good test automation framework and process
- Inability to adapt to changes in the system under test
Five Steps for Successful Test Automation
To avoid the above reason and to achieve the full potential of test automation, emphasis has to be given on the below steps:
- Planning
- Preparation
- Proof of concept
- Implementation
- Maintenance
Planning
Each phase in the project must be
planned with a clear view on the current testing methods and information
of the infrastructure. Gather information from key people who have
experience in test automation.
Preparation
During preparation phase, a pilot
project should be defined and test cases that need to be automated have
to be selected. Define the roles and responsibilities and prepare input
test data.
Proof of Concept
The test automation tool must be
configured in order to be compatible with application under test (AUT).
The tool must be able to capture user actions. Since more and more
application types may be being used, the configuration part is not as
easy. It is possible that the test tool will not recognize the
application “out-of-the-box”, which means you need to configure the
tool.
Then the team needs to automate a limited amount of test cases to prove that the application can be automated. Select an easy, a normal and a complex test case. Demonstrate execution and reporting of the automated test cases to decision makers.
Then the team needs to automate a limited amount of test cases to prove that the application can be automated. Select an easy, a normal and a complex test case. Demonstrate execution and reporting of the automated test cases to decision makers.
Implementation
If proof of concept is successful,
automation of selected test cases (scope defined at preparation step)
can start. Analyze selected tests, think about data separation,
functional decomposition, reusability of certain business components.
Modularize your script into clear-cut building blocks. During this
phase, you can set up test automation framework which can vary from
documentation on tool usage to a full-scaled framework based on a
spreadsheet or database layer.
Maintenance
A test automation project expands
together with application under test. A new release may offer new
functionality that needs to be automated. The existing automated scripts
need to be maintained, new automated tests need to be added and there
is a possibility that other organization may take over automation
project in future. Team has to prepare for these events by providing
documentation for each script, by constantly allocating the proper
resources for the project and by training newcomers in the tool, the
script and the execution.
Conclusion
Test Automation in today’s competitive
environment is much needed than desired; to keep operating efficiently
and considerably cut down costs and efforts, without compromising on
quality and security. However you must adopt a well planned and a
structured approach to automation in order to ensure a higher return on
investment. It is suggested that prior to opting for automation, QA
teams need to perform an exhaustive automation assessment to identify
the right set of automation methods, tools and techniques that will
compliment their QA needs.

0 comments:
Post a Comment