UST Global interview experience Real time questions & tips from candidates to crack your interview

Selenium Automation Tester

UST Global
upvote
share-icon
3 rounds | 18 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 3 months
Topics: Software Testing , Selenium , Cucumber , API Testing , Automation Testing
Tip
Tip

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.

Application process
Where: Referral
Eligibility: Above 1 years of experience
Resume Tip
Resume tip

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Interview rounds

01
Round
Medium
Face to Face
Duration60 minutes
Interview date2 Mar 2018
Coding problem8

This round started with some basic questions from Software Testing and then the interviewer started asking some questions from Automation Testing.

1. Software Testing Question

Explain STLC.

Problem approach

STLC (Software Testing Life Cycle) is a fundamental part of SDLC which is used to test software and ensure that the quality standards are met. It generally involves both verification activities and validation activities. In this, different activities are executed in a specific order throughout the software testing process. There are basically six different
phases in STLC. They are as follows :

1) Requirement Analysis
2) Test Planning
3) Test Case Development
4) Test Environment Setup
5) Test Execution
6) Test Cycle Closure

2. Software Testing Question

Write the difference between Test Stub and Test Driver.

Problem approach

Test driver and test stub, both are types of test harness that are used to provide a simulation environment for testing a module or component. They both are dummy modules specially created for test purposes.

Test stubs : Test stubs are used in a top-down testing approach and allow testing of the upper levels of the code when the lower levels of the code are not developed yet. It is used as ‘called programs’ when subprograms are under construction.

Test drivers : Test drivers are used in a bottom-up testing approach and allow testing of the lower levels of the code when the upper levels of the code are not developed yet. It is used as ‘called programs’ when main programs are under construction.

3. Software Testing Question

What do you mean by Data flow testing?

Problem approach

Data flow testing is a type of structural testing that is used to analyze the flow of data in the program. In this, a programmer can perform various tests on data values and variables. Using this testing, one can determine the variables that are used at every stage of the program’s control flow. It helps us in the following ways : 

1) Eliminate or remove variables that are never used after being declared
2) Pinpoint variables that are used but never declared
3) Deallocate variable before it is used
4) Pinpoint variables that are defined multiple times before it is used

4. Software Testing Question

What is boundary value analysis?

Problem approach

In software, many errors occur near the edges of the range of the data values. For example, when the programmer uses the greater-than operator (>) instead of the greater-than-or-equal-to (>=) operator, it causes the off-by-one indexing error.

Typically, developers miss these boundary cases because they follow a happy path when developing and testing. Boundary value analysis helps to discover the errors caused by extreme values. The tester chooses the test data at and immediately above and below the boundaries of the input domain of the data.

For example, if an input field expects a string of 20 characters long, the tester tests it with strings of lengths 19, 20 and 21.

5. Automation Testing Question

What are the different parts of a test automation framework?

Problem approach

A test automation framework makes it easy to perform automation testing for your software. Here are some components of a test automation framework.

1) Test Data Management :
i) A big problem in automation testing is generating the test data. A good test automation framework makes it easy to build test data for the application under test.


2) Testing Libraries :
i) Managing and running the automated tests is a crucial component of any automated testing strategy. A test automation framework provides libraries that make test management easy.
ii) A good test automation framework provides support for unit tests, integration tests, and end-to-end tests.


3) Testing Tools :
i) Includes any GUI or command-line tools that make it convenient for testers to run the set of tests repeatedly.
ii) It also consists of tools that enable testing the software under high load to conduct performance testing.

6. Automation Testing Question

What are some of the best practices in test automation?

Problem approach

Here are some of the best practices a software development and the testing team should use to ensure quality software.

1) Decide what to automate :
i) It’s not possible or practical to automate certain tests, such as usability, accessibility, exploratory testing, or non-repetitive test cases that frequently change.


2) Assign test cases based on skill and experience :
i) When dividing test cases, take into account the skills and experience of the tester and the complexity and severity of the feature under test.


