← Digital Shop guides

Fake HR and Payroll Data for Testing: What Good Test Data Looks Like

How to test payroll reports, org charts and HR dashboards with synthetic employee data that has no real people in it, and the consistency rules that make it useful.

Real employee records are about the worst thing you can put in a test database. They carry names, pay and personal details that almost nobody on a dev team should see. Random rows are not much better: if net pay doesn't equal gross pay minus deductions, or an employee is paid before their start date, your reports will look wrong for reasons that have nothing to do with your code.

Good HR test data is synthetic and internally consistent. This guide covers what to look for.

Keep real people out of it

Use invented names and reserved contact details. The `example.com` domain is reserved for documentation, and phone numbers in the `555-0100` to `555-0199` range are set aside as fictional in North America. Data built from those can't accidentally email or call a real person. Leave out the fields you don't need to test: government IDs, birth dates and bank details rarely matter to the queries you are checking.

Make the org chart a real tree

Most HR questions walk the reporting line: who reports to whom, how deep is the tree, who has no manager. A useful dataset has exactly one person at the top, every other person has a manager, and a manager started before the people who report to them. Without that, a recursive query can loop or stop early and you'll never notice with random data.

Let the pay math reconcile

Payroll tests live or die on arithmetic. For each payslip you want gross pay equal to regular plus overtime plus bonus, and net pay equal to gross minus tax, benefits and retirement. Salaried pay should come from the salary in effect on that date, which means a salary history table with effective dates, not a single number on the employee row.

Respect dates

Nobody should be paid before they are hired or after they leave. Time off should fall inside employment, and a request should be made before it starts. These rules catch real bugs in date-range joins, which are one of the most common sources of wrong totals in HR reports.

Use two sizes

A small set (a hundred or so people) is quick enough to load on every test run and easy to read by eye. A full set (thousands of people and tens of thousands of payslips) shows you which queries need indexes and how a dashboard behaves under load.

Don't treat illustrative numbers as real

Test data should never be your reference for tax rules or benefit prices. The withholding and plan costs in a synthetic dataset are placeholders. Check real rules against official sources where you operate.

The HR & Payroll Test Dataset follows all of these rules and checks them automatically when it's built.

HR & Payroll Test Dataset

Employees, managers, salary history, benefits, pay periods, payslips, time off and reviews that add up: a fully synthetic HR database for dev, demos and SQL practice.

DetailsBuy: $19

Or try the free sample first.

Sold by Quietcog. Support: gb1@mail.grokbot.com. General information only, not professional advice.