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

Software Testing Engineer

CGI
upvote
share-icon
3 rounds | 16 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 Sep 2021
Coding problem7

In this round, the interviewer first started asking me questions around basics of Software Testing. Then he switched to Agile Testing and at the end asked some more questions related to SQL.

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

4. Agile Question

What is Spike and Zero Sprint in Agile?

Problem approach

Spike: It generally refers to a too large and complex user story in software development that cannot be estimated until the development team runs a timeboxed investigation. These stories can be used for various activities like research, design, exploration, prototyping, etc. Spikes are usually created to resolve some technical issues and design problems in the project. 

Zero Sprint: It generally refers to the first step or pre-preparation step that comes just before the first sprint. It includes all activities such as setting a development environment, preparing backlog, etc.

5. Agile Question

What is the difference between Agile and Scrum?

Problem approach

Agile : 
1) It is a methodology that is used for software management and project management.
2) It emphasizes the incremental and iterative model known as sprints. 
3) It is best suited for projects that usually involve a small team of experts.
4) It is a long-term process.
5) It requires simple and straightforward design and execution.
6) In this, all tasks are handled and managed by the project head. 


Scrum :
1) It is just a form of Agile that fully describes the process and its steps. 
2) It is basically an approach or implementation of agile methodology. 
3) It is best suited for projects that require constant handling of changing requirements.
4) It is a slow-term process. 
5) It requires innovation, creating design, and execution.
6) In this, all tasks and issues are addressed and handled by entire team members.

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

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

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

This round had questions revolving around Automation Testing , Selenium and Cucumber.

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

2. Automation Testing Question

What is Protractor?

Problem approach

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. Protractor is developed by Google and is especially used for testing
Angular applications.


Protractor runs the tests against the web application by running it in real web browsers. 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.


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. Developers can quickly get familiar with it and start
writing the end-to-end UI tests. You can also take snapshots and compare them using Protractor. It also allows you to
run parallel test cases on different machines.

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

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

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

Explain briefly how Behavioral Driven Development 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.

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

03
Round
Easy
HR Round
Duration30 Minutes
Interview date28 Sep 2021
Coding problem2

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

Why are you looking for a job change?

Problem approach

Tip : For an experienced professional seeking a change, this is a common question. The easiest method to respond
to this question is to state that you are leaving your current work in order to advance your career. Make sure you don't
criticize or speak poorly about the company where you now work.

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
Senior Software Engineer
3 rounds | 16 problems
Interviewed by CGI
1944 views
0 comments
0 upvotes
company logo
Senior Test Engineer
3 rounds | 16 problems
Interviewed by CGI
1041 views
0 comments
0 upvotes
company logo
Senior Software Engineer
3 rounds | 17 problems
Interviewed by CGI
1518 views
0 comments
0 upvotes
company logo
Data Engineer
2 rounds | 4 problems
Interviewed by CGI
875 views
0 comments
0 upvotes