Automation Testing Interview Question

 Q1. What is Automation Testing?

Automation focuses on replacing manual human activity with systems or devices that enhance efficiency. Automation Testing is the technique of using various types of software tools or scripts to perform testing tasks such as entering data, executing the test steps and comparing the results etc.

Q2. What are the different types of Automation Testing?

Different types of test automation are unit tests, GUI tests, and functional tests.

  • Unit tests are usually done during the development phase to reduce the bugs
  • GUI tests are done at the testing level, where tests are scripted to test how the user interface of an application behaves.
  • Functional tests are also done at the testing level to simulate the functional scenarios to test the application with provided input and for expected output.

Q3. What is an automated test script?

An automated test script is basically a short program which is written in a programming language to perform a set of instructions on an application. This is done to verify if the application is as per the requirements or not. When you run the script, it gives the test results as pass or fail based on if the application is working as per the expectations or not.

Q4. What are good coding practices that should be followed while writing test cases for automation?

Certain good practices that you should follow when writing test cases are:

  • Use comments at the appropriate places
  • Maintain separate files for reusable functions
  • Follow coding conventions
  • Run scripts regularly

Q5. What is a Test Automation Framework?

A test automation framework is a set of universal guidelines and rules used to produce beneficial results of the test automation activity. The automation framework brings together function libraries, test data sources, object details, and other reusable modules and methods. Automation framework makes testing consistent. Some of the guidelines are as follows:

  • Rules for writing test cases
  • Coding guidelines for creating test scripts
  • Input test data templates
  • Object repository management
  • Log configuration
  • Test result and reporting usage

Q6. Why use automation frameworks? What are the benefits that they offer?

Using automation framework avails a lot of benefits like:

  • The framework enables consistency in testing. It provides a universal standard for testers to achieve the specific goals of their automated tests.
  • Automation frameworks, when designed and implemented correctly, they deliver frequent and stable automated test code
  • With a proper framework, the code is easier to maintain and reuse
  • Even with limited knowledge of how the test case is set up, a tester can depend on the framework to refer to simple statements and implement the test cases with ease.

Q7. What are the different types of automation frameworks that are available?

Linear Scripting Framework: It is a basic level test automation framework which is in the form of ‘Record and Playback’ but in a linear fashion. This type of framework is mostly used to test small sized applications.

Data-Driven Framework: It is used to create test automation scripts by passing different sets of test data. The test data which includes input, expected output and a result field are stored in files like CSV files, excel files, text files, XML files etc.

Modular Testing Framework: Here the testers divide the application into multiple small modules and create test scripts individually. These individual test scripts are combined to make larger test scripts by using a master script to achieve the required scenarios.

Keyword Driven Framework: In this framework, testers use a table format to define keywords or action words for each method. Based on the keywords specified in the excel sheet test, scripting is done and tests are executed.

Hybrid Testing Framework: As the name suggests, this framework is the combination of two or more frameworks mentioned above. It attempts to leverage the strengths and benefits of other frameworks based on tester’s requirements.

Q8. What are pre-requisites to start automation testing?

  • Framework build should always be stable
  • Use reusable functions and procedures
  • Store reusable functions in separate files
  • Filter & segregate the test cases to be automated
  • Make sure modules doesn’t change frequently
  • Employ skilled and experienced resources

Q9. What are the factors that determine the effectiveness of Automation Testing?

The factors that determine the success of automation are:

  • Time saved
  • Number of defects found
  • Test coverage
  • Maintenance Time
  • Installment cost
  • Test re-usability
  • Quality of software under test

Q10. What are the main differences between Automation Testing & Manual Testing?

Manual TestingAutomation Testing
In manual testing, the accuracy and reliability of test cases are low, as manual tests are more prone to human error.Automated testing, on the other hand, is more reliable as tools and scripts are used to perform tests.
The time required for manual testing is high as human resources perform all the tasks.The time required is comparatively low as software tool execute the tests
In manual testing investment cost is low, but Return of Investment(ROI) is low as well.In automation testing investment cost and Return of Investment, both are high.
Manual testing is preferred when the test cases are run once or twice. Also suitable for Exploratory, Usability and Adhoc Testing.  You can use test automation for Regression Testing, Performance Testing, Load Testing or highly repeatable functional test cases
Allows for human observation to find out any glitches. Therefore manual testing helps in improving the customer experience.As there is no human observation involved, there is no guarantee of positive customer experience.

