In this guide
A tester says the app crashed or a button did nothing. You try the same thing and it works. That does not mean the tester is wrong. It means something differs between their situation and yours. Your job is to find the difference, then decide how much time it deserves.
Step 1: Pin down what differs
Almost every non-reproducible bug depends on one of these:
- Device and system version. Model, OS version, screen size, memory.
- App state. First launch or later, logged in or out, data already stored, settings changed.
- Data. Empty lists, very long text, special characters, a different language or date format.
- Network. Slow, switching between Wi-Fi and mobile, offline.
- Timing. Tapping fast, rotating the screen, switching to another app and back.
- Build. An older build, not the one you are testing.
Step 2: Send follow-up questions
One message with a few specific questions works better than "can you tell me more?". Copy and adapt:
Thanks for the report. I can't reproduce it yet, so a few details would help: 1. Which phone model and system version? 2. Which app version or build? (Settings or About screen) 3. What exactly did you do right before it happened, step by step? 4. Was this the first launch, or had you used the app before? Logged in? 5. Wi-Fi, mobile data or offline? 6. Does it happen every time, or only sometimes? 7. A screenshot or screen recording, if you can.
No worries if you don't know some answers; "don't know" is helpful too.
If you want testers to give this by default, point them to a bug report template next time.
Step 3: Narrow it down
- Match the device. If you have no similar phone, try an emulator with the same OS version and screen size, but treat the result with care: emulators differ from real phones.
- Match the state. Reset your app data, or use a fresh install, and repeat the tester's steps from the first screen.
- Match the data. Try the extreme cases from the list above.
- Read the logs. If the tester can send a crash log, you may not need to reproduce at all. See how to get crash logs from a tester's phone.
- Ask a second tester. If two people on different phones report the same, it is probably not a one-off.
Step 4: Decide, then write it down
Use this simple rule:
| Situation | Decision |
|---|---|
| Crash or data loss, even if rare | Keep investigating; add logging so the next occurrence gives you data |
| Wrong behaviour, one report, unclear steps | Park it, ask one more round of questions, then set it aside |
| Cosmetic, one device, no second report | Note it and move on |
| Several independent reports | Treat it as real, even without your own repro |
Stopping is allowed. Put the report in a list called "not reproduced", with the questions you asked and the answers. If a second report comes in, you will have a head start.
Make the next one easier
- Show the app version inside the app.
- Add a "send feedback" screen that captures device and version automatically.
- Log errors with enough context (no personal data) so a report points to a cause.
Related
- Overview: App testing problems and fixes
- Tester feedback too vague: how to get specifics
- Testers do not respond: how to get feedback
On AppReviewX, feedback is private and structured, which makes it easier to get the details you need. One feedback you write earns one credit. See how AppReviewX works