18 min read

Top 30 Automation Testing Interview Questions

Automation is Cost Cutting by Tightening the Corners and Not Cutting them.-Haresh Sippy

Given the issues associated with Manual Testing, Automation Testing has emerged as a force of the future. It is increasingly being seen as a viable alternative for guaranteeing the reliability and quality of software products as compared to the time consuming and laborious process involved in Manual Testing. Consequently, the position for Automation Testers and Test Automation Engineers, have evolved as coveted and lucrative positions within the Software Testing domain. Hence, if you wish to glide through a Test Automation interview, this comprehensive guide of top 30 Automation Testing Interview Questions will definitely be of great help.

In this blog, we shall look at a carefully prepared list of some of the most important Interview Questions for Automation Testing. We shall also consider some of the Java Interview Questions for Automation Testing as well as API Automation Testing Interview Questions. Moreover, since Selenium has surfaced as one of the foremost Test Automation Tools of choice; we shall also look at some of the Selenium Automation Testing Interview Questions.

If you wish to read more on the topic of Selenium Interview Questions, refer to our blog on Top 30 Selenium Interview Questions.

Automation Testing Interview Questions: Basic Level

1. What is Automation Testing?

Automation Testing begins with the tester writing test scripts or codes with the help of appropriate Automation Testing Tools which helps validate the software and automate the process of test execution. These pre-scripted tests developed by the tester are made to run in an automatic fashion and eventually compare the actual results with the expected ones. The proximity or divergence of the results helps in determining the quality of the product. It helps in the automatic execution of repetitive tasks without human intervention.

What is Automation Testing

2. What are the types of Automation Testing? Which types of Software Tests can be Automated?

The following types of Software Testing can be automated.

  • Regression Testing: Cases which involved testing of repetitive tasks and there are frequent code changes, which render it extremely difficult to be performed with the help of human resources.
  • Load Testing: This type of testing is used for determining whether an application can handle a certain number of transactions (load). Thus, it checks the behavior of the product under normal as well as peak conditions.
  • Performance Testing: This type of testing is used for evaluating the stability, scalability and/or speed attributes of the application under test.
  • Unit Testing: This type of testing is conducted in order to ensure that a particular module of an application works as expected.
  • UI Testing: Ensuring that the product meets the specifications of graphical user interface.
  • Security Testing: Ensuring that no one can hack the credentials of an application.
  • System Testing: Guarantees the efficiency of the system in conducting all the other types of tests. 
  • Functional Testing: This type of testing is conducted in order to ensure that the product performs all the functions.

3. Elucidate the Difference between Manual and Automation Testing.

This is one of the most common Test Automation Interview Questions.

4. When should you Automate?

One of the classic Interview Questions for Automation Testing pertains to the test scenarios which supports Automation Testing. Automation Testing works best when:

  • Situations which require frequent testing or involve the execution of repetitive tasks
  • Test cases which involve testing of large volumes of data
  • Situations which require parallel testing or tests which cannot be performed manually
  • Automation Testing is preferred in scenarios wherein the possibility of human error is high
  • It is preferred for non-functional testing as well as when tests need to be executed on different browsers and different environments
  • Automation Testing can be opted for testing the stable parts of an application
When should you Automate?

5. When should you avoid Automation Testing?

You should not opt for Test Automation in the following scenarios:

  • Newly designed and complex test cases
  • When the requirements of test cases are frequently changing
  • Those test cases that need urgent deployment or bug fixes
  • When exhaustive level of documentation is required
  • Usability or Ad hoc testing is needed
  • For test scripts which produce unpredictable results
  • In case of those test cases for which expected or input data is not known

6. What are the criteria for choosing the best Test Automation Tool?

While choosing a specific Test Automation Tool, you need to keep the following factors in mind:

  • Project Requirements/Object of Automation
  • Identify the Cost associated with the possible deployment of different test tools.
  • Identify your Project Budget and find a tool which fits within the same
  • Assess the Technical Skills associated with the possible deployment of different test tools
  • Ask for the experiences of other organizations which have used similar tools
  • It is wise to choose tools which work for all the individuals of a team, even the non-technical ones
  • Assess that the tool supports different testing types as well as cross-browser testing for web-based applications
  • In general, it would be good to go for tools which have some of these attributes:
  1. Debugging Facility
  2. Object Identification
  3. Test Environment Support
  4. Image and Object Testing Abilities
  5. Database Testing

7. What is a Framework? What are the attributes of a Good Framework?

