Skip to content
Casheeno
All posts

How we test a rewards app before a player ever sees it

Where the money moves, testing stops being a checklist. The layers we run before a build reaches the store, and the ones we deliberately do not automate.

By

How we test a rewards app before a player ever sees it

A bug in a puzzle mechanic annoys someone. A bug in a payout costs money and trust, and you will hear about it in the store reviews for months. The two are not tested the same way.

Four layers, cheapest first

Nothing reaches manual testing until the layers below it are green. That is not process for its own sake - it is about spending the expensive attention where it counts.

  • Unit tests on the reward and wallet logic, where the maths lives
  • API tests against the backend contract, including the failure paths
  • Automated UI tests on the flows that must never break: sign-up, earn, withdraw
  • Manual exploratory testing, on real devices, by someone trying to break it

The flows we never ship without re-checking

Every release re-runs the same core: create an account, earn a reward, watch the balance update, request a payout, confirm it settles. It takes minutes automated and it has caught more real problems than any other single thing we do.

What we deliberately leave manual

Feel is not automatable. Whether an animation lands, whether a reward feels earned, whether a screen is confusing on a small phone - a person has to look at that. We also test on genuinely low-end hardware, because the device a lot of our players actually own is not the device the team carries.

A red build has to mean something

The fastest way to kill a test suite is to let it go flaky. If a failure might be noise, people stop reading failures. We track flake rate as its own metric and fix flaky tests as bugs, not as chores.