Automation Testing Tutorial | Software Testing Material

In this article, we are going to see Automation Testing

We know that every project has three important aspects such as Quality, Cost & Time. The objective of any project is to get a high-quality output while controlling the cost and the time required for completing the project.

After you finished reading this blog post, you will learn the following.

What is Automation Testing?

Automation testing is the process of testing the software using an automation tool to find the defects. In this process, executing the test scripts and generating the results are performed automatically by automation tools. Some most popular tools to do automation testing are HP QTP/UFT, Selenium WebDriver, etc.,

When to use Automation Testing?

We do Automation testing in the following areas:

Regression Testing: Repeated testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the changes in the software being tested or in another related or unrelated software components. So, regression testing is best suitable for automated testing because of frequent code changes and it is beyond the human capacity to execute tests in a timely manner.

Read more about regression testing here

Load Testing:  It is to verify that the system/application can handle the expected number of transactions and to verify the system/application behavior under both normal and peak load conditions. Automated testing is also the best way to complete the testing efficiently when it comes to load testing. It is best suited for automation testing.

Read more about load testing here

Performance Testing – This type of testing determines or validates the speed, scalability, and/or stability characteristics of the system or application under test. Performance is concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the project or product. It is best suited for automation testing.

Read more about load testing here

The tests which can be done through automated or manual approach:

Integration Testing – Integration Testing is the process of testing the interface between the two software units. Integration testing is done by multiple approaches such as Big Bang Approach, Top-Down Approach, Bottom-Up Approach, and Hybrid Integration approach.

Integration Testing Complete Guide

System Testing – Testing the fully integrated application to evaluate the system’s compliance with its specified requirements is called System Testing AKA End to End testing. Verifying the completed system to ensure that the application works as intended or not.

Unit Testing: Unit Testing is also called Module Testing or Component Testing. It is done to check whether the individual unit or module of the source code is working properly. It is done by the developers in the developer’s environment.

Acceptance Testing: It is also known as pre-production testing.  This is done by the end-users along with the testers to validate the functionality of the application. After successful acceptance testing. Formal testing conducted to determine whether an application is developed as per the requirement. It allows the customer to accept or reject the application. Types of acceptance testing are Alpha, Beta & Gamma.

In interviews, you may be asked to answer the following question

Which tests cannot be automated?

Let’s see which tests cannot be automated. Test which takes too much effort to automate are

  1. Exploratory Testing
  2. User interface testing
  3. Adhoc Testing

When do you prefer Automation Testing over Manual Testing?

We prefer Manual Testing over Automation Testing in the following scenarios

  1. To handle repetitive and time-consuming tasks
  2. To do parallel testing
  3. To do non-functional testing like load, performance, stress testing
  4. To avoid human errors

Automated Testing Pros and Cons

Advantages of automated testing:

  • Automation testing is faster in execution
  • It is cheaper compared to manual testing in a long run
  • Automated testing is more reliable
  • Automated testing is more powerful and versatile
  • It is mostly used for regression testing
  • It is reusable because automation process can be recorded
  • It does not require human intervention. Test scripts can be run unattended
  • It helps to increase the test coverage

Disadvantages of Automated Testing:

  • It is recommended only for stable products
  • Automation testing is expensive initially
  • Most of the automation tools are expensive
  • It has some limitations such as handling captcha, getting visual aspects of UI such as fonts, color, sizes etc.,
  • Huge maintenance in case of repeated changes in the requirements

Not all the tools support all kinds of testing. Such as windows, web, mobility, performance/load testing

Difference between Manual Testing & Automation Testing (Automation Testing Vs Manual Testing)?

Let’s see the difference between Manual Testing and Automation Testing.

Automation Testing Vs. Manual Testing:

Refer this

Automation Testing Tools

Some of the popular automation testing tools

 

  • HP QTP(Quick Test Professional)/UFT(Unified Functional Testing)
  • Selenium
  • LoadRunner
  • IBM Rational Functional Tester
  • SilkTest
  • TestComplete
  • WinRunner
  • WATIR

Read more on popular automation testing tools

Benefits of Agile Test Automation:

Read more on the Benefits of Agile Test Automation

Types of Test Automation Frameworks

Read more on Types of Test Automation Frameworks

Automation Testing Interview Questions

Read more on Automation Testing Interview Questions

Conclusion:

Here I am going to conclude this Automation Testing Tutorial. If you find any other points which we overlooked, just put it in the comments. We will include and make this post “Automation Testing Tutorial” updated.

Here I have hand-picked a few posts which will help you to learn more interview related stuff:

Automation Testing Tutorial

Rajkumar SM is a founder of SoftwareTestingMaterial. He is a certified Software Test Engineer by profession and blogger & youtuber by choice. He has an extensive experience in the field of Software Testing. He writes here about Software Testing which includes both Manual and Automation Testing. He loves to be with his wife and cute little kid 'Freedom'.

Leave a Comment

Share via
Copy link
Powered by Social Snap