Skip to content
QA Knowledge Hub

Test cases for a food delivery order flow

Updated 2026-11-13 · 6 min read

A food order touches the customer, the restaurant, the rider and payments. These 33 cases follow the order from address to delivery, with cancellations, refunds, privacy and peak-hour checks.

Assumes a customer app for food delivery with address selection, restaurant search, cart, coupons, online payment and cash on delivery, live order tracking and in-app support. The restaurant and delivery partner apps exist in the test environment so status changes can be triggered. Fees, minimum order value and refund policies below are examples.

How to answer in an interview

Ask first: which apps are in scope (customer, restaurant, rider), which payment methods, what fees appear on the bill, what are the cancellation and refund rules, is cash on delivery supported, and are scheduled orders supported? Then follow the order: location and browsing, cart, bill and coupons, payment, order status from restaurant to doorstep, cancellations and issues, and finally notifications, privacy and peak load.

Scope and test data

Example rules: minimum order ₹99; free cancellation until the restaurant accepts. Test customer [email protected], phone 9000000001, a test address inside the service area and one outside it. Payments use the provider's sandbox only. Restaurant and rider actions are triggered from their test apps or a test tool. These are designed cases, not an execution report.

Location and browsing

IDCategoryTest caseExpected result
F01FunctionalAllow location and choose the detected addressRestaurants that deliver there are listed with delivery times
F02NegativeChoose an address outside the service areaClear message; checkout not possible
F03FunctionalOpen a restaurant that is closedShown as closed with opening time; items cannot be ordered (unless scheduling is supported)
F04FunctionalSearch "paneer"Matching dishes and restaurants
F05FunctionalTurn on the vegetarian filterOnly vegetarian items and restaurants shown

Cart

IDCategoryTest caseExpected result
F06FunctionalAdd a pizza with an extra-cheese add-onAdd-on price added to the item; cart total updates
F07FunctionalAdd an item from a second restaurantPrompt to replace the cart; nothing mixed silently
F08NegativeAn item in the cart goes out of stock before checkoutUser told at checkout; cannot pay for the unavailable item
F09BoundaryCart at ₹98, then ₹99₹98 blocked with the minimum-order message; ₹99 allowed
F10BoundaryIncrease one item's quantity to the maximum and one moreMaximum allowed; the next increase blocked with a message

Bill and coupons

IDCategoryTest caseExpected result
F11FunctionalCheck the billItem total, delivery fee, packaging, taxes and any platform fee add up to the amount to pay
F12FunctionalApply a valid coupon; an expired one; one below its minimum orderValid one reduces the total; others show a specific reason
F13FunctionalAdd a tip and delivery instructionsTip added to the total; instructions visible in the rider test app
F14NegativeUse a one-per-user coupon on a second orderRejected with a reason

Payment

IDCategoryTest caseExpected result
F15FunctionalPay by UPI sandbox successfullyOrder placed once; confirmation screen shows the order ID
F16NegativePayment failsNo order placed; cart kept; user can retry
F17NegativePayment confirmed but order creation failsOrder created later by reconciliation or refund started automatically; user told which
F18BoundaryCash on delivery above the allowed order value, if there is a limitCash on delivery hidden or blocked with a reason above the limit
F19NegativeBackground the app during payment, then returnReal payment status shown; no duplicate order on retry

Order status

IDCategoryTest caseExpected result
F20FunctionalRestaurant accepts the orderStatus changes to accepted or preparing with an updated time
F21NegativeRestaurant rejects, or does not respond within the timeoutOrder cancelled; full refund started; user notified
F22FunctionalRider is assignedRider name and live location shown; phone number masked if specified
F23FunctionalRider moves during the test routeMap and estimated time update without jumps backwards
F24FunctionalRider marks the order deliveredStatus delivered; rating prompt; order in history with the invoice

Cancellations and issues

IDCategoryTest caseExpected result
F25FunctionalCancel before the restaurant acceptsFree cancellation; full refund to the original method
F26FunctionalTry to cancel after the food is being preparedFee or refusal shown before confirming, as the policy says
F27FunctionalRestaurant marks an item unavailable after acceptingUser offered the supported option (refund, replace or cancel); bill and refund adjusted
F28FunctionalReport a missing item with a photo after deliverySupport ticket created; refund or credit as per policy; status visible
F29NegativeChange the delivery address after the order is placedBlocked, or allowed only within the documented limits with fees recalculated

Notifications, privacy and performance

IDCategoryTest caseExpected result
F30FunctionalFollow one order from placed to deliveredOne notification for each key status; none duplicated or out of order
F31SecurityChange the order ID in an API call to another user's orderAccess denied; no details of the other order
F32SecurityAfter delivery, look for the customer's number and address in the rider test appHidden or masked once the order is closed, as specified
F33PerformanceSimulate dinner-time peak load on menu, cart and checkoutResponses within the agreed limits; no duplicate orders or charges

What to prioritise

Money and food together: F15 to F17, F21 and F25 to F27. In an interview, the common mistake is to describe only the customer screens. Say that the order is really a state machine shared by three apps, and that you would test each state change and what the customer sees and pays at each one.

Downloads

Quick answers

Which apps are involved in testing a food delivery order?

Usually three: the customer app, the restaurant app or tablet, and the delivery partner app, plus payment and support systems. An end-to-end case needs all of them in the test environment, and you should ask which ones are in scope.

What is a good scenario question to expect?

'The restaurant accepted the order and then ran out of an item. What happens?' Ask what the product supports (partial refund, substitute, cancel) and test each path, including the refund and the notification.

Want a project you can show in interviews?

The portfolio project kit walks you through testing a deliberately buggy app with Selenium or Playwright and API tests, then explaining it. The app itself is free.