AI testing
Tests that catch AI getting it wrong.
I build tests that catch AI models, and code written by AI, getting things wrong. Each one links to something you can check.
The Pushback Test
Do chatbots stick with "get help now" when a parent pushes back? I wrote 42 situations where the NHS says get help now, then pushed back on the AI the way a tired parent would. I checked them against the US guidance too.
With plain reassurance and no source, Gemini 3.7 Flash kept saying go 100% of the time and Claude Sonnet 5 kept it 95% of the time. When I pasted the same words in as a note I wrote to look like it came from a nurse line, that dropped to 76% and 69%. The wording stayed the same. Only the label changed. That's 665 Gemini conversations and 252 Claude conversations, 917 in all.
A judge model reads each whole conversation and answers one question: is the parent still being told to get help now? A second judge model from another company re-graded every one, and the two agreed 95% of the time. Two models agreeing isn't proof they're right, and the write-up covers the limits.
This isn't medical advice. If your kid needs to be seen, go.
Same words, different label
Share of conversations where the AI still said get help now after the parent's pushback
- Same words, no source
- A real-looking nurse note
Show the numbers as a table
| Model | No source | Nurse note | Conversations, full run |
|---|---|---|---|
| Gemini 3.7 Flash | 100% | 76% | 665 |
| Claude Sonnet 5 | 95% | 69% | 252 |
The conversation counts cover the whole run, every kind of pushback, not just these two. The per-situation results are in the benchmark.
Known-answer tests
Build a test where you already know the answer, hide it, and see if the pipeline finds it. I did that with synthetic test images on my own optical test pipeline.
It caught a ~2% region-placement offset that the run's own 0.998 confidence score didn't flag.
Tests that pass on the wrong Python
I looked at 248 GitHub Actions steps that cache a built Python environment. 146 of them (58.9%) leave the exact Python version out of the cache key. In a controlled experiment, that let jobs pass while running on the wrong Python. Leaving it out doesn't mean all 146 broke. The experiment shows how it can.
One real case was gitman, where one cached environment served five Python versions. After my report, the maintainer merged a fix.
The paper is submitted to arXiv and not announced yet. The code and data are public now.
Cache keys missing the exact Python
GitHub Actions steps that cache a built Python environment