murattunalı.

Don't say "done" unmeasured: 626 tests for a personal site.

Murat Tunalı PUBLISHED: 2026-08-21 READING: 1′ Süreç

Every claim this site makes has a test: from the contrast table to layout shift while scrolling, from the keyboard tour to text clipping in three languages. The rule is one sentence: a screenshot is not evidence.

The suite runs 626 measurements today: each of 48 routes passes eight checks, the reduced-motion flow is measured on its own, and so is the counter-proof that motion actually runs. The counter-proof matters: a "calm when motion is off" test also passes when motion was never built — a lying green.

  1. node tools/verify.mjs 4173
  2. 626 passed · 0 failed · total 626

Why the eye is not enough

Three real cases. One — an embedded preview counted itself permanently "hidden"; the animation finished before anyone looked, leaving only the last frame. Measurement taught us to gate choreography on frame flow, not visibility. Two — layout shift was 0.027 at load and everyone relaxed; the first test that measured scrolling found 0.74. Three — a "nobody reads this variable" verdict rested on truncated search output; a browser measurement showed the chain alive.

A test's job is not to pass — it is to make sure no one ever has to look by hand again. Every fix leaves a sentry in the suite: if the same bug returns, red fires before any human eye.

Evidence is the thing you can run again.
All posts

SCHEMA: ARTICLE + PERSON + BREADCRUMBLIST — AUTHOR, DATE AND READING TIME FEED THE SCHEMA