“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.
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.
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
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:
- Debugging Facility
- Object Identification
- Test Environment Support
- Image and Object Testing Abilities
- 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.
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:
- Take the Decision to execute Automation Testing
- Opt for the appropriate Test Automation Frameworks and Tools
- Decide upon a Test Plan and Test Execution Strategy
- Test Data Preparation
- Set up a Test Environment
- Develop Test Suite
- Test Execution
- Generation and Analysis of Test Reports
- 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.