3) Removing Uncertainty :
i) The whole goal of test automation is to have reliable, accurate, consistent tests that provide helpful feedback to the tester. If the tests fail due to bugs in the test itself, or it’s giving false positives, then the ROI on test automation starts decreasing.


4) Choosing the right frameworks and tools :
i) There are a lot of tools to perform automation testing. Picking the wrong tool for the test at hand will waste time and provide false confidence to release software that may fail in production.


5) Keeping test records in a bug database :
i) Using a bug database is a best practice whether a team uses test automation or not.
ii) Whenever new bugs are found by the automation tool or by the testers, they should be recorded in a bug tracking tool with the exact steps to reproduce the bugs and other details.

7. Automation Testing Question

How do you automate the testing of CAPTCHA?

Problem approach

It’s not possible to automate the testing of CAPTCHA. That is the goal behind any good CAPTCHA strategy. By definition, a computer can’t automate it. If it could, then it’s not a good challenge that you can use in your application.

However, if you need to test an application that uses CAPTCHA, you have to work with the development team to build a workaround or a back door that allows the automated test to bypass the CAPTCHA challenge. It’s important to restrict this workaround only in the test environment and not release it to production.

8. Automation Testing Question

What is Protractor?

Problem approach

1) Protractor is an open-source automated testing framework that allows you to perform end-to-end testing of your web applications. It’s built on top of WebDriverJS.

2) Protractor is developed by Google and is especially used for testing Angular applications.

3) Protractor runs the tests against the web application by running it in real web browsers.

4) It also interacts with the application like an end-user would, e.g. clicking buttons, links, filling forms, etc., and verifying the result with the expected outcome.

5) Since Protractor is based on the Selenium WebDriver, it’s easy to perform cross-browser testing. It provides a simple API compared to Selenium, so the learning curve is not too steep.

6) Developers can quickly get familiar with it and start writing the end-to-end UI tests.

7) You can also take snapshots and compare them using Protractor. It also allows you to run parallel test cases on different machines.

02
Round
Medium
Face to Face
Duration60 minutes
Interview date2 Mar 2018
Coding problem8

This round had questions majorly from Selenium and Cucumber.

1. Selenium Question

What are the different components of Selenium?

Problem approach

Selenium is not a single tool or a framework. It is a suite of tools that work with each other or in isolation to provide different types of automation testing. Here are the four major components of Selenium.

1) Selenium WebDriver
i) A collection of open-source APIs and browser-controlling code implementations that provide a concise and straightforward programming interface.


2) Selenium Grid
i) It enables the tester to run multiple tests across different browsers, machines, and operating systems in parallel.


3) Selenium IDE
i) Stands for the Integrated Development Environment.
ii) It allows the tester to write, record, run and debug the test cases.

2. Selenium Question

Why should Selenium be selected as a testing tool for web applications or systems?

Problem approach

Selenium provides the following advantages, which make it an excellent automated testing framework :

1) It is free and open-source software with a large user base and supports providing community.

2) It has cross-browser compatibility and supports multiple browsers like Google Chrome, Mozilla Firefox, Internet Explorer, Edge, Opera, Safari, etc.

3) It supports multiple operating systems such as Windows, Linux, macOS, etc.

4) It facilitates the usage of multiple programming languages including Scala, Ruby, Python, PHP, Perl, Java, Groovy, C#, etc.

5) It provides support for distributed testing as well.

3. Selenium Question

What is meant by XPath in Selenium. Explain XPath Absolute and XPath Relative.

Problem approach

XPath, also defined as XML-Path (Extensible Markup Language Path), is a language used to query XML documents and provide functionalities like locating elements in Selenium by iterating through each element in a webpage. In XPath, data is stored in a key-value pair format similar to an HTML tag. It uses a single slash, i.e. ‘ / ’ for creating an absolute path, and a double slash, i.e. ‘ // ’ for creating a relative path for an element to be located on a webpage.

4. Selenium Question

Difference between Selenium and Cucumber.

Problem approach

Open-source testing tools, Selenium and Cucumber are both used for functional testing. However, there are some distinctions between them.

Here are some key distinctions between Selenium and Cucumber :

