3 Years Experience QA Automation Engineer Interview Questions with Answers
Automation Interview Questions
As ThoughtCoders is committed to supporting job aspirants by providing them with training and supporting them in interviews. In this context, we are publishing interview experiences and questions. In addition job, seekers can prepare themselves for interviews and crack the interviews easily. Here are the automation interview questions which were asked by a Senior Automation Professional who has 3+Years of experience in automation. This interview was with the reputed Bank of USA and they are hiring QA Automation Engineer.
Please refer below for automation interview questions and answers:
Q1) Could you please introduce yourself??
Hint: They will give an introduction to their environment and then ask why you would be a good fit for them. Be sure to listen and give a direct, concise response as to why you can add value based on their environment.
Answer: (For Automation Engineer)
As I have proven experience in QA Automation which includes framework development, framework maintenance, automation scripting, QA utility development, and process automation. I committed to identifying repeated steps and automated those using open source APIs. Being automation enthusiastic I explore automation blogs, new technologies and integrate new features in the automation framework. Therefore, this motivates me to work as an Automation Engineer.
Q 2) How did you find yourself in testing as opposed to programming for example?
Answer: Being the tester, I have to deliver applications with excellent quality or with zero defect leakage and ensure to give the best user experience to end-users. Therefore, I need to design test scenarios, understand business flow, user requirements, and develop test data to ensure 100% testing. Most importantly, this challenge and being directly responsible for quality motivates me to work as opposed to Programmers.
Q 3) With your experience using selenium, are you familiar with a different types of wait concepts?
Answer: Selenium provides three types of waits:
Implicit Wait:
An implicit wait is a method to tell time to wait for a certain time to load a particular element that is immediately not available. In other words, it is a default wait and applicable for all elements, by implicitly waiting, WebDriver polls the DOM for a certain duration when trying to find any element, this can be useful when certain elements on the webpage are not available immediately and need some time to load.
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
2. Explicit Wait: An explicit wait is a way to halt the automation script or freeze the thread until the condition passes it to resolve. Condition is checked once the given time is completed till the script is halted.
Since explicit waits allow you to wait for a condition to occur, they make a good fit for synchronizing the state between the browser and its DOM, and your WebDriver script.
- alert is present
- element exists
- element is visible
- title contains
- title is
- element staleness
- visible text
WebDriverWait wait = new WebDriverWait(driver,30) wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[contains(text(),'COMPOSE')]")))
3. Fluent Wait:
Fluent Wait instance is used for waiting a maximum amount of time to wait for a condition (until element display, until element clickable, etc. for instance), as well as the frequency with which to check the condition. In addition, users may configure the wait to ignore specific types of exceptions whilst waiting, such as NoSuchElementException
when searching for an element on the page.
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver) .withTimeout(Duration.ofSeconds(30)) .pollingEvery(Duration.ofSeconds(5)) .ignoring(NoSuchElementException.class); WebElement foo = wait.until(new Function<WebDriver, WebElement>() { public WebElement apply(WebDriver driver) { return driver.findElement(By.id("foo")); }
Q 4) Are you familiar with Cucumber, Gherkin, SpecFlow, and can you explain your experience with those tools?
Answer: Yes, I am aware of Cucumber, Gherkin, and Specflow. These tools are used in Behavior-driven Development (BDD Framework). Cucumber helps us to write feature files in Gherkin language and map with Automation script (step definition). In the Feature file we write test cases in Gherkin languages by using keywords –Given, When, And Then and step definition is programming implementation of test steps and validations. In BDD Framework, feature file is run by using TestRunner. Moreover, Test Runner is implemented with JUnit/TestNG and used for mapping step definition, feature file and trigger automation test.
Q 5) Test driven development and BDD – to your knowledge how would you describe the two?
Answer: Test Driven Development is a testing methodology or a programming practice implemented from a developer’s perspective. In this technique, a QA engineer starts designing and writing test cases for every small functionality of an application. This technique attempts to answer a simple question – Is the code valid? The main intention of this technique is to modify or write a fresh code only when the test fails. After that, it results in lesser duplication of test scripts. Above all, this technique is largely popular in agile development ecosystems. In a TDD approach, automated test scripts are written before functional pieces of code.
Behavioral-Driven Development (BDD) is a testing approach derived from the Test-Driven Development (TDD) methodology. In BDD, tests are mainly based on systems behavior. This approach defines various ways to develop a feature based on its behavior. In most cases, the Given-When-Then approach is used for writing test cases. Let’s take an example for better understanding:
Given the user has entered valid login credentials
When a user clicks on the login button
Then display the successful validation messageAs shown above, the behavior is illustrated in a very simple English language, also known as a shared language. Therefore, this helps everyone in the team responsible for development to understand the feature behavior.
Key benefits of BDD Approach
- Helps reach a wider audience
- by the usage of non-technical language
- Focuses on how the system should behave from the customer’s and the developer’s perspective
- BDD is a cost-effective technique
- Reduces efforts needed to verify any post-deployment defects
Q 6) What is your experience with version control systems?
Answer: Version Control Systems helps us to record our code changes, place code on central repository and enable us share code with Teammates. Above all, I have experience on Bit Bucket which is Atlassian Product. In addition, I can create branch, commit push, clone, checkout and create pull requests using this tool.
Q 7) Do you have any experience doing web accessibility testing?
Answer: Accessibility Testing is the type of testing done to ensure usability of Application is usable with maximum people as much possible. In other words, Accessibility Testing is to make your content and service usable by people with disabilities. Above all, I have experience on WAVE tool which used for Accessibility Testing.
It have following features:
- Most Popular tool used for Accessibility Testing
- It captures contrast, icons, and structural issues.
- Captures missing buttons, labels, and alignment issues.
- Firefox plugin available
Q 8) Have you heard of Selenium Grid, have you used it and what is your experience with parallel testing? Do you have any experience with parallelizing tests using C#?
Answer: Enabling parallel tests execution
Nunit is the tool that gives us the ability to run tests in parallel, to enable parallelism in our project we need to add the following line in the AssemblyInfo.cs file in our project.
The default number of threads that Nunit runs in parallel is four. If we want to run a higher number of threads we need to add the following line in our AssemblyInfo.info file.
Q 9) On a specific test, especially on a project like this, we are going to end up with insane amounts of runtime for our testing suites to get through a full regression. What types of things have you looked at and worked on to speed up the individual test to shorten up the time for testing?
Answer: Firstly, I will identify the test cases which took much time and then do analysis and try to identify why it took much time (either due to multiple application opening and reopening, GUI loading time, etc) and find some alternate way to automate such API/Backend. In addition, look for parallel execution of test cases.
Q 10) Do you have any experience with Performance testing? Any with JMeter and elaborate with that and general performance testing overall?
Answer: JMeter is an open-source, Java-based load testing tool. It’s a very simple and intuitive GUI. Moreover, using JMeter we can automate Web, HTTP, HTTPS, soap, and database via JDBC, LDAP, JMS and Mail, Java Objects, and TCP.
In addition, we can put the concurrent load, step load, perform test n Bulk data, and give the huge number of result sampler using them we can capture desired performance testing metrics.
Most importantly, Jmeter is used to measure the performance of
Firstly
Web (HTTP/HTTPS, node.js, PHP applications)
Secondly
SOAP And Rest APIs
Thirdly
Database Performances
Lastly
FTP, MAIL and TCP, JAVA Objects and LDAP
More on JMeter
Hope this automation interview questions experience guides you in QA Automation interview preparations. Feel free to contact us with any queries. In conclusion, to learn more on Software Testing, Automation, Cypress, Selenium, JMeter, API Testing and Database explore our blog sections. Moreover, you may also contact us for training, support, or any consultation over Facebook or Twitter!
nice
Superb Very creative Superior work/Superior job Very fine work Supreme Very interesting Terrific Very stylish Terrific job Well thought out Thank you