Q11. Is it possible to achieve 100% automation?

100% automation is not achievable. Because there are certain test cases that cannot easily be automated. In such cases, it will take far more effort to write automation tests than it would ever save. For example, checking the background color of a window or dialog box. Well, it would take double the time and effort to create a test case for such a simple task. Manual testing is best in such cases. So, complete automation is not possible.

Q12. What are some conditions where we cannot consider automation testing?

  • When you have ever-changing requirements
  • Exhaustive documentation
  • One time test cases
  • Ad-hoc testing
  • Exploratory testing
  • User interface testing

Q13. What are some modern applications of Automation Testing?

Well, there are plethora of examples that I can list. Here are a few interesting ones. Amazon is testing delivery drones that pick up warehouse orders which are sorted by robots. Google is testing self-driving cars. While Starbucks is testing cashier-free stores dedicated to mobile ordering and payment. Facebook is testing a brain-computer interface that may one day translate thoughts into digital text.

Q14. Can automation testing replace manual testing?

Automation testing isn’t a replacement for manual testing. No matter how good automated tests are, you cannot automate everything. Manual tests play an important role in software development and come in handy whenever you have a case where you cannot use automation. Automated and manual testing each have their own strengths and weaknesses. Manual testing helps us to understand the entire problem and explore other angles of tests with more flexibility. On the other hand, automated testing helps save time in the long run by accomplishing a large number of surface level tests in a short time.

Q15. Is documentation necessary in Automation Testing?

Documentation plays a very important role in Test Automation. All the methods and procedures that you employ should be documented so that they are repeatable. Test specifications, designs, configurations, code changes, automation plan, test cases listed for automation, bug reports, user manuals should all be documented.

Q16. Name some popular Automation Testing tools used worldwide?

Some of the most popular automation testing tools include Selenium, Watir, Ranorex, Appium, UFT, Tosca and SoapUI.

Intermediate Level Test Automation Interview Questions

This section of Test Automation Interview Questions will cover the topics like why automate, how to automate and automation testing tool selection.

Q17. When should you prefer Manual Testing over Automation Testing?

There are certain cases where manual testing is preferred over automation testing, like:

  • Short-time projects: Though automated tests are aimed at saving time and resources, it takes time and resources to design and maintain them. For example, if you are building a small promotional website, it can be much more efficient to rely on manual testing.
  • Ad-hoc Testing: In ad-hoc testing, there is no specific approach. It is a totally unplanned method of testing where the understanding and insight of the tester is the only important factor.

  • Exploratory Test: This type of testing requires the tester’s knowledge, experience, analytical, logical skills, creativity, and intuition. So human involvement is important in exploratory testing.

  • Usability Testing: Here the tester needs to measure how user-friendly, efficient, or convenient the software or product is for the end users. Human observation is the most important factor, so a manual approach is preferable.

Q18. When is Automation testing useful? Which test cases to Automate?

It is impossible to automate all test cases, so it is important to determine which ones to be automated first. There are some top candidates like:

  • Repetitive tasks are primary candidates. Not only are those tasks boring, but they’re often the ones where mistakes are most common.
  • Tests that require multiple data sets. Rather than manually typing in all the information into fields, automate the process to read in information from a data source, and automatically type it into the respective forms.
  • Tests that run on several different hardware or software platforms and configurations.
  • Manually exporting bulk of data, crunching the numbers, and making detailed graphs is time-consuming. You can invest in a tool or automation strategy that will do the task for you.

Q19. How to implement automation, what would be the steps?

Success in test automation requires careful planning and design work. The steps include:

  • First, you should define your goal for automated testing and determine which types of tests to automate. Once you are sure of what kind of test are you performing, you need to select the appropriate tool.
  • Next, you define the scope of automation. Decide which test cases to automate.
  • After determining your goal and which types of tests to automate, you should decide what actions your automated tests will perform. Create test scripts and develop test suits to hold your test cases.
  • Next step is execution. Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool.
  • Once executed, the next step is to create report formats so that individual test logs with details of the actions performed during testing are recorded. Define the type of test report format to be created, screenshots, messages etc.

Q20. What are the different approaches to Test Automation?

Code-Driven Testing: Here the focus is mainly on test case execution to find out if the various sections of code are performing as per expectations or not. This testing approach is a popular method used in agile software development.

