Note

Testing Strategy for Finance Systems: SIT, UAT and Regression

A testing strategy defines how you'll prove a finance system works before go-live — the layers (unit, system integration, user acceptance, regression) and what each proves. In finance, testing must prove numbers reconcile and integrations move data intact. UAT alone isn't a strategy.

·4 min read·#delivery#testing#sit#uat#regression#finance-systems

A testing strategy defines how you'll prove a finance system works before go-live — the layers of testing (unit, system integration, user acceptance, regression) and what each proves. The key insight it encodes: different kinds of defect need different tests to catch them, and skipping a layer means a whole class of failure walks straight into production. In finance especially, testing must prove not just that functions work but that numbers reconcile and integrations move data intact — because a silently dropped record becomes a wrong figure in the accounts. UAT alone, though vital, is not a testing strategy.

What a testing strategy is

It's the deliberate plan for proving correctness: which test layers run, what each proves, what data they use, and the entry/exit criteria for each. Without it, testing becomes whatever people happened to check before a deadline — and the gaps are exactly where production incidents come from.

The layers

Each layer catches a different class of defect:

LayerProvesRun by
UnitIndividual components workDevelopers
System integration (SIT)Connected systems work togetherTechnical team
User acceptance (UAT)It does what the business needsBusiness users
RegressionExisting function still works after changesTeam / automated
(Performance)It holds up under real volume, at period-endTechnical team

Miss one and its class of defect is untested.

SIT: does the plumbing work?

System integration testing verifies the connected landscape — that interfaces move data intact between the ERP, the TMS, the banks and other systems, end to end. This is where finance systems most often break in ways UAT can't see: a feed that drops records, a format mismatch, a mapping error. SIT proves the interfaces carry the data correctly — using the same control-total logic (counts and sums, source vs target) that monitors them in production.

UAT: is the result fit for purpose?

UAT verifies the system does what the business actually needs, run by real users against real scenarios, ending in sign-off. It's the business's judgement that the system is fit for purpose. Crucially, it's not a substitute for SIT — a system can pass UAT on a screen while an interface silently drops data behind it. Different questions, different layers.

Regression: did we break what already worked?

Every change risks breaking something that previously worked. Regression testing re-checks existing functionality after changes, so a fix or enhancement doesn't silently break the close that ran fine last month. In finance, where the same processes run every period, regression is what keeps a change from turning last period's working number into this period's wrong one. It's the layer most often skipped and most quietly expensive.

Why finance testing is different

In most systems, testing asks "does it work?" In finance, it also has to ask "does it reconcile?" — because the output isn't a screen, it's a number that has to balance and tie back to source.

Finance testing must run real end-to-end scenarios — a full close, a payment run — with realistic data, and check the totals, not just the navigation. A happy-path click-through with toy data proves almost nothing about whether the month-end position will be right.

Test data and criteria

Two things make the layers meaningful:

  • Realistic data — enough volume and messiness to surface the edge cases; clean toy data hides the problems you'll hit live.
  • Entry/exit criteria — agreed definitions of when a layer can start and when it's genuinely passed, so testing ends because it's done, not because time ran out.

What usually goes wrong

  • Only UAT. Relying on user testing alone, so integration and regression defects reach production.
  • No SIT. Interfaces untested end-to-end, so a feed that drops data is discovered in the first live close.
  • No regression. Changes break existing function silently, and last period's good number goes wrong.
  • Toy data. Clean, tiny datasets that never trigger the real-world edge cases.
  • No exit criteria. Testing "finishes" at the deadline regardless of whether it passed.

Run the layers that catch each class of defect — unit, SIT, UAT, regression, performance — on realistic data, with real entry/exit criteria, and check that the numbers reconcile end to end. That's what turns testing from a pre-go-live scramble into genuine confidence that a cutover will hold. UAT tells you it's fit for purpose; the rest of the strategy tells you it actually works.


Part of the Finance Systems Delivery guide. See also user acceptance testing and interface monitoring and reconciliation. The newsletter sends one finance-systems pattern every two weeks.

Built with in Amsterdam( ) by Gravam