Basics of Automation Testing

This article explains about what is automation testing, pros and cons of automation testing, etc.

What is manual testing?

Manual testing is a process where testing is done manually for identifying defects where tester plays the role of 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 kind 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 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 number 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 expected result.

Steps involved in automation testing

  1. Test tool selection
  2. Defining scope of automation
  3. Test Planning
  4. Test case design
  5. Test development
  6. Test execution
  7. Maintenance

Test tool selection

The selection of 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 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 respective automation tool.

In some scenarios test management tool itself execute scripts by invoking automation tools. We will report the defects to the developers team. And tools prepare test reports after execution.

Maintenance

In this level when a 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 use for multiple values for the same actions.
  • Stress or load testing.
  • Test cases that can’t be done manually that time, I prefer automation.
Not- Suitable candidates for automation
  1. For one time testing
  2. For adhoc 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.