Test Automation
Before understanding what is meant by 'Test Automation' or 'Automation
Testing', we've to first understand the answers for the following listed
questions?
1.What is Manual Testing ?
Manual Testing is the process of validating and verifying whether the
software program works as expected without using any automation tool
(i.e. A Tester have to manually test each and every functionality of the
software program without using any automation tool)
Validation is the process of checking whether the software given
for test is according to the Client needs. i.e. to check whether the
software meets the needs of the customer.
Verification is the process of checking whether the software given for testing correctly implements the specified functionality.
2. What is Regression Testing ?
Regression testing is the repetition of the earlier successful tests in
order to make sure that changes to the software has not introduced side
effects.
3. What is Automation Testing ?
It is the process of validating and verifying whether the software
program works as expected using any automation tool. (Automation tool
performs the testing instead of a tester).
4. How can an Automation Tool perform testing without a tester ?
Creating Automation Scripts - Tester develops automation scripts
using any language supported by the automation tool. ( For example Using
Selenium Automation Tool the tester develops automation scripts using
Java language)
Running the Automation Scripts - Tester runs the above created
automation scripts using Automation Tool's Run commands. ( For example
Using Selenium Automation Tool's run commands the tester runs the above
created Java automation scripts)
Viewing the Test Results generated by the Automation Tool - For
each and every Run of the automation scripts, the Automation tool will
generate results in a detailed report. Result report will show us
whether the tests performed are functioning correctly or not.
5. What is the main purpose for Automating the Testing Process ?
Automation Testing main purpose is to automate the Regression tests.
Automation testing is mostly helpful in large scale projects. That is
when a small change is made to the source code of the software, the
tester has to manually test each and every functionality of the large
scale software, which takes lot of time for the testers to test the
complete functionality from scratch. If instead the tester automates the
complete software using any automation tool, he can just run the
automation tests using the automation tool every time when a change is
made to the source code of the project or when a new build is given for
testing frequently. Ultimately it saves the testing time of testers and
relives the testers from the stress.
6. What are the other advantages of Automation Testing ?
Less burden for testers - The amount of time needed for testing
repeated test scenarios on every new build is reduced to zero. As a
result the burden for testers reduces.
Less Cost for the Business Clients - The Business Clients have to
pay the testers for the number of hours they work. As the automation
saves time, the client gets cost benefits.
Increase Test Coverage - As testing time gets reduced, the tester can cover testing other test scenarios within the provided time for testing.
Improves Testing Accuracy - In Manually Testing process, a tester
may forget or wrongly test any test scenario. But while running
automated test scripts, the computer wont forget or wrongly test the
test scenarios.
7. What kind of applications are suitable for Automation Testing ?
If we know in advance that much of the functionality in our application
will be stable over time without needing any changes. We can definitely
perform automation testing for this kind of Applications. But if any
applications functionality keeps on changing, it means that the
application is not stable, and this kind of applications wont be
suitable for Automation.
8. Which tests can be automated ?
We're not going to automate the complete functionality of the
Application. If the application is stable enough to automate, then as a
tester we have to make a decision on filtering the test scenarios to
find out the test scenarios that can be automated. We've to filter out
the following types of test scenarios for automation:
Stable Tests - The tests that are not going to change in the upcoming builds
Smoke Tests - The tests that give a quick high level assessment on the quality of the build
Data Driven Tests - The tests which test the same functionality with different inputs and large data sets
Highest Priority Tests - The tests that you want to test often because of their priority over the other tests.
9. Is Automation Testing advantageous for Short Term Projects and the applications having very tight deadlines ?
In short term projects, there wont be enough time to build test automation. So manual testing will be more effective for Short Term. If an application is having a very tight deadlines, and its imperative that the testing get done with in that time frame, then manual testing is the best solution.
10. What is the goal of the Automation Testing ?
The goal of the automation testing is to reduce the number of
tests to be run manually and not eliminate manual testing all together.
Most of the testers who are new to Automation Testing thinks that - In
order to automate their application they have to automate all the test
cases of the Application. Assuming that all the test cases of the
application to be automated is a wrong decision. We have to think of
Automating the selected test cases of the application such that they
reduce our burden and make our testing process more effective.
11. What are the most popular automation tools available in the market ?
Out of all the open source and commercial tools available in the market, the following are the two most popular tools:
- QTP ( Commercial Tool - Supports Desktop and Web Applications )
- Selenium ( Open Source Tool - Supports only Web Applications )
Hello Nishant,
ReplyDeleteThe Article on Test Automation is nice give detail information about it.Thanks for Sharing the information about all Scenario of Software testing.
Software Testing Company
Your blog is very useful article, share more post.
ReplyDeleteBest Selenium Training Institute in Bangalore | Best Selenium Training in Bangalore | Selenium Training Institutes in Bangalore | Software Testing Training in Bangalore