In this guide 6 sections
Run user acceptance testing with staff from each role who work in the system daily, using real data from a past month. Check report totals against the old process, log every defect with steps and a screenshot, and sign off only when agreed cases pass.
Write test cases around roles, not screens
List every role that will log in, from counter clerk and store keeper to dispatcher and auditor, then write the five jobs each does weekly. Those jobs become your test cases.
Write each case like a note to a new colleague: raise a sales order for a credit customer, cancel one line, and state the expected result.
Hand each case to the person who does that job today, because a developer clicking through proves only that the menus open. Add the traps only users know. A clerk tries to open payroll, a session times out mid entry, an accented customer name breaks a label, and a CSV export opens oddly in Excel.
- One sheet per role
- Case number, step and expected result
- Columns for actual result and a screenshot
- Tester’s name and date
Load a real month before anyone tests
Have the vendor import last month’s customers, item master and transactions into the test copy, since invented data hides awkward cases like a customer with two billing addresses. Test the item sold by carton and loose.
Pick the worst month, because one with credit notes, part payments, a price revision and a late supplier bill will expose more faults than a quiet one.
Include stock transfers between depots, batch expiry dates, a thermal roll print and an A4 preview, and keep the old system running beside the new one. You need it for the next check.
Prove the totals match the old process
Reports win or lose trust. Run the trial balance, stock valuation, receivables ageing and sales by customer in both systems for identical dates, then put the totals side by side on one sheet.
Every gap has a cause. Rounding, a back dated voucher and an opening balance keyed twice are the usual suspects, so ask the vendor to explain every gap in writing.
Do not trust luck. Trace one invoice from entry to ledger to report, then one purchase return, then one cheque bounced after deposit, and note every screen where the figure changed hands.
- Receivables ageing buckets by customer
- Stock quantity and value by warehouse
- Month end closing entries
- Printed invoice, delivery note and statement layouts on A4 and thermal rolls
Log defects so the vendor can reproduce them
A vague report wastes a week. Record the login role, the exact clicks, the record used, what you expected and what appeared, and attach a screenshot showing the browser address bar.
Rate each defect with one of four labels, blocks daily work, wrong figure, awkward but workable or cosmetic, and agree those labels with the vendor before testing starts.
Keep one shared register where everyone sees what is open, fixed or waiting for retest, so nobody argues about status on the weekly call with the vendor. No private spreadsheets allowed.
- Defect number and date
- Role, steps and record used
- Expected result against actual
- Severity and status through retest
Set the sign off rule before you start
Write down what passing means, for example no open defect that blocks daily work or shows a wrong figure, and every role has run its cases twice. Cosmetic items can wait on a list.
Sign off by role. One signature is not enough. The accountant confirms the ledger, the store keeper confirms stock, and the owner signs last, after reading the open defect list and the report reconciliation sheet.
Then plan the first live week. Name who watches the first invoice run, and keep the old system readable through one full month end so late questions still have an answer.
UAT sign off pack
Three pages make the pack. Page one is a test case table per role, with columns for step, expected result, actual result and pass or fail. Page two is a reconciliation grid with old total, new total, difference and explanation, and page three is a defect log above a sign off block. It lists name, role, date and open items.
Open a blank worksheet to printQuestions owners ask
How long should user acceptance testing take?
Length depends on roles and data volume. Plan for a full round of every role’s cases, a fix window while the vendor corrects defects, and a second pass on whatever failed. Do not squeeze it.
Who should do the testing?
Choose the people who use the system daily, one from each role, plus an owner who makes the final decision on sign off. Developers should not test their own work.
What if the totals do not match the old system?
Find the cause before touching anything. Rounding rules, back dated vouchers, duplicate opening balances and truncated imports are the common culprits, and the vendor should explain each difference in writing before you retest.
Can we go live with open defects?
Yes, but only when the open items are minor, listed in the register and each has a fix date the vendor has agreed to in writing. Fix blockers and wrong figures first.
