How RocketPay made release-critical collections checks repeatable in 55 minutes
A small QA team automated mandate, repayment and collections flows through the Android app — and validated backend state in the same journey.
Regression time
7 hours → 55 minutes
Release-critical checks
14 → 72 (nightly)
Android device profiles
3 → 10
New lender rollout QA
2 days → 18 hours
QA time freed per week
15+ hours
RocketPay builds collections infrastructure for Indian lenders and businesses. Its products support UPI Autopay, eNACH mandate collections, repayment tracking and device locking for financed Android phones. For smaller lenders and field teams, much of the daily work happens inside RocketPay's Android app — handling mandate setup, collection visibility and device access without requiring a full API integration. That made release QA sensitive. A mandate in the wrong state, a delayed repayment update, or a phone that did not unlock after recovery was not just a UI issue. It could block field teams, create support calls and weaken lender trust.
The release risk lived across the whole journey
The challenge was not whether RocketPay's QA team could test the app manually. They could. The challenge was doing it repeatedly across lender configurations, payment outcomes, Android devices and backend state checks without slowing every release.
Each critical flow crossed several layers. A tester might start in the Android app, move through borrower approval, check repayment status and compare backend records to confirm the real outcome matched what the screen showed. If any layer drifted, the app could appear correct while the actual state was still pending, failed or out of sync. The mobile layer added its own complexity — screens loaded at different speeds, Android OEMs handled flows differently, and small interface changes could break traditional automation even when the product itself was working.
Critical flows crossed systems — mandates, repayments and collection actions involved app screens, payment state, API responses and lender configuration. A screen could look complete before the backend had fully settled.
Android variation slowed repeats — device differences, loading states and minor copy changes made manual repeats and scripted tests harder to trust across device profiles.
New lender setup added risk — every lender onboarding brought configuration-specific checks before the team could sign off a rollout, stretching QA across two full days.
Turning trusted manual checks into release coverage
RocketPay did not start with a blank automation wish list. The team already had manual checks they trusted across mandate setup, borrower approval, repayment outcomes and failed-payment recovery. Quash turned that trusted QA routine into repeatable release coverage — beginning in the Android app, following the lender and borrower journey end to end, on the profiles that mattered for routine coverage.
What Quash covered
Quash automated the release-critical journeys RocketPay's QA team already trusted — across the app, backend and device layer:
Mandate setup
UPI Autopay and eNACH mandate creation, lender configuration checks, setup failure and retry paths.
Borrower approval
End-to-end borrower journey through the Android app, field validation, approval state transitions.
Repayment outcomes
Successful and failed repayment flows, backend state confirmation, retry behaviour and status sync.
Device lock / unlock
Device policy enforcement and release checks — confirming the device actually locked or unlocked after the corresponding payment event.
Backend & API validation
API response checks and backend state validation run as part of the same journey, not as a separate test pass.
New lender rollout
Configuration-specific checks for each new lender integration before go-live sign-off.
Auto-healing reduced false failures from harmless layout, timing or copy shifts across OEM devices — keeping the team focused on actual release issues.
Before Quash
After Quash
“Quash helped us make our release-critical repayment and device-lock checks repeatable across the app, backend and Android devices, without adding another automation maintenance burden for the team.”
Confidence before every release
Regression time dropped from 7 hours to 55 minutes. Release-critical checks increased from 14 to 72. Routine Android coverage moved from 3 device profiles to 10. New lender rollout QA moved from 2 days to 18 hours.
The time saved mattered, but the larger operational change was the quality of release confidence. The team no longer started each release by asking how many known flows they had time to repeat. Their core collections coverage was already running through the app and being validated against backend state.
That gave QA more room for exploratory testing, edge cases and rollout decisions. It also made release discussions less dependent on memory, manual spot checks or last-minute rework. For RocketPay, the win was not just faster QA — it was confidence that every release-critical path had been checked before shipping.