Skip to content

CGI Software Testing Interview Questions & Answers

Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.

About CGI hiring for Software Testing roles

CGI is a Canadian IT and business consulting services company providing systems integration, managed services, and software solutions. Its India global delivery centres support clients in government, banking, utilities and manufacturing. It hires in India for software engineers, test engineers, data analysts and support engineers.

For Software Testing roles, this CGI practice set focuses most on Automation Basics for Manual Testers (6), Manual Testing Basics (5), Testing Types (5), Mobile Testing (5). It has 13 easy, 26 medium, 1 hard questions, so you can start easy and work up to the harder ones.

Company type
IT services
Headquarters
Montreal, Canada
Main India offices
Bengaluru, Hyderabad, Chennai, Mumbai

CGI Software Testing interview process

  1. Online assessment (aptitude + technical)
  2. Technical interview
  3. Managerial round
  4. HR round

Typical pattern based on public candidate experiences. Rounds vary by role, team and year.

Solved for CGIStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

When is manual testing a better choice than automation?

Save to ▾
Show answer
Manual testing is better for exploratory testing, usability and look-and-feel checks, features that change often, one-time tests and early testing of new functionality. Automation pays off for stable, repetitive tests such as regression suites, data-driven checks and smoke tests run on every build. Most teams combine both: manual for discovery and judgement, automation for speed and repeatability.
02

SQL: find orders that have an order date in the future.

Save to ▾
Show answer
-- Orders cannot be placed in the future SELECT id, order_date, status FROM orders WHERE order_date > CURRENT_TIMESTAMP; -- Expected result: no rows. If rows appear, check time zone handling and input validation.
03

Why are hard-coded sleeps bad in automated tests?

Save to ▾
Show answer
A fixed sleep, such as waiting five seconds, is either too long, which makes the suite slow when the page loads in one second, or too short, which makes the test fail when the server is slow. Both waste time and cause flaky results. Instead, wait for a real condition: an element to appear, a network response to finish or a loading spinner to disappear. Modern tools do much of this automatically.
04

Write a Postman test script that checks the status is 201 and the response contains an id.

Save to ▾
Show answer
pm.test('Status is 201', function () { pm.response.to.have.status(201); }); pm.test('Response has id', function () { const body = pm.response.json(); pm.expect(body).to.have.property('id'); pm.expect(body.id).to.be.a('number'); });
05

What is integration testing and what are its approaches?

Save to ▾
Show answer
Integration testing checks that modules or services work correctly together, focusing on interfaces and data flow. Approaches: big bang, where all modules are combined at once and testing is simple to plan but defects are hard to locate; top-down, where high-level modules are tested first using stubs for lower ones; bottom-up, using drivers for higher ones; and sandwich, which mixes both. Incremental approaches make it easier to find which interface failed.
06

What is the role of a manual tester in a software team?

Save to ▾
Show answer
A manual tester understands requirements, writes test scenarios and test cases, prepares test data, executes tests on each build, logs clear bug reports and retests fixes. They also do exploratory testing, join stand-ups and reviews, and give a quality status before release. Beyond finding bugs, a good manual tester represents the end user and raises usability or requirement gaps early, when they are cheap to fix.
07

What is the difference between an emulator, a simulator and a real device?

Save to ▾
Show answer
An emulator imitates both the hardware and software of a device, as with the Android emulator, so it behaves close to a real phone. A simulator imitates only the software environment, as with the iOS simulator, and does not reproduce the hardware. Both are free and fast for early testing. Real devices are needed for camera, battery, sensors, actual performance, network behaviour and final sign-off.
08

How do you test location-based features in a mobile app?

Save to ▾
Show answer
Test with location permission allowed, denied and approximate only. Use mock location tools to simulate different cities and moving routes. Verify the app shows nearby results correctly, updates location while moving and handles GPS turned off. Check accuracy indoors and with weak GPS, battery impact of continuous tracking and that background location is used only if needed and explained to the user.
09

What is SDLC and STLC?

Save to ▾
Show answer
SDLC is the full software development life cycle; STLC is the testing life cycle: requirement analysis, test planning, test design, environment setup, execution and closure.
10

What is the definition of done?

Save to ▾
Show answer
A shared checklist for when a story is complete, usually including code review, tests passing, no open critical bugs and documentation updated.
11

Why is exhaustive testing impossible?

Save to ▾
Show answer
Exhaustive testing means trying every possible input, path and combination, which is practically infinite for real software. Even a single text field accepting 20 characters has more combinations than you could ever run. So testers use risk and techniques like equivalence partitioning and boundary value analysis to select a small set of tests that give high confidence. The goal is enough coverage of important risks, not every possible case.
12

What is a hotfix?

Save to ▾
Show answer
An urgent patch released outside the normal schedule to fix a critical production defect, followed by regression testing and merge back to the main branch.
13

What does the absence-of-errors fallacy mean?

