Are you a software geek preparing for an interview? Well, we wish you a hearty, ‘All the best!’
Nervous? About What? Automation testing! Here are some questions you need to prepare to ace an interview!
Test automation has an essential role to play in the entire software development lifecycle.
A lot of times when people prepare for an automation testing interview, they focus only on the automation tool-specific questions.
However, people should also consider the fact that learning and knowing about the automation tools is not the same as knowing about the automation testing and hence it’s not the ultimate goal.
Thus, whenever you are preparing for a ‘test automation’ interview, it is essential for you to consider ‘Automation’ as a whole and focus on its framework and all the steps involved.
What are automation and automation testing?
Automation is any form of action that can help reduce human effort.
Automation testing is of course, automated. This is completely different from manual testing as in manual testing, a human is responsible for testing the functionality of the software in the way a user would.
Automation testing is a software testing method used to test and compare the expected outcomes with the actual outcomes. It is achieved by using automation tools or by writing test scripts.
Automation testing is used to automate testing tasks that are difficult to perform manually like repetitive tasks. It requires far less time than manual testing due to the fact that automation testing is done with the help of an automation tool while humans perform manual testing. Less time is needed in exploratory tests and more time is needed in maintaining test scripts while increasing overall test coverage just like mystery rooms.
What are the tests that can be automated?
Following are the things/tests that can be automated:
- Build deployment
- Test data creation
- Regression test suite
- Smoke / Sanity test suite
Automating behind the graphical user interface like testing of APIs.
Is test automation useful or not?
Automation testing proves to be useful in the following scenarios:
Non-functional Testing: Automation-testing is used to test the non-functional aspects of an application.
For Example, Performance testing and load testing are very difficult tasks for humans to track and analyze.
Regression Testing: Regression testing is done in case of a bug fix or new module implementation, then is important to make sure that the already implemented and unchanged functionality is not affected in any manner. In this case, the people end up running the regression test multiple times.
For Example: After each change request or bug fix and after every iteration in the case of the incremental development approach.
Repeated execution of the same tests: Sometimes, it is important to run the same set of test cases for a different set of data. Also, after each build release or on multiple hardware and software or a combination of hardware and software.
Automating the test cases in the above scenarios helps in maximising the speed of testing and minimising human errors.
Complex calculation: Automation testing in this case helps in checking or testing scenarios that are prone to human errors.
Is it possible to achieve 100% automation?
100% automation is difficult to achieve because then there will be a lot of edge test cases and some cases that are not executed very often. Automating these test cases which are not executed very often will not be able to add value to the automated suite.
How can we identify the test cases which are suitable for automation?
The most important step towards automation testing is the identification of the most appropriate test cases for automation.
How to decide the automation tool that one should use for their Automation testing in the projects?
To identify the best tool for Automation testing for your project you need to do the following:
- You need to understand your project requirements thoroughly and identify the testing scenarios that you want to automate.
- Lookup and search for the list of tools that support your project’s requirements.
- Plan out your budget for the automation tool. Then, choose the tools within your budget.
- Be sure that you already have skilled resources for using the automation tools. If you don’t have the necessary skilled resources for using the automation tool then identify the cost for training the existing resources or hiring new resources for the work.
- Compare each automation tool with the key criteria:
- Once you have compared the best automation tools for your purpose, select the tool which is within your budget and supports your project requirement, and gives you more advantage based on the key criteria.
What are the key criteria for automation testing tools?
The key criterion for automation testing tools is as follows:
Does the automation tool have test reporting functionality? If not, can it be easily configured to the tool? Is that automation tool suitable for cross-browser support for web-based applications? How many different testing types can the tool support?
- How many languages does this automation tool support?
- Is it easy to develop and maintain the scripts for the tool?
- Can a non-technical person also execute the test cases with some simple training?
Is the tool able to support different types of platforms like web, mobile, desktop, and much more based on your project requirements?
What is the next step after deciding the automation tool to use?
Once the tool is finalised, the next step is to design the framework.
What is the framework?
A framework is a part of the structure of the entire automation suite. It is also a guideline, which when followed properly, can result in a structure that is easily maintained and enhanced.
The guideline of the framework includes:
- Handling of environment files and properties file
- Reporting of data
- Handling logs
- Coding standards
- Handling the test data
- Maintaining and handling the elements (object repository in QTP)
The questions above are the main questions that are important for automation tools or programming language. Automation testing interviews also include tool and programming language-specific questions depending upon the tool that the people have worked with.
Most of the test automation interview questions are centered on the framework that the person develops, so it is recommended that everyone creates and understands their test framework thoroughly.
Have you gone through all the Q&A? Now, get ready and crack any software interview!