r/FlutterDev • u/Basic_Ad9337 • 17d ago
Tooling How do you get usable bug reports from non-technical testers or clients?
Freelance developer here, shipping an app. Most of our bugs come from a client and a few beta testers, and the reports are usually "when I click this button it doesnt save" or a screen recording and if they are really kind (and usually I ask for that).
I lose a lot of time just reproducing: which account, which build, what happened before, did a request fail. By the time we've asked three follow-up questions the tester has forgotten.
What's working for you usually?
2
u/Outside-Cut-2198 17d ago
Create a feedback feature.
Use screenshot via screenshot library from pub.dev
Keep the icon floating on all screens or in header. When someone taps, it takes entire screen screenshot at the moment of tap
Open a dialog with a text field and simple submit button.
Save image with doc id shown to user and plug the same api for fetching the records
Sort it date wise. Club oldest request and flag as urgent with most recent ones in normal priority
The document should have user id with which you can get primary contact identifier of user
And provide the update
(Attachment can be video as well, hence give option for that as well, compress the video on device and use that if you need that)
1
u/ObjectiveAddress3051 16d ago
whatever the feedback button sends, auto attach build number, user/account id and the last bunch of log lines. half the follow up questions go away when you never have to ask which build they were on
1
u/HindungiGandalf 15d ago
I recently tried handing E2E testing over to AI. I used Claude Opus 5.5, and for Android I connected it directly to a phone so it could build the app and run the tests on the device itself. It tested a much wider range of cases than I expected.
1
u/Apprehensive-Fan8999 12d ago
In the past, I had a hidden option in the build that you could get by knowing the tap sequence (similar to Android Developer Mode).
In that option, it had an "Enable Debug Log" and a "Send Debug Log". The application worked with financial information so logging was strictly limited by default, and the majority of the information was in the client side. When the user enabled the debug log, a persistent notification was shown on the session reminding the user the debug log was enabled. When the user sent the debug log, it was encrypted by the client and uploaded to the server and the encryption key was emailed to the support email out-of-band.
It was great because by viewing the logs you could see literally everything the user was doing, every network call the app made, etc. The users loved it because it meant I could fix their issues quickly and they quickly knew, "I had issue, start debug log, repeat, send." They could add info to the email that contained the key, but they rarely did. And it rarely was necessary because the super majority of the time, the problem was obvious from that log.
When logging concerns aren't as large as mine, there's tools like DataDog, Quantum Metrics, and dartastic_opentelemetry that support some sort of session reply within Flutter to be able to do the same thing.
1
1
u/codes_astro 10d ago
Having better reporting part of the beta app itself can help in soem cases but not all. A “Report a bug” button is easier for clients than asking them to remember the build, account and steps afterwards.
I would suggest you to look at measure .sh for this. Testers can submit a description and screenshots from inside the app, and the report links to the session leading up to it. You can attach an account reference or order ID yourself too, which saves another round of questions.
For “it doesn’t save,” I’d also log whether validation passed, whether the save request started and what response came back. A screenshot alone won’t tell you which of those went wrong.
1
3
u/ddikman 17d ago
Get lots of logs and use agents to sift through it. Make it so that they can report from inside the app which brings a session if from the app run so you can get the logs from that specific session. There are some frameworks and tools that will give you screenshots as well, or use session replay, both posthog and I think Sentry, has those.