Skip to content

Delhivery Software Testing Interview Questions & Answers

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

About Delhivery hiring for Software Testing roles

Delhivery is an Indian logistics and supply chain company that provides parcel delivery, freight, warehousing and fulfilment services for e-commerce and enterprise clients. It runs a large network of hubs and uses technology for route planning, tracking and automation. It hires software engineers, data scientists, data analysts and operations professionals.

For Software Testing roles, this Delhivery practice set focuses most on Accessibility & Usability Testing (5), Automation Basics for Manual Testers (5), Bug Life Cycle and Jira (5), Agile, SQL and API Testing (5). It has 2 easy, 28 medium, 10 hard questions, so you can start easy and work up to the harder ones.

Company type
E-commerce & consumer tech
Headquarters
Gurugram, India
Main India offices
Gurugram, Bengaluru

Delhivery Software Testing interview process

  1. Online coding or analytics assessment
  2. Technical round 1
  3. Technical round 2 (design or case)
  4. Hiring manager round

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

Solved for DelhiveryStart 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

Your automated accessibility scan shows zero errors. Is the page accessible?

Save to ▾
Show answer
Not necessarily. Automated tools catch only a part of WCAG issues, such as missing labels and contrast. A clean scan still needs manual checks: keyboard-only navigation, focus order, a screen reader pass, meaningful alt text and link names, error handling, zoom and reflow and dynamic content. Report the result as 'no automated violations found' and add the manual checklist outcome before claiming conformance.
02

A developer asks you to test a feature that has no acceptance criteria. How do you proceed?

Save to ▾
Show answer
First ask the product owner or business analyst for the expected behaviour and write down the answers as draft acceptance criteria. Meanwhile, explore the feature, compare it with similar existing features and list assumptions. Share the assumptions in the story so everyone agrees before you sign off. Raise the missing criteria in the next refinement so future stories are not picked up without them.
03

A user fills a long form, switches to another app and comes back. What should you test?

Save to ▾
Show answer
Check that the form data is still there when the user returns after a few seconds and after a longer time. Test when the OS kills the app in background due to low memory, which you can force with developer options, and confirm the app restores state or at least warns the user. Also check session timeout behaviour and that sensitive screens are hidden in the recent apps view if required.
04

Tell me about a time you worked with developers to make an application easier to automate.

Save to ▾
Show answer
Situation: our UI scripts broke almost every sprint because of generated IDs and CSS class changes. Task: as the QA lead I needed stable tests. Action: I showed developers the failure history, proposed adding data-testid attributes and accessible labels to key components and added a short checklist to the pull request template. Result: within two sprints locator-related failures dropped by most of the previous level and maintenance time fell sharply.
05

Write test cases for a one-to-one chat feature.

Save to ▾
Show answer
Send and receive text messages and check order and timestamps. Test sent, delivered and read status. Send emojis, long messages, links and attachments within and over the size limit. Check messages sent while offline are queued and delivered on reconnect. Verify blocking a user stops messages. Test notifications when the app is in background. Check chat history after reinstall or on a second device, and that deleted messages disappear for both users if supported.
06

A web app gets slower the longer a user keeps it open. How do you check for a memory leak as a manual tester?

Save to ▾
Show answer
A memory leak happens when an application keeps holding memory it no longer needs, so usage grows the longer it runs. A manual tester may notice the app getting slower over a long session, a browser tab using more and more memory in Task Manager or the browser's memory panel, or a mobile app crashing after repeatedly opening and closing a screen. Report the steps, duration and memory readings over time.
07

Managers say the automation test report is hard to understand. What should a useful report include?

Save to ▾
Show answer
A useful report shows total tests run, passed, failed and skipped, the run time, the environment, build number and browser. For each failure it should show the test name, the failing step, the error message, and a screenshot, video or trace, plus logs. Trends across runs help spot flaky tests. Linking failures to Jira bugs or manual case IDs helps managers see real product risk, not just numbers.
08

How do you write steps to reproduce for a bug that needs specific test data?

