What is testing and staging? Explained with a trial dinner before opening night
Testing checks that new software works, and staging is a private copy of the live system where changes are tried before customers see them. Explained with a restaurant's trial dinner.
- Author
Umair Mateen- Published
- Updated
- Reading time
- 5 min
- Category
- Engineering
In one sentence: Testing means checking that new software works as expected, and staging is a private, near-identical copy of the live system where the whole thing is tried end to end before real customers ever see it.
The everyday picture
Imagine a restaurant adding a new dish to its menu. The cooks do not simply print it on the menu and hope. While they cook, they taste each part: is the sauce salty enough, is the rice cooked, does the whole plate work together?
Then, before the real opening night, the restaurant holds a trial dinner. The same kitchen, the same staff, the same plates and the same dining room. Friends play the guests. If orders get mixed up or the oven cannot keep up, the team finds out tonight, not in front of paying customers.
In software, the tasting is testing. The trial dinner is staging. Opening night with real guests is production, the live system your customers use.
A recipe change is tasted by automated tests, tried in a full trial dinner (staging), approved, and only then served to real guests in the live system.
How it works, step by step
- A developer makes a change (a cook adjusts a recipe). It might be a new feature, a fix or a small tweak to an existing screen.
- Automated tests run (the cooks taste as they go). These are small programs that check the code does what it should. Some check one small piece, others check that pieces work together. The UK government's service manual advises automating as much testing as possible, so every change is checked and defects are found more quickly.
- The change goes to staging (the trial dinner). GOV.UK describes staging as an environment that copies the live one "as closely as possible". Here the team tries whole journeys, checks speed under load and looks for security holes.
- Someone signs it off (the head chef approves the dish). AWS guidance describes each pre-live stage as a gate: a change only moves on once it passes every check. If something fails, it goes back to the kitchen.
- It goes live (opening night). Real customers now use the change, and the team keeps watching in case something slipped through.
Try it · Put it in order
A change on its way to customers. Put it in order.
Tap the steps in the order they happen.
Where the picture stops
- Tasting is done by people; most software tests are not. Automated tests are written once and then run by computers every time the code changes, often in minutes. People still do some hands-on checking, which GOV.UK calls exploratory testing.
- A trial dinner happens once. In software, every change goes through tests and staging again, so a busy team may repeat this many times a week.
- The copy is never perfect. Staging aims to match the live system, but differences in data, traffic or settings can still hide a problem. Testing lowers risk; it does not remove it.
Why it matters for your business
- Fewer embarrassing mistakes. Problems are caught by your team instead of by your customers.
- Safer, faster updates. When every change is checked automatically, teams can improve the product often without fear of breaking what already works.
- Lower cost of fixing. A bug found before release is fixed quietly. A bug found live can mean lost sales, support calls and urgent overtime.
- Confidence before launch. GOV.UK's aim is for teams to be confident the whole service works before it goes public. That is a sound goal for any business.
An example
Imagine a small online flower shop adding a "deliver next Tuesday" option at checkout.
The developer writes the change. Automated tests check that dates are picked correctly and that existing same-day delivery still works. One test fails: Sunday was allowed, but the shop does not deliver on Sundays. It is fixed in minutes.
Next, the change goes to staging, a private copy of the shop. The owner places a few practice orders with test payments. Everything works, so she approves it and it goes live on a quiet Monday morning.
Frequently asked questions
What is the difference between testing and staging?
Testing is the act of checking that software works. Staging is a place, a copy of the live system, where the final round of checks happens before release.
Is staging the same as production?
No. Production is the live system real customers use. Staging is a private copy built to look and behave as much like production as possible, so problems show up there first.
What are unit, integration and end-to-end tests?
They are checks at different sizes. A unit test checks one small piece of code, an integration test checks that pieces work together, and an end-to-end test walks through a whole user journey, such as placing an order.
Does a small business really need a staging environment?
If customers rely on your website or app to buy, book or pay, a separate place to try changes first is a sensible safeguard.
Related explainers
- What is a prototype? Explained with a floor plan before the bricks
- What is monitoring? Explained with smoke alarms
- What are backups? Explained with a spare key at a friend's house
- Frontend vs backend, explained with a restaurant
The DevDrift ships web and SaaS products with automated tests and a staging step before every release: see how.
Sources
Could you explain this to a colleague now?
Mark it and posts that mention it will show a tick. Saved in this browser only.