This happens to be one of the classic Automation Testing Framework Interview Questions.

A Test Automation Framework can be understood as a set of universal rules and guidelines as best practices for easing the process of automation as well as for producing beneficial results of the test automation activity. A Test Automation Framework involves: Testing Libraries, GUI or Command Line Interface and Test Data Management.

Some of the attributes of a good framework are:

  • Reusable: Commonly used utilities or methods should be written in a common file that is accessible to all the scripts.
  • Independent: Each of the test script should be independent of each other.
  • Modular: This implies that the framework should be amenable to change. It should be possible to modify the scripts as needed.
  • Integration: It should be possible to integrate the framework with other applications.
  • Consistency: Test suite should be written in a consistent format.
  • Reporting: The reporting feature should be automatically embedded into the framework.

8. What are the different types of Automation Frameworks available?

  • Data-Driven Testing Framework: This framework assists us in separating the test data from the test script logic. The test data is stored in an external database like XML, excel, CSV and so on. The data is stored in ?key-value? pairs and they depend on the verification and input values maintained using the variables.
  • Keyword-Driven Testing Framework: This framework is often considered to be an extension of the previous one. It not only provides for the separation of the test data from the test scripts, but also retains a certain set of codes belonging to the test script in an external data file. The keywords and data tables are developed independently of the automation test cases.
  • Module-Based Testing Framework: This framework helps in dissociating the Application Under Test (AUT) into isolated and logical modules. Independent and separate test scripts are created for each module and taken together they help in building a larger test script which represents more than one module.
  • Linear Scripting Framework: This Test Automation Framework operates as ?Record and Playback?, but in a linear manner. It is generally used to test small sized applications.
  • Hybrid Testing Framework: It is a combination of more than one of the above mentioned frameworks. The advantage is that it helps in deriving the benefits of all the associated frameworks.
Types of Test Automation Framework

9. What are the pre-requisites to begin Automation Testing? Is 100% Automation possible?

Some of the pre-requisites to initiate Automation Testing include:

  • Usage of reusable functions and procedures
  • Framework build should be stable
  • Filter and Segregate the test cases to be automated
  • Reusable functions should be stored in separate files
  • Experienced and skilled resources should be employed
  • Ensure stability and consistency of modules

The notion of 100% automation is a myth. The increasing significance of Automation Testing, by no means imply that Manual Testing has become redundant. There are a number of scenarios wherein Automation Testing is not possible. This is especially true for many edge test cases which are seldom executed or which are too simple to be automated. Moreover, test scripts are developed as well as automation tools are designed by humans alone and thus human intervention cannot be sidelined completely.

10. What are the steps involved in an Automation Testing Lifecycle?

The lifecycle of Automation Testing involves the following steps:

  1. Take the Decision to execute Automation Testing
  2. Opt for the appropriate Test Automation Frameworks and Tools
  3. Decide upon a Test Plan and Test Execution Strategy
  4. Test Data Preparation
  5. Set up a Test Environment
  6. Develop Test Suite
  7. Test Execution
  8. Generation and Analysis of Test Reports
  9. Maintenance of Test Scripts

11. What is Sikuli?

Sikuli is essentially a tool which utilizes the strategy of Visual Image Match to automate GUI. The different web elements in Sikuli should be taken as an image and stored inside the project. It is composed of:

  • Sikuli Script
  • Sikuli IDE
  • Visual Scripting API for Jython

Sikuli can be used to automate flash objects or websites; window based applications as well as desktop application. It can easily be linked to tools like Selenium and provides a simple API.

What is Sikuli

Selenium Automation Testing Interview Questions

12. What is Selenium? What are its pros and cons?

Selenium is one of the best known and widely used software testing tools which is free, open-sourced and is used for testing web applications across different platforms and browsers. The process of Selenium Automation Testing embodies a single interface and allows the user to write test scripts in different programming languages like Java, Python, C#, Ruby, Perl, PHP and NodeJS. It is important to note that the Selenium Automation Tool can only be used to test web applications and not desktop or mobile applications.

What is Selenium

Advantages of Selenium:

  • Selenium Automation Tool is an open-source testing framework which is available free of cost. This makes it highly attractive as compared to its alternatives which generally come with a licensing price
  • Selenium supports text scripts written in a wide range of programming languages: Python, Java, Perl, Ruby, PHP and C#
  • It has a proven track record of accurate results, making it highly reliable
  • Selenium facilitates execution of test cases on more than one operating system like Android, Windows, iOS, Linux and Mac
  • Selenium Automation Testing can be carried out on multiple web browsers like Chrome, Opera, Safari, Internet Explorer (IE) and Firefox
  • It allows for parallel test execution and has a huge community support
  • Selenium provides for integration with JUnit and TestNG which helps in the generation and management of test cases
  • Continuous testing is possible through the integration of Selenium with Maven Jenkins and Docker