Save to ▾
Show answer
Start with preconditions: environment, build number, user role and the exact data state, such as an account with two pending orders and zero wallet balance. Mention how to create the data or give the test account ID. Then list numbered steps with exact inputs and finish with expected and actual results. If the data is hard to set up, attach the SQL used or a database screenshot so the developer can recreate it quickly.
09

A user updates their phone number in the app, but the old number still appears in reports. What do you check?

Save to ▾
Show answer
First query the main users table to see whether the update was saved. If it was, check where the report reads from: a view, a reporting copy, a cache or a nightly ETL table. The report may simply be stale until the next refresh, which may be by design. If the main table still has the old value, check the API request, the update query and any errors in logs, then log a bug with both query results.
10

Write test cases for an ATM withdrawal.

Save to ▾
Show answer
Valid card and PIN, wrong PIN, three failed attempts, amount above balance, amount above daily limit, invalid denomination, machine out of cash, network failure and receipt printing.
11

Write SQL to verify an order was saved correctly.

Save to ▾
Show answer
SELECT status, amount FROM orders WHERE order_id = 'ORD123'; -- compare with the UI, then check the matching rows in order_items
12

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

How do you test biometric login with fingerprint or face unlock?

Save to ▾
Show answer
Test enabling biometrics in app settings after a password login. Verify login with a registered fingerprint or face, and failure with an unregistered one, falling back to PIN or password after the allowed attempts. Remove or add a fingerprint in device settings and check the app asks for re-authentication. Test devices without biometric hardware, disabled biometrics and app behaviour after an OS update or reinstall.
14

A feature passed all your test cases, but users say it is confusing. What went wrong?

Save to ▾
Show answer
The tests verified the specification but did not validate the user experience. The test cases probably checked only functional outcomes and missed usability: unclear labels, too many steps or poor error messages. Next time, add usability heuristics to reviews, do exploratory sessions as a real user persona and involve users in UAT or demos. Log the current feedback as improvement items with clear examples.
15

A page loads slowly only for some users. How do you investigate as a manual tester?

Save to ▾
Show answer
Collect details from affected users: location, device, browser, network and time. Try to reproduce with similar conditions using browser network throttling. Use the browser developer tools network tab to find slow requests, large files or failing calls, and compare with a fast user. Check whether those users have more data, like a long order history. Share the slow request, timing and conditions in the bug for the developers.
16

What is a Three Amigos session?

Save to ▾
Show answer
Three Amigos is a short meeting where a business person or product owner, a developer and a tester discuss a story before development. The business explains the need, the developer considers how to build it and the tester asks what could go wrong and how it will be verified. The output is clear acceptance criteria and example scenarios. It prevents misunderstandings and reduces bugs found late.
17

Write a JQL query for open high or highest priority bugs in the current sprint of project PAY.

Save to ▾
Show answer
project = PAY AND issuetype = Bug AND statusCategory != Done AND priority in (Highest, High) AND sprint in openSprints() ORDER BY priority DESC, created ASC
18

What is the difference between a bug and an enhancement?

Save to ▾
Show answer
A bug is behaviour that deviates from agreed requirements; an enhancement is a new or improved capability beyond the current requirements.
19

How do you test a mobile app's offline mode and data sync?

Save to ▾
Show answer
Turn off the network and perform supported actions, such as creating, editing and deleting records, and check they are saved locally with a pending status. Reconnect and verify everything syncs once, in order, with no duplicates. Test conflicts, where the same record is changed on two devices, and confirm the agreed rule applies. Test sync after app restart, on a slow network and when the server rejects a change.
20

What is normalization and why should a tester understand it?

Save to ▾
Show answer
Normalization organises tables to reduce duplicate data, for example storing the customer address once in a customers table instead of repeating it in every order. Testers should understand it because it explains where data lives and which joins are needed to verify a screen. It also shows risk: in a denormalized report table, the same value is copied in many places, so updates must be tested to confirm every copy changes.
21