Save to ▾
Show answer
It means that finding and fixing many defects does not guarantee success if the system itself does not meet user needs. A bug-free product built on wrong or misunderstood requirements is still a failure. For example, a perfectly working report that shows the wrong business metric is useless to the client. This is why testers validate against real user expectations, not just the written specification.
14

What is the difference between a defect and a production incident?

Save to ▾
Show answer
A defect is a flaw in the software that makes it behave differently from the requirement, whether found in testing or production. A production incident is an event that disrupts or degrades service for users, such as an outage or a failed payment flow. An incident may be caused by a defect, but also by infrastructure, configuration or third-party failures. Incidents are handled by an incident process first, then linked to defects for the fix.
15

How do you test concurrent updates to the same record, such as two agents editing one ticket?

Save to ▾
Show answer
Open the same record in two sessions, change different fields and save both, then change the same field and save both. Check the database to see which value won and whether data was silently lost. A good design uses optimistic locking, where the second save fails with a 'record changed, please reload' message because a version column changed. Also repeat with API calls fired together to catch timing issues the UI hides.
16

What is usability testing?

Save to ▾
Show answer
Evaluating how easy and pleasant a product is to use by observing real users complete tasks and noting confusion.
17

Why is orientation and screen size testing important?

Save to ▾
Show answer
Mobile users have many screen sizes, resolutions, notches and foldable screens, and they rotate their phones. Rotation can recreate the screen and lose entered data if not handled. Test portrait and landscape on key screens, small and large phones and tablets, and check text does not cut off, buttons stay reachable and the keyboard does not hide input fields. Check entered form data survives rotation.
18

Explain the bug life cycle.

Save to ▾
Show answer
New → Assigned → Open → Fixed → Retest → Verified → Closed, with Reopened, Rejected, Deferred and Duplicate as side paths.
19

How do you set up and clean test data for database tests without affecting other testers?

Save to ▾
Show answer
Create your own data with a clear prefix or tag, such as emails starting with qa_ravi_, or IDs in a reserved range. Insert data through the app or API where possible so it follows real rules, and keep SQL setup scripts in version control. After testing, delete only your tagged rows, or run inside a transaction and roll back. Never edit shared master data without telling the team.
20

How do you test app permissions such as camera, location and contacts?

Save to ▾
Show answer
Check that the app asks for permission only when the feature is used, with a clear reason. Test allow, deny, and deny with do not ask again. When denied, the app must not crash and should explain how to enable it in settings. Revoke permission from settings while the app is in background and return. Test allow only once or only while using the app options on newer OS versions.
21

What is the difference between a story, epic, task and bug in JIRA?

Save to ▾
Show answer
An epic is a large body of work; stories are user-facing slices of it; tasks are technical work items; bugs are defects.
22

What is heuristic evaluation and how is it different from a usability test with users?

Save to ▾
Show answer
Heuristic evaluation is an expert review where a few evaluators inspect the interface against known usability principles, such as Nielsen's ten heuristics, and list problems with severity. It is fast and cheap and needs no participants. A usability test watches real users perform tasks and shows where they actually struggle. Heuristic reviews find many obvious issues early, but they can miss problems that only real users with real goals reveal.
23

What is exploratory testing?

Save to ▾
Show answer
Learning, test design and execution at the same time, without scripted cases — time-boxed sessions with a charter (e.g. 'explore checkout with coupons'), noting bugs and ideas. Great for finding edge cases.
24

What are stubs and drivers?

Save to ▾
Show answer
Both are temporary pieces of code used in integration testing when some modules are not ready. A stub replaces a called lower-level module and returns fixed responses, used in top-down testing; for example, a stub payment service that always returns success. A driver replaces a calling higher-level module and sends inputs to the module under test, used in bottom-up testing. In API testing, mock servers play the role of stubs.
25

Describe how you contributed in a sprint retrospective to improve quality.

Save to ▾
Show answer
Model answer: Situation: our sprints kept ending with stories stuck in testing. Task: suggest a fix in the retrospective. Action: I showed that most stories reached QA in the last two days and proposed smaller stories, early test case sharing and developers deploying to QA daily. Result: the team tried it next sprint, and the number of stories carried over dropped from five to one.
26

What are the main testing differences between Android and iOS?

Save to ▾
Show answer
Android has many manufacturers, screen sizes and OS versions with custom skins, so device fragmentation and background-kill behaviour need more coverage. iOS has fewer devices but strict permission, privacy and store review rules. Navigation differs: Android has a system back button or gesture, iOS relies on in-app navigation and swipe back. Notification, permission and file-access behaviours also differ, so test cases need platform-specific steps.
27

What goes into a test plan?

Save to ▾
Show answer
Scope (in and out), objectives, approach, environments, schedule, roles, entry/exit criteria, risks and mitigation, deliverables and tools.
28

What is data mapping testing?

Save to ▾
Show answer
Data mapping testing checks that each field on a screen, file or API goes to the correct table and column with the correct format. For example, the Date of Birth field on the signup form must land in users.dob as a date, and the State dropdown must store the state code, not the label. Testers use a mapping document, enter known values in the UI or API and query the database to compare field by field.
29

