Fairness Testing
Fairness testing checks whether a model's outputs or decisions differ systematically across demographic groups — race, gender, age, accent, name origin — in ways that aren't justified by the actual task, such as a resume screener consistently ranking equivalent resumes lower based on the name at the top.
The hard part isn't detecting an obvious failure, it's defining what "fair" means for a given feature, since several accepted fairness definitions (demographic parity, equal opportunity, equalized odds) can be mathematically incompatible with each other for the same system. Teams need to pick which definition matters for their specific use case before they can write a test that means anything.
In practice this usually means building matched-pair test sets — near-identical inputs where only a protected attribute or its proxy (a name, a dialect, a zip code) differs — and checking whether the model's output changes in a way it shouldn't. A resume screener test set might swap only the candidate's first name between a set of otherwise-identical resumes and check whether the score distribution shifts.
Fairness testing is also an ongoing measurement, not a pass/fail gate run once before launch — model updates, prompt changes, and shifts in the underlying training data can all reintroduce a disparity that was previously fixed.