Analytics show many users drop off at step three of a five-step checkout. How do you investigate the usability problem?

Save to ▾
Show answer
First look at what step three asks: maybe address entry, a surprise delivery charge or forced signup. Check analytics for errors, rage clicks and time spent, and watch session recordings if available. Test it yourself on mobile and slow networks. Then run a quick usability test with five users on that step. Present evidence with likely causes and options, such as guest checkout or showing charges earlier, and measure after the change.
22

An automated test keeps failing because an element's ID is generated differently on every build. What do you do?

Save to ▾
Show answer
Stop using the dynamic ID. Look for a stable alternative: the element's role and visible name, its label, a stable attribute, or a relative locator based on a nearby fixed element. The best long-term fix is asking developers to add a data-testid attribute. Avoid partial matches on random strings, which can break again. Then update the locator in the page object so every test using it is fixed at once.
23

What is the difference between statement coverage and branch coverage?

Save to ▾
Show answer
Statement coverage measures the percentage of code statements executed by tests. Branch coverage measures whether every decision outcome, true and false, has been executed. Branch coverage is stronger: for 'if (amount > 1000) applyDiscount()', one test with 1500 gives 100 percent statement coverage, but you need a second test with 500 to cover the false branch. 100 percent branch coverage implies 100 percent statement coverage, not the other way round.
24

A screen reader announces 'button, button, button' on a toolbar. What is the bug and how do you report it?

Save to ▾
Show answer
The toolbar uses icon-only buttons without accessible names, so users hear the role but not the purpose. Report it with the page, the screen reader and browser versions, the exact announcement and the expected one, such as 'Bold, toggle button, not pressed'. Reference WCAG 4.1.2 Name, Role, Value. The fix is an aria-label or visually hidden text on each button, plus a tooltip that also helps sighted users.
25

Notifications arrive late, and some screens look broken, only on certain Android phone brands. Why can this happen and what do you test?

Save to ▾
Show answer
Android phone makers ship their own skins and settings on top of Android, so the same app can behave differently. Common problems are aggressive battery savers that kill background tasks and delay notifications, different permission screens, custom fonts and display scaling, camera differences and modified WebViews. Pick devices from the brands most used by your audience and test background work, notifications, camera and layout on each.
26

What is CSRF and how is it prevented?

Save to ▾
Show answer
Cross-site request forgery tricks a logged-in user's browser into sending an unwanted request to a site, such as changing their email, because the browser automatically includes cookies. Prevention includes anti-CSRF tokens in forms, SameSite cookie settings and re-authentication for sensitive actions. Testers check that state-changing requests fail when the token is missing or reused, and that such actions are not done through GET requests.
27

SQL: find orders that have no matching customer record.

Save to ▾
Show answer
-- orphan orders indicate a broken foreign key or bad data load SELECT o.order_id, o.customer_id FROM orders o LEFT JOIN customers c ON c.customer_id = o.customer_id WHERE c.customer_id IS NULL;
28

What is a bug triage meeting?

Save to ▾
Show answer
A regular review where QA, development and product assess new bugs and decide severity, priority, owner and target release.
29

What is a duplicate bug and how do you avoid logging one?

Save to ▾
Show answer
A duplicate bug is a new report for a problem that is already logged. Before raising a bug, search the tracker by key words, module, error message and recent open bugs, and ask teammates working on the same area. If a similar bug exists, add your extra information, such as another browser or data set, as a comment instead of a new ticket. This keeps the backlog clean and saves triage time.
30

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

Your team wants to copy production data into the QA environment for realistic testing. What do you advise?

Save to ▾
Show answer
Do not copy raw production data into test environments. Use synthetic data generated for the test cases, or masked production data where names, phone numbers, emails, ID numbers and card details are replaced while formats and relationships are kept. Restrict access to test databases and record the data rules in the test plan. This keeps testing realistic and follows India's data protection law and company policy.
32

How do you test a modal dialog for accessibility?

