Skip to content
99tests Blog
Testing guides

Your AI wrote the test cases. Here's what they usually miss on Indian phones

AI coding tools write good happy-path test cases and miss interruptions, network drops, dual-SIM, battery savers and payment states. A checklist to fill the gaps before release.

Hand-drawn sketch of a robot holding a checklist with missing lines, beside a magnifying glass over a phone with no signal and a low battery, titled What AI Test Cases Miss
In this article
  1. Why generated cases look complete but aren't
  2. Gap 1: Interruptions
  3. Gap 2: Networks that drop, slow down and switch
  4. Gap 3: The phone itself
  5. Gap 4: Money that's in between
  6. Gap 5: Language and accessibility
  7. A five-minute review for any AI-generated suite
  8. Then run them where the gaps are

Ask Cursor, Claude Code, Copilot or ChatGPT for test cases and you'll get a tidy list in seconds: valid login, invalid password, empty field, successful payment, failed payment. They are correct, and most of them will pass.

The trouble is what isn't on the list. AI tools write test cases from the spec and the code, the same material that produced the app. So the cases tend to share the app's blind spots, and the gaps fall where Indian apps break most: interruptions, networks, the phone itself and the money in between.

This post is a checklist for those gaps, with examples from our free test case library, where 307 of the 950 cases need a real phone.

Why generated cases look complete but aren't

A generated suite is usually strong on three things:

  • Happy paths: the flow works when everything goes right
  • Validation: wrong formats, empty fields, limits
  • Obvious failures: wrong password, insufficient balance

It is usually weak on five:

  1. what happens when something interrupts the flow
  2. what happens on a slow, dropping or changing network
  3. what the phone itself does: battery savers, low memory, two SIMs
  4. the in-between states of money: pending, deemed, reversed
  5. the language and accessibility settings your users actually have

Why? None of these are in the spec. The spec says "the user pays with UPI". It doesn't say the merchant app gets killed while the user is in their UPI app.

Gap 1: Interruptions

Real users get calls, switch apps, lock their phone and press back at the wrong moment. Add cases like these:

  • An incoming call while the UPI PIN screen is open. The partial PIN should be cleared, and no payment should go through without a fresh PIN.
  • The app is killed while the user reads the OTP in their messages app. On return, the user should be able to enter the code, not start again.
  • Back pressed in the UPI app during a payment started from your app. Your app should show the payment as not completed and offer a retry, not mark the order as paid or leave it stuck in Pending.
  • The screen is locked right after the PIN is submitted. The app should reopen on the final status, not a blank screen.

Gap 2: Networks that drop, slow down and switch

Generated cases tend to assume the network is either up or down. In India it's often neither: a lift, a metro tunnel, a daily data pack that ran out, Wi-Fi handing over to 4G.

  • The network drops right after the UPI PIN is submitted. The app should show Pending or Checking, never Failed, and must not invite a second payment.
  • Wi-Fi switches to mobile data mid-request. The request should finish or fail with a safe retry, with no duplicate order.
  • Submit is tapped twice on a slow connection. Exactly one order should be created.
  • Public Wi-Fi with an unfinished sign-in page. The app should say the network needs sign-in, not show a server error.

There are 39 of these in the offline and poor network flow.

Gap 3: The phone itself

This is the gap emulators hide.

  • Battery savers. On Xiaomi, Vivo, Oppo and Realme phones, the maker's battery manager can stop background work that stock Android would allow. Check push notifications, OTP auto-read and uploads after the phone has been locked for a while.
  • Low memory. On 3–4 GB phones, the system closes background apps sooner. Switch to the camera or a UPI app mid-flow and come back: the screen and anything typed should still be there.
  • Dual SIM. The bank-registered number is often in slot 2 while data runs on slot 1. Device binding and OTP delivery need testing with both arrangements.
  • Small screens and the largest font size. The Pay button should stay reachable above the keyboard, and nothing important should be cut off.

Gap 4: Money that's in between

Generated payment cases usually cover success and failure. Real payments also land in between:

  • Pending that later resolves to success, with only one debit
  • Deemed success, when the payer is debited but confirmation is late
  • Debited but not credited, with a status check and a complaint reference
  • Auto-reversal after a failure, with the refund shown

Each of these needs its own case and its own expected screen. The UPI payment flow has all four.

Gap 5: Language and accessibility

If your app ships in Hindi, check that every status word appears in Hindi too: Pending, Failed, Under process. Users can't tell whether to wait or retry when the one word that matters is left in English. Also add a TalkBack pass and the largest font size to your cases.

A five-minute review for any AI-generated suite

Before you run a generated suite, check it for:

  1. at least one interruption case per critical flow (call, app switch, back, lock)
  2. at least one network case per critical flow (drop, slow, handover, double tap)
  3. a device case for battery savers, low memory and dual SIM where it applies
  4. every money state, not just success and failure
  5. one language and one accessibility case

If any are missing, take them from the matching flow in the test case library instead of writing them from scratch. For a broader workflow, see how to test AI-generated test cases before release.

Then run them where the gaps are

Most of these cases only mean something on a real phone, with a real SIM, on a real network. An emulator's network cut is instant and clean; a lift isn't. A clean data-centre device has no maker's battery saver.

99tests testers run your cases, AI-generated ones included and in any format, on the phones they own across India. Every case comes back pass, fail, blocked or not run, with recordings for anything serious. Packages start at ₹9,999 + GST.