Robert Bosch Engineering and Business Solutions Vietnam interview experience Real time questions & tips from candidates to crack your interview

Senior Test Engineer

Robert Bosch Engineering and Business Solutions Vietnam
upvote
share-icon
3 rounds | 17 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
Video Call
Duration60 Minutes
Interview date15 Jan 2022
Coding problem7

In this round , I was first asked some basic questions revolving around Software Testing in general and then when I told
the interviewer that I was more inclined towards Automation Testing he started asking me asking me questions around
that. In the end, the interviewer also asked me some questions related to SQL and DBMS.

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

What is the importance of agile testing?

Problem approach

Agile testing is basically a software testing process that uses agile methodologies i.e., follow test-first design
paradigm. It evaluates the software from the customer's point of view. It does not require any development team to
complete coding for starting QA, instead of testing and coding can go hand in hand. Features are tested as they are
developed. Some of its advantages include :

1) Boosts the performance as it allows all the testers and developers to work together
2) Features are tested as they are developed
3) Ensure successful delivery of the high-grade product
4) Saves time and money
5) Flexible and highly adaptable to changes
6) Improves product quality and allows developers to release software as early as possible

3. Automation Testing Question

What’s the difference between manual testing and automated testing?

Problem approach

1) Manual Testing - A human executes the test cases one by one, without any software assistance.
Automated Testing -Tests are executed by a testing tool or framework, without human assistance.

2) Manual Testing - Useful for non-repeatable tests that involve human ingenuity, participation, and domain
experience.
Automated Testing - Useful for repeatable tests where the software feature under test doesn’t change frequently.

3) Manual Testing - Good for accessibility and usability testing, as the tester can test the software from an end-user’s
perspective.
Automated Testing - Good for testing regression issues to make sure that the software didn’t break after introducing
new changes.

4) Manual Testing - Can be slow and time-consuming, and subject to human errors and misjudgment.
Automated Testing - Since it’s run by a computer, automated tests are fast and free from errors, given that we are
testing the right thing.

5) Manual Testing - It’s possible to test the software in a randomized manner, also known as exploratory testing.
Automated Testing - Exploratory testing is not possible in automated testing.

4. 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.

5. SQL Question

What are triggers?

Problem approach

Triggers in SQL is kind of stored procedures used to create a response to a specific action performed on the table
such as INSERT, UPDATE or DELETE. You can invoke triggers explicitly on the table in the database.

Action and Event are two main components of SQL triggers. When certain actions are performed, the event occurs in
response to that action.


Syntax :

CREATE TRIGGER name {BEFORE|AFTER} (event [OR..]}
ON table_name [FOR [EACH] {ROW|STATEMENT}]
EXECUTE PROCEDURE functionname {arguments}

6. SQL Question

Explain the working of SQL Privileges?

Problem approach

SQL GRANT and REVOKE commands are used to implement privileges in SQL multiple user environments. The
administrator of the database can grant or revoke privileges to or from users of database objects by using commands
like SELECT, INSERT, UPDATE, DELETE, ALL, etc.

1) GRANT Command : This command is used to provide database access to users other than the administrator.

Syntax:

GRANT privilege_name
ON object_name
TO {user_name|PUBLIC|role_name}
[WITH GRANT OPTION];

In the above syntax, the GRANT option indicates that the user can grant access to another user too.


2) REVOKE command : This command is used to provide database deny or remove access to database objects.

Syntax:

REVOKE privilege_name
ON object_name
FROM {user_name|PUBLIC|role_name};

7. SQL Question

How many Aggregate functions are available in SQL?

Problem approach

SQL Aggregate functions determine and calculate values from multiple columns in a table and return a single value.

There are 7 aggregate functions in SQL :

1) AVG(): Returns the average value from specified columns.
2) COUNT(): Returns number of table rows.
3) MAX(): Returns the largest value among the records.
4) MIN(): Returns smallest value among the records.
5) SUM(): Returns the sum of specified column values.
6) FIRST(): Returns the first value.
7) LAST(): Returns last value.

02
Round
Medium
Video Call
Duration60 Minutes
Interview date15 Jan 2022
Coding problem9

In this round, the interviewer asked me questions around BDD Frameworks, Cucumber and Selenium. At the end, I was also
asked some basic questions revolving around SQL.

1. 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.

2. Selenium Question

Explain what are the JUnits annotation linked with Selenium?

Problem approach

The JUnits annotation 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

3. 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.

4. Selenium Question

What is meant by Selenese? Explain different types of Selenium commands.

Problem approach

The language used for writing test scripts in Selenium IDE is called Selenese. It is a set of commands used to test
your web application or system. Selenium commands could be divided into 3 major categories :

1) Actions: These are the commands interacting directly with web applications.
2) Accessors: These are the commands which allow users to store values to a user-defined variable.
3) Assertions: They enable a comparison of the current state of the application with its expected state.

5. Cucumber Question

What are annotations in Cucumber?

Problem approach

An annotation is a type of text that has been pre-defined and has a specified meaning. It tells the compiler/interpreter
what to do when the program runs. The annotations on Cucumber are as follows :

1) Given : It specifies the requirements for running the test.
Example : Given I have an account on Interviewbit.

2) When : It establishes the starting point for any test scenario.
Example : When I log in to Interviewbit.

3) Then : It contains the expected result of the test which is to be executed.
Example : Then registration should be successful.

4) And : Between any two statements, it gives the logical AND condition. AND can be combined with the GIVEN,
WHEN, and THEN statements.
Example : When I enter my account number AND CVV.

5) But : It denotes a logical OR relationship between two propositions. OR can be combined with the GIVEN, WHEN,
and THEN statements.
Example : Then I should be logged in BUT I must enter the OTP.

6. Cucumber 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 behavior-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.

7. 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.

8. SQL Question

Second Highest Salary

Problem approach

Approach : Sort the distinct salary in descend order and then utilize the LIMIT clause to get the second highest salary.

Query :

SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1;

9. SQL Question

What is an ALIAS command?

Problem approach

Aliases are the temporary names given to a table or column for the purpose of a particular SQL query. It is used when
the name of a column or table is used other than their original name, but the modified name is only temporary.

1) Aliases are created to make table or column names more readable.
2) The renaming is just a temporary change and the table name does not change in the original database.
3) Aliases are useful when table or column names are big or not very readable.
4) These are preferred when there isthe more than one table involved in a query.

03
Round
Easy
HR Round
Duration30 Minutes
Interview date15 Jan 2022
Coding problem1

This was a Technical Cum HR round where I was first asked some basic Java related concepts and then we discussed
about my expectations from the company , learnings and growth in the forthcomig years. I would suggest be honest and
try to communicate your thoughts properly in these type of rounds to maximise your chances of getting selected.

1. Basic HR Questions

Why should we hire you ?
What are your expectations from the company?
How was your overall interview experience?
What are your strengths and weakness according to you?
Where do you see yourself in the next 5 years?

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.

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
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Amazon
8518 views
0 comments
0 upvotes
Analytics Consultant
3 rounds | 10 problems
Interviewed by ZS
907 views
0 comments
0 upvotes
company logo
SDE - Intern
1 rounds | 3 problems
Interviewed by Amazon
3319 views
0 comments
0 upvotes
company logo
SDE - 2
4 rounds | 6 problems
Interviewed by Expedia Group
2580 views
0 comments
0 upvotes