This article explains about automation testing, pros, and cons of it, etc
What is manual testing?
Manual testing is a process where testing is done manually for identifying defects where tester plays the role of an end user.
What are the disadvantages of manual testing?
- Time-consuming
- More resources needed
- Less accuracy
- Increases project cost
Why we go for Automation testing when we have manual testing?
Every time when a new feature or module is added regression testing should be done, so in these kinds of situations, testing takes more time if we do this with manual testing. Time is a major factor in every application.
Performing repetitive tasks on the same application is a monotonous process. Here we can record the test scripts once and run these test scripts on each build of the application.
Performance and load tests are very important for an application. To perform this we need many numbers of users.
For example, if our requirement is to find the load time when an application is used 100K users at a time, so testing the application with these 100k users would be difficult.
In this situation, by using automation we can create virtual users and can go ahead with the testing process
Data-driven testing means the application needs to be executed n number of times with different input data. This type of testing is needed regularly so we go for automation.
If a defect is fixed in an application then it should undergo retesting. It happens many times, so in automation simply we will run the test scripts and using automation we can reduce manpower and can get good ROI (return on investment).
What is Automation testing?
Automation Testing is a process where we perform the testing using some kind of software and compare the actual result with the expected result.
Steps involved in automation testing
- Test tool selection
- Defining the scope of automation
- Test Planning
- Test case design
- Test development
- Test execution
- Maintenance
Test tool selection
The selection of the tool is very important in automation testing. It plays a crucial role in automation testing process. For example, if we are testing desktop application then we can’t use selenium for that. Selenium is mainly for web applications.
And like that, if we are going to test Informatica application, then we can’t use QTP. QTP won’t support Informatica applications.
So first we need to verify which type of application we are using and what appropriate tool we have to choose.
Defining the scope of automation
Identifying which test cases should automate, the following are some points to determine scope:
- Run same test cases for cross-browser testing.
- Major functions of applications which are difficult to test using manual testing.
- Scenarios which have many test combinations.
- Technical feasibility
Planning, design, and Development
In this way, we plan the resources and tools that we are going to use in the test execution. And we develop the automation scripts (test scripts for automation).
Test execution
In this level, automation scripts (test scripts) are executed by providing test data and will execute these scripts with the help of the respective automation tool.
In some scenarios, test management tool itself execute scripts by invoking automation tools. We will report the defects to the developer's team. And tools prepare test reports after execution.
Maintenance
In this level when new functionality is added we will perform regression testing and other respective tests for that newly added feature.
Suitable candidates for automation
- Test that needs to be run for.
- Test that uses for multiple values for the same actions.
- Stress or load testing.
- Test cases that can’t be done manually at that time, I prefer automation.
Not- Suitable candidates for automation
- For one time testing
- For ad-hoc testing
Automation tools
Functional testing tools
QTP(Quick test professional)
Win runner
RFT(Rational functional tool)
Selenium
Non-Functional testing tools
Load runner
Silk testing tool
Test management tool
QC(quality center)
Defect tracking tool
Bugzilla
Web services tool
iTKO LISA
Benefits of automation testing
Repeatability, Reusability, Time saving, cost saving, and accuracy are major advantages of automation testing.
Why automation fails
- Not clear and enough requirements.
- Staff skills may not match with the needs.