Advantages of Selenium

Disadvantages of Selenium:

  • One major drawback of Selenium is that it can only be used to test web applications and is not suitable for testing mobile or desktop software applications
  • There is no assured user support, apart from customer communities
  • It cannot acquire access to web elements detected to be outside the web application which is under test
  • Selenium Automation Testing cannot be used for image testing or data-driven testing independently. These are only possible with the integration of additional tools
  • It requires prior knowledge of programming language to write tests

If you wish to know more about Selenium as an Automation Testing tool, read our blog on ?What is Selenium?: Introduction to Selenium Testing?

13. What are the different Selenium Suite Components?

The Selenium Automation software is not a single tool, but a suite of software, each of which serves a specific set of testing purpose for the organization. The tools are:

  • Selenium Integrated Development Environment (Selenium IDE): It works as a Firefox plug-in which can be used to record and execute test cases. It was primarily created to accelerate the production of automation scripts
  • Selenium Remote Control (Selenium RC): It was the first flagship testing tool which allowed users to write test cases in the preferred language of the user. It provides for cross-browser testing as well as data-driven testing.
  • Selenium WebDriver: It was created by Simon Stewart in 2006, as a solution to the shortcomings of Selenium RC. It provides an interface for creation as well as execution of test cases and it is possible to identify web page elements through the test cases and take appropriate action.
  • Selenium Grid: It makes use of the Hub-Node design which helps in simultaneous execution of more than one test case on different machines which happen to be remotely located. There is one master system which is the hub and it controls the other child systems which are the nodes. Thus, it provides for parallel execution.
Selenium Tool suite

14. Explain the difference between Selenium and Sikuli.

This is one of the classic Selenium Automation Testing Interview Questions.

15. What is Protractor?

It is an open source Test Automation framework which facilitates end to end testing of web applications. It has been developed by Google and is built on top of WebDriverJS. It is essentially used to test Angular applications. The tool is used to run the tests against the web application by executing it in real web browsers. Protractor is largely based on Selenium WebDriver and consequently provides for cross-browser testing. It also has a simple UI and ease of learning. Moreover, protractor also provides for parallel execution of test cases.

What is Protractor

16. Which testing can be done using the Selenium framework?

Selenium framework can be utilized to conduct the following kinds of testing:

  • Functional testing of web applications
  • Load testing of web applications
  • Regression testing of web applications

Java Interview Questions for Automation Testing

17. What are the features of Java?

1. OOP Concepts

  • Encapsulation
  • Inheritance
  • Abstraction
  • Polymorphism

2. High Performance: JIT (Just in Time compiler) facilitates high performance in Java.

3. Platform Independent: A single Java program can run on multiple platforms.

4. Multi-Threaded: JVM provides for the creation of a main thread. However, the user can create multiple threads by implementing the Runnable interface or by extending the thread class.

Java

18. What is Constructor?

  • A constructor is invoked corresponding to the class when a new object is created in a program.
  • It is essentially a method which has the same name as the class name.
  • In case the user fails to create a new constructor, a default constructor is created.
  • If a constructor with parameter is created by the user, he is required to create another constructor without a parameter.

19. Explain the difference between Array and Array List.

API Automation Testing Interview Questions

20. What is API and API Testing?

API stands for Application Programming Interface. It works as an interface between two applications which in turn allows the two software systems to communicate with each other. It facilitates data exchange and communication between two systems.

API Testing is a form of Software Integration Testing which helps in the direct testing of Application Programming Interfaces (APIs). It helps in evaluating API in terms of its performance, functionality, security and reliability. API Testing focuses on the Business Logic Layer of the software architecture.

working of api

21. Do API Testers require coding knowledge to conduct API Testing?

API Testing can be conducted in a manual as well as in an automated fashion. In case of manual testing, testers do not need coding knowledge. They simply need API request details, payload, headers, credentials and the knowledge to use the appropriate tools. However, if API testing is opted to be conducted in an automated fashion, testers are required to possess coding knowledge in order to automate the test cases.

22. What is Test API?

