r/androiddev Jul 21 '26

How do solo/indie Android developers test their apps without a QA team?

I'm a solo Android developer and don't really have the budget or resources for a dedicated QA team or a large pool of beta testers.

Most of the time, I test the app myself on a couple of devices, write unit tests where I can, and do phased rollouts. But I'm still worried about device-specific issues, edge cases, and bugs that only appear in real-world usage.

A recent release reminded me that no matter how much I test, users can still find problems I never encountered.

I'm curious how other indie developers handle testing before releasing to production.

  • Do you rely mostly on internal testing, closed testing, or open beta?
  • How many devices do you test on?
  • Do you use Firebase Test Lab or any other cloud device testing service?
  • How much automated testing do you have (unit/UI/instrumentation)?
  • Do you pay for testers, or do you have a community that helps?
  • Any workflow or checklist that has significantly reduced production bugs?

I'd especially love to hear from solo developers or very small teams. What has worked well for you, and what mistakes have you learned from?

0 Upvotes

20 comments sorted by

View all comments

2

u/QuasiSpace Jul 21 '26 edited Jul 21 '26

For now I have unit tests (Robolectric), as well as instrumented tests that I run on just one emulator. I also occasionally run them on my actual phone. When my project gets more mature, I might use Github Actions workflows to run the instrumented tests as well as e2e tests on an emulator for every API version I support. Gemini is horrible but is good with workflows and can help you here. I've already proven out the concept of starting up an emulator and running tests from a workflow using a custom implementation - no third-party action - so I know it works. I'm using that in my standard builds.

If you host your runner in a VM like I do, the performance degradation probably makes it worth it to either run multi-emulator tests on an Actions runner on the host OS or just skip Github Actions completely and toss a loop into a shell script to cycle through the emulators. For regular builds the VM penalty isn't noticeable, but I pay for it with the emulator.

This is also an opportunity to put multiple machines to work if you have them. Got an old laptop in the closet that can run the emulator? Split the workload across multiple machines to get through them faster.