How do you convert existing manual test cases into automated scripts?

Save to ▾
Show answer
Pick a small set of stable, high-value regression cases first. Review each one: make steps precise, remove judgement-based checks and define clear expected results. Prepare test data that the script can create and clean up. Build reusable page objects and helpers for common steps like login. Automate, run several times to confirm stability, then link each script to its manual case ID and mark the manual case as automated.
30

What is a flaky test and what usually causes it?

Save to ▾
Show answer
A flaky test passes and fails on the same code without any change. Common causes are timing problems such as fixed sleeps or missing waits, tests depending on each other or on shared data, unstable locators, animations, third-party services, test order in parallel runs and environment issues like slow servers. Flaky tests destroy trust in the suite, so teams quarantine them, find the root cause and fix it rather than adding retries forever.
31

How do you test an application when requirements change frequently?

Save to ▾
Show answer
Keep tests modular, prioritise by risk, use exploratory testing, automate stable parts and keep close contact with product owners.
32

Write a simple Playwright test in TypeScript that logs in and checks the dashboard heading.

Save to ▾
Show answer
import { test, expect } from '@playwright/test'; test('valid user can log in', async ({ page }) => { await page.goto('https://qa.example.com/login'); await page.getByLabel('Email').fill('qa.user@test.com'); await page.getByLabel('Password').fill('Secret@123'); await page.getByRole('button', { name: 'Login' }).click(); await expect(page.getByRole('heading', { name: 'Dashboard' })).toBeVisible(); });
33

What is state transition testing?

Save to ▾
Show answer
Testing how a system moves between states based on events, for example an order going from placed to paid to shipped to delivered.
34

You notice full card numbers printed in the application logs. What do you do?

Save to ▾
Show answer
Treat it as a high-severity security defect, because storing full card numbers in logs breaks payment card security rules and creates a data leak risk. Do not copy the card numbers into the bug; use masked examples and the log location instead. Log the bug with restricted visibility and inform your lead and the security contact right away. After the fix, verify new logs are masked and confirm old logs are cleaned.
35

Write a Gherkin scenario for applying a valid coupon at checkout.

Save to ▾
Show answer
Feature: Coupon at checkout Scenario: Valid coupon reduces the total Given I am logged in with 1000 rupees of items in my cart And the coupon 'SAVE10' gives 10 percent off When I apply the coupon 'SAVE10' Then the discount shown is 100 rupees And the order total is 900 rupees
36

What is a test case and its components?

Save to ▾
Show answer
A set of steps with inputs and expected results. Components: ID, title, preconditions, steps, test data, expected result, actual result and status.
37

What is compatibility testing?

Save to ▾
Show answer
Checking the application works across browsers, devices, operating systems, screen sizes and network conditions.
38

Write a CSS selector and an XPath for a Login button that has the attribute data-testid='login-btn' and the text Login.

Save to ▾
Show answer
/* CSS selector using the test id */ button[data-testid='login-btn'] // XPath using the test id //button[@data-testid='login-btn'] // XPath using the visible text //button[normalize-space()='Login']
39

Why must input validation be tested on the server and not only in the browser?

Save to ▾
Show answer
Client-side validation improves user experience by giving quick feedback, but anyone can bypass it by disabling JavaScript or sending requests directly with tools like Postman. The server must validate every input again for type, length, format and business rules. Testers check this by sending invalid data straight to the API, such as a negative quantity or a very long name, and confirming the server rejects it.
40

What is pairwise testing?

Save to ▾
Show answer
A technique that tests all pairs of input values instead of every combination, greatly reducing test cases while catching most defects.

Tips to crack the CGI Software Testing interview

  • Revise core programming, SQL and testing basics, as CGI roles often involve maintaining and testing enterprise systems.
  • Learn about CGI's member-ownership model, where employees are called members and can buy shares.
  • Prepare clear examples of teamwork and client communication, which are important in CGI's consulting culture.
  • Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
  • Practise the hard questions on this page aloud; CGI interviewers usually ask follow-ups on your first answer.

Frequently asked questions

How many rounds are there in the CGI Software Testing interview?

Candidates usually go through 4 stages: Online assessment (aptitude + technical); Technical interview; Managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.

Which topics should I prepare for the CGI Software Testing interview?

This practice set leans on Automation Basics for Manual Testers (6), Manual Testing Basics (5), Testing Types (5), Mobile Testing (5). Revise those first, then practise explaining one or two of your own projects end to end, because most CGI interviewers ask you to walk through real work.

Are these the exact questions asked at CGI?

No. These are curated practice questions that match the skills and difficulty usually tested in it services interviews like CGI's. They are not a leaked or verified list of past questions.

Where does CGI hire Software Testing professionals in India?

CGI has large teams in Bengaluru, Hyderabad, Chennai, Mumbai. Openings and locations change often, so check the CGI careers page and filter by city and experience.

Software Testing questions for similar companies