1) Cucumber is a behaviour-driven development automation tool that may be used with Selenium. Selenium is a web browser automation tool for web projects (or Appium).

2) Cucumber is used for acceptance testing, while Selenium is used for automated UI testing.

3) Technical teams (SDETs/programmers) favour Selenium, while non-technical teams often choose Cucumber (business stakeholders and testers).

4) Cucumber isn't required for Selenium to work. Cucumber's step-definition implementation is based on Selenium or Appium.

5) The script creation with Selenium is complicated, whereas Cucumber is straightforward.

5. Selenium Question

Explain what are the JUnits annotation linked with Selenium?

Problem approach

The JUnit annotations linked with Selenium are :

1) @Before public void method() – It will perform the method () before each test, this method can prepare the test

2) @Test public void method() – Annotations @Test identifies that this method is a test method environment

3) @After public void method() - To execute a method before this annotation is used, test method must start with test @Before

6. Cucumber Question

How can you run a selected test from a group of tests in Cucumber?

Problem approach

1) We may execute a single test from a set of tests in the Cucumber framework using the tags idea.

2) This is found in the TestRunner file's @CucumberOptions section. With the use of the @t keyword, we may tag a scenario in the feature file.

3) A scenario can have one or more tags within the feature file. We can separate test scenarios with the assistance of tagging.

4) We must pass the value within the tags argument to execute a selected test in Cucumber, and we must pass the <~tagname> value within the tags parameter to exclude a test from running.

7. Cucumber Question

What is grouping in the context of Cucumber?

Problem approach

Cucumber is unconcerned about the names of your step definition files or the order in which you place them. Instead of maintaining all steps in a single file, we can create steps.rb file for each major action/feature. This is referred to as grouping.

8. BDD Question

Explain briefly how Behavioral Driven Development(BDD) works?

Problem approach

There are majorly three steps in the working of BDD. They are as follows:-

1) Behaviour Description: We list down the features of our application first in the feature file.

2) Making the Step Definition file: The mapping between each step of the scenario defined in the feature file and a code of the function to be executed is stored in the steps definition file.

3) Testing and running: We run the test cases to check if we pass. In general, a lot of failures are observed before achieving the final code.

03
Round
Easy
HR Round
Duration30 minutes
Interview date2 Mar 2018
Coding problem2

This is a cultural fitment testing round. HR was very frank and asked standard questions. Then we discussed about my role.

1. Basic HR Question

Why should we hire you?

Problem approach

Tip 1 : The cross questioning can go intense some time, think before you speak.

Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.

Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round, like what are the projects currently the company is investing, which team you are mentoring. How all is the work environment etc.

Tip 4 : Since everybody in the interview panel is from tech background, here too you can expect some technical questions. No coding in most of the cases but some discussions over the design can surely happen.

2. Basic HR Question

Tell me something not there in your resume.


 

Problem approach

If you get this question, it's an opportunity to choose the most compelling information to share that is not obvious from your resume.

Example :

Strength -> I believe that my greatest strength is the ability to solve problems quickly and efficiently, which makes me unique from others.

Ability to handle Pressure -> I enjoy working under pressure because I believe it helps me grow and become more efficient.

Tip : Emphasize why you were inspired to apply for the job. You can also explain that you are willing to invest a great deal of energy if hired.

These are generally very open ended questions and are asked to test how quick wit a candidate is. So there is nothing to worry about if you have a good command over your communication skills and you are able to propagate your thoughts well to the interviewer.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
Senior Software Engineer
3 rounds | 15 problems
Interviewed by UST Global
2174 views
0 comments
0 upvotes
Senior Software Engineer
3 rounds | 14 problems
Interviewed by UST Global
3056 views
0 comments
0 upvotes
Senior Software Engineer
3 rounds | 6 problems
Interviewed by UST Global
2453 views
0 comments
0 upvotes
Senior Systems Engineer
3 rounds | 23 problems
Interviewed by UST Global
1617 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Selenium Automation Tester
3 rounds | 18 problems
Interviewed by Ernst & Young (EY)
5553 views
0 comments
0 upvotes