Graphical User Interface (GUI) Testing: Applications that have GUIs may be tested using this approach. Testers can record user actions and analyze them any number of times. Test cases can be written in a number of programming languages like C#, Java, Perl, Python etc.

Test Automation Framework: Framework is a set of guidelines used to produce beneficial results of the automated testing activity.  It brings together function libraries, test data sources, object details, and other reusable modules.

Q21. What are the points that are covered while planning phase of automation?

  • Decide the right automation tool
  • Choose the right automation framework if needed
  • Define the scope of automation
  • Plan for test cases & test suites
  • Identify test deliverables
  • Set up test environment configurations

Q22. How to decide which tool to use for Automation testing in the projects?

To decide which tools to choose, you can follow the steps listed below:

  1. Understand your project requirements thoroughly and identify the testing scenarios that you want to automate
  2. Search for the list of tools that suit your project’s requirements
  3. Identify your budget for the automation tool
  4. Now compare each tool for key criteria like: is it easy to develop and maintain the scripts for the tool or not, does it work on platforms like web, mobile, desktop etc. Does the tool have a test reporting functionality? How many testing types can this tool support? How many languages does the tool support
  5. Once you have compared the tools, select the tool which is within your budget. Make sure it gives you more advantages based on the key criteria listed above

Q23. What are the primary features of a good automation tool?

AutomationTool - Test Automation Interview Questions - Edureka

Q24. On what basis you can map the success of automation?

  • Defect Detection Ratio
  • Automation Execution Time
  • Reduce in the labor cost

Q25. What is the scripting standard while performing automation testing?

Uniformity in naming convention, commenting the functionality whenever and wherever necessary, adequate indentation, robust error handling and ability to recover easily are some good practices that you should follow while scripting.

Q26. What are the differences between open source tools, vendor tools & in-house tools in automation testing?STIG CERTIFICATION TRAINING COURSE 

Next

  • Open Source Tools: Free tools with source code available on the internet
  • Vendor Tools: These tools are developed by companies and they come with licenses
  • In-House Tools: Tools built by companies for their own use

Q27. What are the advantages of using an Automation Framework?

The advantages of using test automation framework, are:

  • Re-usability of code
  • Reliable recovery scenarios
  • Maximum test coverage
  • Low maintenance cost
  • High Return of Investment(ROI) in the long run
  • Minimal manual intervention
  • Easy reporting capabilities

Q28. What are the important modules of Test Automation Framework?

Test Assertion Tool: This module will provide assert statements for testing the expected values in the application under test.

Data Setup: Each test case needs to take the user data either from the database or from a file or embedded in the test script.

Build Management Tool: Tool that you can use to build a framework so that you can create test scripts.

Continuous integration tool: Continuous Integration/Continuous Delivery tools are required for integrating and deploying the changes done in the framework at each iteration.

Reporting tool: A reporting tool is required to generate a readable report after the test cases are executed. This way you can get a better view of the steps, results, and failures.

Logging tool: The logging tool in the framework helps in better debugging of the error and bugs.

Q29. What are some popular automation testing frameworks available?

  • Linear Automation Framework.
  • Modular Based Testing Framework.
  • Library Architecture Testing Framework.
  • Data-Driven Framework.
  • Keyword-Driven Framework.
  • Hybrid Testing Framework.

Q30. What do you think are the use cases where implementing automation is not suggested?

100% test automation is impossible. Manual testing is still necessary. Tests that cannot be automated are:

  • Ad hoc testing – Here testing is done without preparation and writing test cases. During ad hoc testing, a QA specialist randomly tests the functionality of the system; his aim is to be creative, “break” the system and discover flaws.
  • Exploratory testing – During exploratory testing, a QA specialist tests a product like an explorer, relying on his personal experience. After getting the idea of a product’s functionality, a tester designs test cases which he uses to further test the product. In exploratory testing, the tester needs to rely on his personal experience and design test cases in the testing process.
  • User interface testing – Here, a QA specialist validates the properties and states of interface elements. Also, they make sure that design elements in the interface match elements in the final layout.

Advanced Level Test Automation Interview Questions

This section of Test Automation Interview Questions will cover tricky questions related to automation testing. 

Q31. What are the advantages & disadvantages of using Automation Testing?

