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

Lead Software Test Specialist

Siemens
upvote
share-icon
3 rounds | 15 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 2 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 date28 Jun 2021
Coding problem7

This round primarily had questions from the fundamentals of Software Testing followed by some questions from Cucumber which is a behavior-driven development (BDD) testing tool and is used to create test cases for evaluating program behaviour.

1. Software Testing Question

What is unit testing?

Problem approach

Unit testing is the process of testing a single unit of code in an isolated manner. The unit of code can be a method, a class, or a module. Unit testing aims to focus on the smallest building blocks of code to get confidence to combine them later to produce fully functioning software.

A unit test invokes the code and verifies the result with the expected result. If the expected and actual outcomes match, then the unit test passes. Otherwise, it fails.

A good unit test has the following characteristics :

1) It should test a single piece of functionality.
2) It is fully automated and repeatable. 
3) It should run quickly and provide immediate feedback.
4) It should be isolated and shouldn’t interact with external dependencies such as network, database, or file system unless needed. You can use the mocking technique to simulate the external dependencies and isolate the code under test.

2. Software Testing Question

What do you mean by Baseline Testing and Benchmark testing?

Problem approach

Baseline Testing: It is a type of non-functional testing in which a set of tests are run to capture performance information. Using this gathered information, we can make required changes in the application and ultimately improve the performance and capabilities of the application. In general, it refers to a benchmark that usually forms the base of any new creation. During this testing, many errors are discovered and resolved. 

Benchmark Testing: It is a type of testing that involves both the developers and DBAs (Database Administrators) to determine current performance information. Using this information, one can improve the performance of the same by matching it with the benchmarks (industry standards). Its main objective is to compare the present and future software releases with their specific benchmark.

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

What are some of the prerequisites that you should consider while building a Selenium Cucumber automation application?

Problem approach

We consider the following before building a Selenium Cucumber automation application:-

1) Determine the type of application you'll be testing. 
2) Is there a need for backend testing? Databases or SDKs, for example.
3) Is it necessary to run the app through an internationalization test?
4) It must include a report that allows you to track down a problem with minimal effort.
5) It must be able to generate parametrization tests automatically.
6) Any setup-related settings or global attributes should be defined in a config file.
7) To segregate the functionality, use abstraction at every level.

7. Cucumber Question

What are tags in Cucumber and why are they important?

Problem approach

When we only have one, two, or maybe five situations in a feature file, it appears to be simple. In reality, however, this does not occur. In a single feature file, we may have 10, 20, or even more scenarios for each feature under test. They could reflect various purposes (smoke test/regression test), perspectives (developer/QA/BA), and statuses (ready for execution/work in progress).
Tags in cucumber provide a way to run scenarios in a specific sequence from a runner file. Each situation can be labeled with a useful tag. Later, in the runner file, we may specify which tag (and hence which scenario(s)) Cucumber should run. “@” is the first character in a tag. Any relevant content after "@" can be used to define your tag.
Example - ‘@InitialTest’

02
Round
Medium
Video Call
Duration60 Minutes
Interview date28 Jun 2021
Coding problem7

This round started with some preety basic questions of C++ and then the interviewer switched to Automation Testing questions followed by some more questions from Selenium which is an open-source automated testing framework for validating web applications across multiple browsers and platforms.

1. C++ Question

What are destructors in C++?

Problem approach

A constructor is automatically called when an object is first created. Similarly when an object is destroyed a function called destructor automatically gets called. A destructor has the same name as the constructor (which is the same as the class name) but is preceded by a tilde.

Example Code : 

class A
{
private :
int val;
public:
A(int x){ 
val=x;
}
A(){ 
}
~A(){ //destructor
}
}

int main(){
A a(56); 
return 0;
}

2. C++ Question

What is a copy constructor?

Problem approach

A copy constructor is a member function that initializes an object using another object of the same class. 

Example Code : 

class A{
int x,y;
A(int x, int y){
this->x=x;
this->y=y;
}

};

int main(){
A a1(10,20);
A a2=a1; //default copy constructor is called
return 0;
}

3. Automation Testing Question

When is a good time to automate a test?

Problem approach

A test is a good candidate for automation under the following conditions.

1) The test is repeatable.
2) The feature under the test doesn’t change its behavior frequently.
3) It’s time-consuming for a human tester.
4) The test involves complicated calculations.
5) The test ensures the previous functionality didn’t break after a new change.

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

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

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

03
Round
Easy
HR Round
Duration30 Minutes
Interview date28 Jun 2021
Coding problem1

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.

Here's your problem of the day

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

Skill covered: Programming

Which SQL clause is used to specify the conditions in a query?

Choose another skill to practice
Similar interview experiences
company logo
System Engineer
3 rounds | 15 problems
Interviewed by Siemens
1825 views
0 comments
0 upvotes
company logo
Senior Systems Engineer
3 rounds | 16 problems
Interviewed by Siemens
2615 views
0 comments
0 upvotes
company logo
Senior Software Engineer
3 rounds | 3 problems
Interviewed by Siemens
0 views
0 comments
0 upvotes
company logo
Member of Technical Staff
2 rounds | 3 problems
Interviewed by Siemens
1963 views
2 comments
0 upvotes