Save to ▾
Show answer
Open the dialog with the keyboard. Focus should move into it, usually to the first field or heading, and the screen reader should announce it as a dialog with its title. Tab must stay inside the dialog while it is open and the page behind must not be reachable. Escape and the close button should close it, and focus must return to the button that opened it. Also check it reads correctly when zoomed.
33

How do you decide testing is complete when some bugs are still open?

Save to ▾
Show answer
Testing is complete when agreed exit criteria are met, not when the bug count is zero. Check that planned tests ran, critical and high bugs are fixed or formally accepted, and remaining open bugs have workarounds and low user impact. Present the list with risk to the product owner, who decides on release. Record accepted bugs as known issues, so nothing is hidden and they are planned for a later release.
34

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

How do you test touch target size and gestures for accessibility in a mobile app?

Save to ▾
Show answer
Check that buttons and icons are large enough to tap without hitting neighbours: Android guidance is 48 by 48 dp and iOS is 44 by 44 points. Test with large font settings and one-handed use. Any action using complex gestures, such as swipe to delete or pinch, must have a simple tap alternative. Then turn on TalkBack and VoiceOver and confirm each control can be focused, named and activated.
36

What is a sprint retrospective?

Save to ▾
Show answer
A team meeting at the end of a sprint to discuss what went well, what did not and what to improve next.
37

How do you test a REST API with authentication?

Save to ▾
Show answer
Check access with valid, expired and missing tokens, role-based permissions, error codes and that sensitive data is never exposed.
38

Your team says nightly database backups are working. How do you prove that a restore actually works?

Save to ▾
Show answer
Take a backup of a test database with known data, record row counts and a few checksums, then restore it to a separate server. Compare counts, sample records, constraints and users. Measure how long restore takes against the recovery time objective, and check that point-in-time restore loses no more data than the recovery point objective allows. A backup that has never been restored is not proven, so this test should run regularly.
39

The test environment is down for two days just before release. What do you do?

Save to ▾
Show answer
Escalate immediately with the impact on the schedule. While it is down, prepare test data, review and update test cases, and test what you can elsewhere: API tests against another environment, UI on a developer machine or a staging copy. Track the lost hours in the status report. When the environment returns, run smoke first, then the prioritised list, and ask whether the release date or scope needs to change.
40

A bug fix was made in the payment module. How do you decide the regression scope?

Save to ▾
Show answer
Ask the developer which code, services and database tables changed. Map them to impacted flows: all payment methods, refunds, partial payments, failed payment retries, invoices and order status updates. Add high-risk areas from past defects and anything that calls the same service. Run full payment regression because the business risk is high, plus a smoke test of the rest of the application before release.

Tips to crack the Delhivery Software Testing interview

  • Learn logistics basics such as first mile, last mile, hub operations and shipment tracking to discuss the domain.
  • Practise optimisation-style problems and graph algorithms, which connect well to routing and network planning work.
  • For analyst roles, revise SQL and Excel, and prepare to analyse delivery delays or cost per shipment in a case.
  • 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; Delhivery interviewers usually ask follow-ups on your first answer.

Frequently asked questions

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

Candidates usually go through 4 stages: Online coding or analytics assessment; Technical round 1; Technical round 2 (design or case); Hiring manager 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 Delhivery Software Testing interview?

This practice set leans on Accessibility & Usability Testing (5), Automation Basics for Manual Testers (5), Bug Life Cycle and Jira (5), Agile, SQL and API Testing (5). Revise those first, then practise explaining one or two of your own projects end to end, because most Delhivery interviewers ask you to walk through real work.

Are these the exact questions asked at Delhivery?

No. These are curated practice questions that match the skills and difficulty usually tested in e-commerce & consumer tech interviews like Delhivery's. They are not a leaked or verified list of past questions.

Where does Delhivery hire Software Testing professionals in India?

Delhivery has large teams in Gurugram, Bengaluru. Openings and locations change often, so check the Delhivery careers page and filter by city and experience.

Software Testing questions for similar companies