Skip to main content

This is a test site with dummy HMRC services. Do not enter real personal information. How it works.

Persona tests

A persona is a made-up customer whose situation tests a rule or a journey. For each one, the figures were worked out by hand from the rates on GOV.UK, and the service must give exactly the same answer.

The calculator is also tested at every threshold, against a separately written calculation, and with random answers. Does the testing cover every situation?

Results, 17 October 2026
Table Tests Checks Result
End-to-endCustomers going through whole journeys, using the dummy services 78 journeys 263 All passed
CalculatorEvery kind of tax return, through the calculation and the API 137 customers 381 All passed
Payment plansForecasts and Budget Payment Plan amounts 23 customers 112 All passed
Making Tax DigitalWhen it starts, exemptions, penalty points and late payment 26 customers 47 All passed
ThresholdsEvery threshold, for every tax year, at the threshold and just over it 53 rules 496 All passed
Separate calculationRandom customers, worked out again by a second calculation written separately 25,000 customers 300,000 All agree
Any answersRandom customers giving any of the answers in any combination 30,000 customers 30,000 None broke

The persona tables are part of 1,737 automated tests: 1,737 passed, 0 failed and 0 were skipped.

How the tests work

  • Calculator personas are checked through the calculation engine and the public API, and some through the question pages.
  • Payment plan personas are checked through the forecast and the Budget Payment Plan API. Dates allow for weekends and GOV.UK bank holidays.
  • End-to-end personas go through whole journeys in a browser-like client. They use the dummy GOV.UK One Login, HMRC APIs, GOV.UK Notify, DVLA and Budget Payment Plan service, reached over HTTP like the real ones.
  • Each end-to-end test customer is based on a calculator or payment plan persona, so its figures were worked out by hand too.

Is this page not working properly? (opens in new tab)