What Is "Acceptance Testing" in System Development? What to Check at Delivery
A neutral guide to what "acceptance testing" means in system development, what to check at delivery — functionality, real data, permissions, deliverables — and how to report issues found.
What Does "Acceptance Testing" Mean?
Acceptance testing (often called "kenshu" in Japanese business practice) is the process by which a client inspects a delivered system or piece of software and formally accepts it after confirming that it matches what was agreed in the contract and specifications. In common industry practice, once acceptance is complete, the delivery is generally treated as "finished," and any defects found afterward are usually handled separately as a matter of contractual non-conformity, with different implications than issues raised before acceptance. For this reason, acceptance testing is not merely a formality — it is a key step that determines what the client does and does not confirm before taking ownership of the system. For the bigger picture of ordering a system, see our guide to ordering system development; this article focuses specifically on the acceptance process itself.
Why Acceptance Testing Matters (Background)
Acceptance testing matters because software development deals in an intangible deliverable. Unlike a building or a piece of machinery, whose condition can often be checked visually at delivery, software cannot be judged as correct simply by how it looks. A screen may display correctly while a calculation is subtly wrong under certain conditions, or the system may stop processing entirely once real data is loaded — both are common occurrences. Acceptance is also closely tied to payment timing. Under many contracts, completing acceptance triggers the obligation to pay the remaining balance, or is a precondition for invoicing, so rushing through acceptance can weaken your position for negotiating fixes to issues discovered later. Conversely, if acceptance criteria are left vague when the contract is drawn up, both the client and the development company can end up with different understandings of "how much needs to be checked before it counts as complete," which becomes a seed for disputes.
Problems That Arise When Acceptance Is Left Vague (The Structure of the Issue)
Acceptance-related problems generally fall into three structural patterns. The first is an unclear scope of review — the contract or specification does not spell out acceptance criteria, so pass/fail ends up being judged subjectively by whoever handles it on the client side. The second is an imbalanced review process — acceptance is completed solely by the IT department or the project lead, without input from the frontline staff who will actually use the system day to day. The third is time pressure — the acceptance period is set too short, or business demands push the review to the last minute, causing the contractual acceptance window to lapse and triggering a "deemed acceptance" clause (a provision under which acceptance is considered complete if no objection is raised within a set period). In each case, the client fails to make full use of acceptance as a right that belongs to them. Many additional-cost disputes also originate from insufficient checks at the acceptance stage — see how to prevent additional-cost disputes for a fuller picture of that risk.
Provisional vs. Final Acceptance (A Neutral Comparison)
| Item | Provisional Acceptance | Final Acceptance |
|---|---|---|
| Timing | Often conducted right after go-live or during a trial operation period | Often conducted after a defined operating period once no problems are confirmed |
| Purpose | Surface obvious defects or missed requirements early | Give final confirmation that the deliverable matches the contract and formally accept it |
| Relation to payment | May trigger a partial payment under some contracts | Often triggers the obligation to pay the remaining balance |
| Handling of defects found | Usually proceeds toward final acceptance once fixes are made | Often becomes a separate discussion under contractual non-conformity liability |
Acceptance Testing Checklist
The exact items to check during acceptance vary by contract and specification, but small and mid-sized businesses ordering a system commonly need to cover the following.
- Core functionality: Confirm that the features listed in the specification/requirements document work as described, through the described steps and conditions
- Real-data verification: Test with actual business data (or data close to it in volume and format), not just sample data, to check processing speed and error behavior
- Permissions and security: Confirm that access rights for each user work as specified, and that no user can perform operations they shouldn't be able to
- Error handling: Confirm that incorrect input or unexpected operations produce appropriate error messages and do not crash the system
- Full set of deliverables: Confirm that source code, design documents, manuals, and various accounts (server, domain, admin access to external services, etc.) are handed over as agreed in the contract
- Operations and maintenance terms: Confirm that post-acceptance maintenance scope and conditions align with the contract and with how maintenance costs are typically structured
Typical Acceptance Period and How to Run It Internally
Acceptance periods vary by contract, but one to two weeks is a common range. This is only a guideline, though — it can be adjusted by mutual agreement depending on the scale of the system and its impact on operations. What matters most is not letting acceptance be completed solely by the IT department or a single point of contact, but building in an opportunity for the frontline staff who will actually use the system day to day to try it out. Usability issues and mismatches with real workflows are the kind of thing that only shows up when the people who'll use the system get their hands on it — a purely technical review tends to miss them. Planning frontline testing into the acceptance schedule, and setting up a way to consolidate feedback and relay it to the development company, works best when it's thought through before the contract is even signed.
How to Report a Defect You Find
If you find a defect or a mismatch with the specification during acceptance testing, describe it in terms of a reproducible sequence rather than a vague impression. Lay out when it happened, on which screen, what operation was performed, and what happened as a result (including how it differs from the expected result), and share screenshots or a screen recording where possible — this speeds up the fix considerably. It also helps to keep the exchange in a written, trackable form — email or a ticketing tool — rather than verbal conversation alone. Keeping a running list of what was flagged during the acceptance period and how each item was resolved is useful both for deciding when acceptance is truly complete and for settling any disagreements that come up later.
Frequently Asked Questions
If a defect is found after acceptance, is it too late to get it fixed?
It depends on the contract, but many contracts include a clause on liability for non-conformity, under which defects found after acceptance can still be corrected free of charge within a certain period and under certain conditions. The scope and duration of this obligation vary by contract, so it's important to check the relevant clause in your specific agreement.
What happens if the review isn't finished within the acceptance period?
If the contract includes a "deemed acceptance" clause, acceptance may be considered automatically complete if no objection is raised within the specified period. If your review is taking longer than expected, it's best to request an extension from the development company before the deadline passes.
Who should be responsible for acceptance testing?
It's generally considered good practice to involve not just the project's ordering contact but also the frontline staff who will actually use the system. Deciding roles and who has final sign-off authority ahead of time, internally, tends to make the process go more smoothly.
Summary
Acceptance testing marks the formal delivery point of a system development project, and it is also the client's last real opportunity to confirm the quality of what they're receiving. Preparing a checklist in advance, and building in verification with real data and participation from frontline staff, makes it far less likely you'll be caught off guard after the fact. How acceptance criteria and post-acceptance handling actually work depends on the wording of your specific contract, so if anything is unclear, review the contract itself and consult the development company or a qualified professional as needed.
Feel free to contact us
Contact Us