TEST API refers to a set of library utilities or APIs which helps developers to create automated test cases for testing WIN 32 or .NET systems.

23. Why is Automated API Testing advantageous?

Automated testing of API is useful as it helps to enhance test coverage within a short period of time. This implies that it is useful in testing large test sets quickly and easily. Automation Testing is useful in diminishing human error and facilitating parallel execution of tests. Moreover, since it is less time consuming, it also saves cost.

Test Automation Interview Questions: Advanced Level

24. What is Browser Automation?

Browser automation can be understood as a strategy of launching a web application programmatically, in a browser and executing the various actions automatically, as if it is being performed by a real world user. Browser Testing is advantageous in terms of the efficiency and speed which it provides. Selenium, Protractor and Cypress are some of the most popular tools used in Browser Testing.

Steps involved in Browser Automation are:

  • Launch the application URL
  • Test the different links on the web page in order to make sure that they are not broken
  • Keep a trace of the broken links on the page
  • Conduct Performance and Load Testing on your web application
  • Launch different instances of browsers with different test users in order to make sure that concurrent actions work as expected

25. Is Automation Testing, black box testing or white box testing?

Automation Testing can be a form of black as well as white box testing. It falls under the category of black box testing when the tester conducts the test on the application without knowing the code or low-level design of the application. However, there are situation wherein testers require access to the database details, along with the coding information of the application and thus falls under the category of white box testing.

black box testing and white box testing

26. Can Automation Testing be conducted without a test framework?

Automation Testing can definitely be conducted without a Test Automation framework. Frameworks operate as suggestive guidelines and not as mandatory rules. However, if these guidelines are followed, it enhances efficiency and facilitates ease of maintenance.

27. What are the important modules of a Test Automation Framework?

Data Setup: Test cases are required to extract user data either from a file or a database or from those embedded in the test script.

  • Test Assertion Tool: This is a medium for producing assert statements which help in testing the expected values in the application under test.
  • Reporting Tool: This tool is utilized to generate readable reports after the complete execution of the test cases.
  • Build Management Tool: This is a tool which can be utilized for building a framework so that one can create test scripts.
  • Logging Tool: It provides for efficient debugging of bugs and errors.
  • Continuous Integration Tool: These are also known as Continuous Delivery Tools and are essentially utilized for deploying and integrating changes made to a framework at each iteration.

28. What are some of the best practices in Automation Testing?

Some of the best industry practices which ensure quality software are:

  • Be careful while deciding upon the Scope of Automation. It is not wise to automate all test cases.
  • It is important to take into consideration, the Experience and Skills of the tester as well as the Severity and Complexity of the feature under test.
  • Make use of Appropriate Comments and Separate Codes based on use.
  • Avoid Duplicate Cases and ensure Regular Testing of Scripts.
  • It is important to choose the right Test Automation tool for specific test scenarios.
  • Maintain a comprehensive Bug Database.
  • Follow Coding Conventions.

29. What are some of the modern applications of Test Automation?

There is an endless list of Test Automation applications from the contemporary scenario. Examples can be picked from some of the biggest corporate houses on the global platform. Google happens to be testing self-driving cars; while Facebook is interested in testing an alleged brain-computer interface which would potentially be able to translate thoughts into text. Similarly, Starbucks is keen on cashier free stores; while testing delivery drones happen to be the potential project of Amazon.

30. What are some of the risks associated with Automation Testing?

Some of the risks involved in the execution of Automation Testing are:

  • The initial cost of implementing automation is high. It might entail considerable investment as it requires lots of code and expensive tools.
  • If for some reason, testers do realize gradually that the testing strategy is not yielding appropriate results as the software happens to be constantly changing features and configuration, then it results in negative ROI.
  • Automation Testing demands skilled and technical resources with certain degree of programming knowledge.
  • It is required to maintain and keep Test Automation code up to date.
  • Instability of the application being tested, might result in a lot of errors.
  • Automation Testing can be problematic, in case the user interface has ever changing requirements.

Conclusion

Knowledge of Automation Testing has become a professional necessity for Software Testers. This list of Automation Testing Interview Questions is by no means exhaustive; however, it does touch upon some of the most important topics, including those falling under the category of Selenium Automation Testing Interview Questions, Java Interview Questions for Automation Testing and so on. Thus, as your prepare to embark upon the field of Software Testing, this comprehensive list of Automation Testing Interview Questions and Answers, will certainly be of huge help.

sdet automation certification course

Like what you read?
Share with your community!

Subscribe to our
newsletter