How to test a subscription box service
Direct answer
Shipped untested, a subscription box service charges and ships the next box after a subscriber's online cancellation is hidden or blocked, and makes a subscriber who signed up in two taps call support or pass a retention offer maze to skip or cancel. 9 tests are mandatory here, each tied to a risk in the map below. After the release smoke check, start the risk tests with data integrity and migration testing: a check after each renewal run for boxes shipped or charged after a skip, pause or cancellation catches the extra box before it reaches the subscriber's door or card statement.
9 mandatory testsfirst: data integrity and migration testing
What counts as a subscription box service
A subscription box service here is a store on web, iOS and Android that sells recurring physical or digital deliveries on billing cycles, with sign-up, skip, pause and cancel controls in the subscriber's account. It covers the subscribe checkout and consent record, the renewal job, card retries, plan changes mid-cycle, gift subscriptions and the hand-off to billing and fulfilment systems. One-off orders from a store and software plans billed inside an app store are out of scope.
Adjacent product types not covered here
- ecommerce store: An ecommerce store takes a single payment per order, so there is no renewal job, skip or cancel flow, and checkout and stock errors lead instead.
- loyalty program app: A loyalty program tracks points earned on purchases rather than charging a stored card each cycle, so points balance abuse replaces renewals charged after cancellation.
- grocery delivery app: A grocery delivery service builds a new basket and delivery slot for each order, so substitutions and slot capacity replace billing cycles and cancellation rules.
Risk map
| Risk | Grade | Note | Evidence | |
|---|---|---|---|---|
| Money leaves or fails to arrive money-loss | money | primary | A subscriber tries to cancel online in the channel used to sign up, the flow hides or blocks the cancellation, and the next box is charged and shipped. | |
| Accessibility complaint or lawsuit accessibility-liability | legal | primary | A screen reader user can subscribe but cannot reach the skip-this-month or cancel controls, which sit in an unlabeled account menu. | |
| Fine or enforcement by a regulator regulatory-penalty | legal | primary | A subscriber who signed up for the monthly box in two taps must call support or pass a retention offer maze to skip or cancel the next box. | |
| Personal or sensitive data exposed data-breach | data | secondary by design analysis | A gift-subscription redemption link exposes the recipient's delivery address and the giver's billing name to anyone who guesses the next code. |
Mandatory tests (9)
Step 1: release smoke tests
Why:money-lossregulatory-penalty
Done when: On the release build, a test subscriber signs up, skips the next box and cancels online, and the account shows no upcoming charge.
Tool class: browser automation. Who usually runs it: QA engineer.
Step 2: data integrity and migration testing
Why:money-lossregulatory-penalty
Done when: After each renewal run, the report shows no box shipped and no card charged for a skipped month or a cancelled or paused subscription, and no box queued for shipment on a subscription without a stored consent record.
Tool class: data validation. Who usually runs it: QA engineer.
Step 3: integration tests
Why:money-loss
Done when: Subscription status, next billing date and next shipment date match across the storefront, billing provider and fulfilment system after a skip, pause and cancel.
Tool class: API client. Who usually runs it: developer.
Step 4: payment and money-flow testing
Why:money-loss
Done when: A renewal, a failed card with retries, a plan change mid-cycle and a cancellation before the billing date each leave the expected charges, and only those, on the test card statement.
Tool class: API client. Who usually runs it: QA engineer.
Step 5: end-to-end functional tests
Done when: A subscriber who signed up on the website or app cancels in the same channel without calling support, and receives a cancellation confirmation email.
Tool class: browser automation. Who usually runs it: QA engineer.
Step 6: accessibility testing
Done when: A screen reader user subscribes, skips a month and cancels using the keyboard alone.
Tool class: accessibility checker. Who usually runs it: accessibility specialist.
Step 7: compliance checks
Done when: A signed review of the checkout shows the price, renewal frequency and cancellation method next to the subscribe button, and a record of the subscriber's consent is stored.
Tool class: test management. Who usually runs it: product manager.
Step 8: security scanning
Why:data-breach
Done when: The scan of the account and gift-redemption pages shows no open high-severity finding.
Tool class: DAST scanner. Who usually runs it: security specialist.
Step 9: penetration testing
Why:data-breach
Done when: A tester cannot read another subscriber's address or order history by changing a subscription id or guessing gift codes.
Tool class: proxy. Who usually runs it: security specialist.
Recommended and optional tests
unit testsrecommended
Becomes mandatory when plans with different cycle lengths ship.
contract testsrecommended
Becomes mandatory when a second billing provider or payment method is added.
regression suiterecommended
Becomes mandatory when billing rules change more than once a quarter.
resilience and failure testingrecommended
Becomes mandatory when the renewal job charges more than one billing cycle per run.
exploratory testingrecommended
Becomes mandatory when retention offers are added to the cancel flow.
usability testingoptional
May help: shows whether subscribers find skip without help before they reach cancel.
analytics and event tracking testsoptional
May help: churn and retention numbers drive box planning.
Not needed and why
Not needed: renewals run as scheduled jobs and sign-ups have no evidenced peak. Becomes recommended when a limited-edition box launch is promoted.
device and browser compatibility
Not needed: sign-up, skip and cancel are the same account screens on the website and in the iOS and Android apps, and the release smoke check runs them on every release build. Becomes recommended when crash or layout reports cluster on a device or OS version.
Not needed: one country, one currency. Becomes recommended when the box ships abroad or bills in a second currency.
Order of work
First release
- release smoke tests: On the release build, sign up a test subscriber, skip the next box and cancel online, then confirm the account shows no upcoming charge.
- data integrity and migration testing: Run the renewal report and confirm no box shipped and no card charged for a skipped month or a cancelled or paused test subscription, and no box queued on a subscription without a stored consent record.
- integration tests: Skip, pause and cancel test subscriptions and compare status, next billing date and next shipment date across the storefront, billing provider and fulfilment system.
- payment and money-flow testing: Run a renewal, a failed card with retries, a mid-cycle plan change and a cancellation before the billing date on test cards, and compare each test card statement with the expected charges.
- end-to-end functional tests: Cancel a subscription in the same channel it was bought in, website or app, without calling support, and confirm the cancellation email arrives.
- accessibility testing: With a screen reader and keyboard alone, subscribe, skip a month and cancel from the account menu.
- compliance checks: Review the checkout for price, renewal frequency and cancellation method next to the subscribe button, confirm the consent record is stored, and sign the review.
- security scanning: Scan the account and gift-redemption pages for open high-severity findings.
- penetration testing: Have a tester change subscription ids and guess gift codes to read another subscriber's address or order history.
Ongoing cadence
- release smoke tests: On every release build before it goes live.
- data integrity and migration testing: After every renewal job run.
- payment and money-flow testing: After each change to pricing, retry or proration rules.
- compliance checks: After each change to the checkout page or the cancel flow.
- exploratory testing: When a retention offer is added to the cancel flow.
- integration tests: When the billing provider or fulfilment system changes its API version.
- accessibility testing: After each change to the account menu or cancel flow.
Tools
Listed alphabetically inside each test type, filtered to the tests above and to the platforms of subscription box service (web, ios, android). Not recommendations.
release smoke tests
- Firebase Test LabRuns app tests on hosted devices. iosandroidfreemium
- TestRailTest case and run management. webiosandroidapicommercial
- XrayTest management inside Jira. webiosandroidapicommercial
integration tests
- Charles ProxyHTTP proxy for inspecting and throttling traffic. iosandroidwebcommercial
- JestJavaScript test runner with mocking and snapshots. webapiopen-source
- JUnitTest framework for the JVM. apiandroidopen-source
- VitestTest runner for Vite-based JavaScript and TypeScript projects. webapiopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
payment and money-flow testing
- Adyen test environmentTest cards and scenarios for Adyen integrations. webapiiosandroidcommercial
- Stripe test modeTest cards and scenarios for Stripe integrations. webapiiosandroidfreemium
end-to-end functional tests
- AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
- ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
- BrowserStackCloud of real devices and browsers. webiosandroidcommercial
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- DetoxGray-box end-to-end testing for React Native apps. iosandroidopen-source
- EspressoAndroid UI testing framework from Google. androidopen-source
- LambdaTestCloud browser and device grid. webiosandroidcommercial
- MaestroMobile UI flows written in YAML. iosandroidfreemium
- PercyVisual review of UI changes. webcommercial
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial
- SeleniumWebDriver-based browser automation. webopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
accessibility testing
- Accessibility ScannerGoogle's on-device accessibility checker for Android. androidopen-source
- axe-coreAccessibility rules engine for automated checks. webopen-source
- LighthouseAudits for accessibility and performance in Chrome. webopen-source
- Pa11yCommand-line accessibility testing. webopen-source
security scanning
- Burp SuiteProxy and scanner for web application security testing. webapifreemium
- mitmproxyInteractive HTTPS proxy. iosandroidwebapiopen-source
- MobSFStatic and dynamic analysis for mobile binaries. iosandroidopen-source
- OWASP ZAPDynamic application security scanner. webapiopen-source
- SemgrepStatic analysis with custom rules. apiwebiosandroidfreemium
- SnykDependency and code vulnerability scanning. apiwebiosandroidfreemium
penetration testing
- Burp SuiteProxy and scanner for web application security testing. webapifreemium
unit tests
regression suite
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- TestRailTest case and run management. webiosandroidapicommercial
- XrayTest management inside Jira. webiosandroidapicommercial
What to send to the person who will test
Send the checklist and the brief below. The printable checklist for subscription box service has the same 9 items with checkboxes.
Download the checklistMarkdownCSVBrief (Markdown)
Acceptance criteria wording
A release of the subscription box service is accepted when a test subscriber can sign up, skip the next box and cancel online in the same channel without calling support, and the account then shows no upcoming charge. The renewal report shows no box shipped or charged for a skipped month or a cancelled or paused subscription, and no box queued on a subscription without a consent record. Status, next billing date and next shipment date match across storefront, billing provider and fulfilment system.
Brief
# Test brief: subscription box service Product type: subscription box service. Recurring physical or digital deliveries with billing cycles. Risk map and evidence: https://howtotestaproduct.com/how-to-test/subscription-commerce/ Printable checklist: https://howtotestaproduct.com/checklists/subscription-commerce/ Run these 9 mandatory tests in this order. A test is done only when its done condition is true on the build you will release. 1. release smoke tests (risks: money-loss, regulatory-penalty). Tool class: browser automation. Usually run by: QA engineer. Done when: On the release build, a test subscriber signs up, skips the next box and cancels online, and the account shows no upcoming charge. 2. data integrity and migration testing (risks: money-loss, regulatory-penalty). Tool class: data validation. Usually run by: QA engineer. Done when: After each renewal run, the report shows no box shipped and no card charged for a skipped month or a cancelled or paused subscription, and no box queued for shipment on a subscription without a stored consent record. 3. integration tests (risks: money-loss). Tool class: API client. Usually run by: developer. Done when: Subscription status, next billing date and next shipment date match across the storefront, billing provider and fulfilment system after a skip, pause and cancel. 4. payment and money-flow testing (risks: money-loss). Tool class: API client. Usually run by: QA engineer. Done when: A renewal, a failed card with retries, a plan change mid-cycle and a cancellation before the billing date each leave the expected charges, and only those, on the test card statement. 5. end-to-end functional tests (risks: regulatory-penalty). Tool class: browser automation. Usually run by: QA engineer. Done when: A subscriber who signed up on the website or app cancels in the same channel without calling support, and receives a cancellation confirmation email. 6. accessibility testing (risks: accessibility-liability). Tool class: accessibility checker. Usually run by: accessibility specialist. Done when: A screen reader user subscribes, skips a month and cancels using the keyboard alone. 7. compliance checks (risks: regulatory-penalty). Tool class: test management. Usually run by: product manager. Done when: A signed review of the checkout shows the price, renewal frequency and cancellation method next to the subscribe button, and a record of the subscriber's consent is stored. 8. security scanning (risks: data-breach). Tool class: DAST scanner. Usually run by: security specialist. Done when: The scan of the account and gift-redemption pages shows no open high-severity finding. 9. penetration testing (risks: data-breach). Tool class: proxy. Usually run by: security specialist. Done when: A tester cannot read another subscriber's address or order history by changing a subscription id or guessing gift codes. Acceptance criteria wording: A release of the subscription box service is accepted when a test subscriber can sign up, skip the next box and cancel online in the same channel without calling support, and the account then shows no upcoming charge. The renewal report shows no box shipped or charged for a skipped month or a cancelled or paused subscription, and no box queued on a subscription without a consent record. Status, next billing date and next shipment date match across storefront, billing provider and fulfilment system. Report back for each test: pass or fail against its done condition, the build or version tested, and the proof (screenshot, log line or report file). Licence: CC BY 4.0.
For founders: what to forward and what to ask back. For product managers: turning this page into tickets.
Questions about testing a subscription box service
What testing does a subscription box service need?
9 tests are mandatory, starting with a release smoke test of sign-up, skip and cancel and a data integrity check of every renewal run. Each is tied to one of the 4 risks in the map: boxes charged after an online cancellation is blocked, a cancel flow that needs a support call, gift codes that expose addresses and skip and cancel controls a screen reader cannot reach. Unit, contract, regression, resilience and exploratory tests are recommended, each with the event that makes it mandatory.
Does a subscription box service need PCI DSS testing?
The risk map does not cite PCI DSS for this product type. The mandatory tests that touch stored payment tokens are the security scan of the account and gift-redemption pages and the penetration test of subscription ids and gift codes.
What does GDPR mean for testing a subscription box service?
The map cites the General Data Protection Regulation for the data breach risk. The data breach case is a gift-subscription link that exposes the recipient's delivery address and the giver's billing name to anyone who guesses the next code, so penetration testing guesses gift codes and changes subscription ids.
How should checkout be tested in a subscription box service?
A compliance review checks that price, renewal frequency and cancellation method sit next to the subscribe button and that a consent record is stored. Payment and money-flow tests then run a renewal, a failed card with retries, a mid-cycle plan change and a cancellation before the billing date, and compare each test card statement with the expected charges.
Which tests in a vendor test plan for a subscription box service are not needed?
Performance testing is not needed while renewals run as scheduled jobs, until a limited-edition box launch is promoted. Compatibility testing is not needed while sign-up, skip and cancel are the same account screens on the website and in the iOS and Android apps, until crash or layout reports cluster on a device or OS version. Localization is not needed until the box ships abroad or bills in a second currency.
Evidence
ev-0169regulatorprimary
FTC Secures Historic [amount] Settlement Against Amazon, U.S. Federal Trade Commission
The process cannot be difficult, costly, or time-consuming and must be available using the same method that consumers used to sign up.
The FTC settled charges that a retailer enrolled shoppers in a paid recurring membership through confusing checkout screens and made cancellation hard; the order sets the enrolment-consent and same-channel cancellation rules any recurring delivery subscription is tested against.
published 2025-09-25 · verified 2026-10-07
ev-0017regulatorprimary
Guidance on Web Accessibility and the ADA, U.S. Department of Justice
The Department of Justice states that the ADA applies to the websites of businesses open to the public and of state and local governments.
published undated · verified 2026-10-07
ev-0074court-or-fineprimary
Robles v. Domino's Pizza, LLC, No. 17-55504 (9th Cir. 2019), United States Court of Appeals for the Ninth Circuit
We agree with the district court that the ADA applies to Domino’s website and app.
A blind customer could not order through a retailer's website and app with a screen reader, and the court held the ADA applies to them; an online store selling to the public faces the same claim. The holding transfers to any commerce site that sells to the public online, including subscription sign-up and management flows.
published 2019-01-15 · verified 2026-10-07
ev-0142regulatorprimary
Proposed FTC Order will Prohibit Telehealth Firm Cerebral from Using or Disclosing Sensitive Data for Advertising Purposes, and Require it to Pay [amount], U.S. Federal Trade Commission
The FTC complaint describes pharmacy and prescription information sent to third parties through tracking tools, a patient portal access method that exposed medications to other patients, a failure to block former employees from accessing medical records, and a cancel-anytime promise contradicted by a multi-step, often multi-day cancellation process during which consumers kept being charged. The first two transfer to pharmacy delivery apps; the cancellation finding transfers to any recurring subscription sold online.
published 2024-04-15 · verified 2026-10-07
ev-0014standardprimary
OWASP Application Security Verification Standard (ASVS), OWASP Foundation
ASVS gives testable security requirements for web applications and services, grouped by verification level.
published undated · verified 2026-10-07
ev-0025regulatorprimary
Regulation (EU) 2016/679 (General Data Protection Regulation), EUR-Lex, European Union
The GDPR sets lawful basis, consent, data subject rights, security of processing (Article 32) and breach notification duties for anyone processing personal data of people in the EU.
published undated · verified 2026-10-07
Disclaimer
This page lists tests and risks for a product category, not for your product. Risks are attached only with the evidence shown in the Evidence section. Tools are listed alphabetically and are not recommendations. Nothing here is legal, regulatory or security advice; where a regulator or a store sets a requirement, their page is linked and takes precedence.