Advantages of automation testing are:

  • Improves the reliability of tests
  • Reduces maintenance cost
  • Increases amount of test coverage
  • Increases the speed of test execution
  • Improves accuracy of the software tests

Disadvantages of automation testing include:

  • Development and maintenance time is more
  • The initial investment is high
  • Skilled resources are required
  • Environment set up is complex
  • Debugging test scripts is difficult

Q32. Is Automation Testing a Black-box testing or a White box testing?

Automated testing can be both black or white box type of testing depending on the scenarios in which automation is performed. It is black box testing as tester usually tests the application without knowing the low-level design or code of the application. But sometimes, automated test scripts need access to the database details that are used in the application thus it can be a type of white-box testing as well.

Q33. What are the attributes of a good Test Automation Framework?

  • Modular: The framework should be adaptable to change.
  • Reusable – The commonly used methods or utilities should be kept in a common file which is easily accessible to all the scripts.
  • Consistent – The test suite should be written in a consistent format by following the coding practices.
  • Independent – The test scripts should be written in such a way that they are independent of each other.
  • Logging – It is good to have implemented the logging feature in the framework.
  • Reporting – Once the scripting is done, we can have the results and reports sent via email.
  • Integration – Automation framework should be such that it is easy to integrate with other applications

Q34. What are Test Automation Framework development challenges?

Some of the challenges that you come across while using frameworks are:

  • Ability to understand what needs to be achieved out of test automation
  • Identifying requirements from multiple areas to design automation Framework
  • Tool identification

Q35. What is data-driven testing?

The aim of data-driven automation testing is to simplify the testing process involving complex and huge data sets. In Data Driven Testing the test data includes input, expected output, and a result field. These fields are listed in files like CSV files, excel files, text files, XML files etc. These files are then fed to automation tool for execution, which in turn compares the expected and actual data. Then the obtained results are documented in the result field.

Q36. What is TestNG? List out some of its prominent features?

TestNG is an open-source automated testing framework, where NG refers to NextGeneration.The creator of TestNG is Cedric Beust. It is inspired by other frameworks like JUnit and NUnit. It is designed to be better than JUnit, especially while testing integrated classes.TestNG gives the developer the ability to write more flexible and powerful tests with ease. Some of its prominent features include:

  • Supports annotations
  • Based on more Java and OO features
  • Supports testing integrated classes
  • Provides flexible runtime configuration
  • Supports dependent test methods, parallel testing, and load testing
  • Offers flexible plug-in API.
  • And supports multithreading as well

Q37. What are the advantages of TestNG over JUnit?

In TestNG, testing is based on Junit, but it designed to overcomes the limitations of JUnit. Some advantages of TestNG over Junit are:

  • Annotations are easier to understand in TestNG
  • In TestNG, test cases can be grouped easily
  • TestNG supports parallel testing unlike in JUnit

Q38. In what conditions we cannot use Automation Testing for Agile method?

Test teams responsible for product development at the companies adopt Agile practices to achieve their goals. Test automation is a fundamental part of Agile, but there are certain times where automation testing in agile is useless, like:

  • When there is an exhaustive level of documentation
  • When the requirements keep changing
  • One-time tasks and exploratory testing cases shouldn’t be automated

Q39. What are some best practices that you should follow while Automation Testing?

To get maximum ROI of automation, keep track of the following points:

  • The scope of Automation needs to be determined in detail before the start of the project
  • Select the right automation tool that fits your requirements
  • Choose an appropriate framework if needed
  • Follow scripting standards while writing the scripts for automation
  • Next check if the automation that you performed is successful or not. Measure metrics like
    • Percent of defects found
    • The time taken for automation
    • Customer Satisfaction Index
    • Productivity improvement

Q40. What are the risks associated with the test automation?

Some of the risks involved with automation testing are:

  1. It demands killed resources with some knowledge about programming and the ability to adapt easily to the new technologies
  2. The initial cost for automation is too high
  3. If the user interface has ever-changing requirements, then automation testing will be problematic
  4. If the application that is being tested is not stable, you might encounter a lot of errors you might encounter a lot of errors

Mithun Kumar

I am Mithun Kumar, a freelance and working software professional. I have around 6 years of experience in software Quality Assurance in Manual and Automation with Various tools and Technology. I am always learning new technologies and find myself up to date with the latest software technologies.

Post a Comment

Thanks! for you valuable comment.

Previous Post Next Post