As of
From your shop page to orders, stock and customer records: how we design the work, check the details and review changes before release.
3,300+
automated tests on every update to the website
3
automated reviews on each larger change, before release
73
test files check how records behave in a real database
A feature starts with an action: adding a product, accepting an order, recording a payment or answering a customer. The design needs to make the next step clear and show what has changed.
We consider more than the successful path: an empty list, a missing detail, a failed request, a slow connection or someone without permission. The page should explain what happened and what the owner can do next.
Different features need different checks. These are examples covered by the website’s tests, not a claim that every possible situation is covered.
Every update to the website must pass more than 3,300 automated tests, in more than 250 test files, before it goes live. It must also pass more than 50 check scripts, a check that the website's code fits together, and a full build. If even one fails, the update doesn't go out.
Database changes and server functions are deployed separately, with Retriever's founder authorizing the change.
73 test files start a real database inside the test and run Retriever's own database code in it, read straight from the files Retriever's database is built from. Some start from exact copies of the code Retriever's live database was running on 13 October 2026.
Each larger change goes through three separate automated reviews before it is accepted. Anything they stop, we fix before it goes any further.
Then we build the whole website again from exactly the files our web host receives, and every test runs again. We check phone layouts at iPhone size in WebKit, the engine Safari and Chrome use on iPhone.
When we try a change on the live site, we use our own demo shops, such as Banana Store, filled with made-up data. Not a customer's shop.
Every release needs the founder’s authorization and must pass the required checks.
Source checks and fixture tests show how the code behaves under the cases we exercise. Real Google, Apple, OpenAI and payment-provider flows need their own acceptance checks. A successful local build or screenshot does not prove that a production deployment or every external provider works. We record those results separately, and leave unverified flows marked as pending.
Tests are code too: small programs that run parts of Retriever and check the answers. These counts show how much test code is maintained; they do not measure coverage of every feature.
The chart counts website test and check code from dated source snapshots. It excludes the desktop app.
By 30 October 2026 there were about 90,000 lines of test code, in more than 260 test files and more than 50 check scripts for the website.
Your shop's data is copied every three hours, and every night with your photos too, to a separate company's storage. Each copy is locked so only Retriever's founder can open it, and kept for 35 days. On 12 October 2026 we brought a full copy back on a separate computer and checked that every file and every count matched.
No software is perfect, and we won't pretend Retriever is. When a shop owner tells us something broke, we fix it, and we add a test where we can so the same bug doesn't come back.
Source counts refreshed on 30 October 2026. They describe the checks in the code, not a new test run on that date.
The counter, the khata, the staff and the books are Pro. No card to start.