Почему схема пропускает такое утверждение
«Гейт прошёл, 0 находок» — законное наблюдение по любому разумному критерию. Есть артефакт: запусти и получишь то же самое. Есть шкала, отметка времени, координата состояния. Ни одна проверка формы к нему не придерётся. И оно ложно.
| Что показывал отчёт | Что происходило на самом деле |
|---|---|
| Три правила отработали чисто, находок нет | в шаблоне поиска стоял обычный байт вместо служебной последовательности; вердикт вынесен по пустому множеству, а терминал байт не показывает |
| Страница принята приёмочным гейтом | четырёх пунктов приёмочного стандарта не существовало в чекере ни в каком виде |
| Самопроверка генератора подтверждает, что чужая разметка снята | проверялось условие, истинное при любом исходе; страницы получали два одинаковых узла разметки |
| Самотест детектора зелёный | мерилось наличие нужной строки в задании, а не поведение; реплику перехватывал слой выше |
Общий признак у всех четырёх. Уверенность не завышена — она просто не о том. Утверждение «нарушений нет» подменено утверждением «правило отработало без ошибок». Второе бывает истинным при нулевом охвате.
Поле, которое закрывает класс
Обязательное поле формулируется одной строкой: объём проверенного — сколько объектов правило осмотрело, а не сколько нашло. В нашей разметке это самая частая утрата (20 случаев) и самая дорогая по переделкам работы (14 из этих двадцати).
Практический вид поля в отчёте — знаменатель рядом с каждым нулём: «0 находок на 2310 осмотренных страницах» вместо «0 находок». Изменение выглядит косметическим, а различает два противоположных состояния мира.
Вердикт прибора — четвёртый тип утверждения
Красное или зелёное от автоматической проверки не укладывается ни в один из трёх привычных типов. Наблюдением оно не бывает — вердикт производный, его вычислили. Измерением не бывает — нет ни шкалы, ни разброса, значение двоичное. Выводом не бывает — посылки не перечисляются.
Под трёхтиповой схемой вердикт маскируется под наблюдение и проходит все проверки. Ровно так у нас прожили два дорогих случая:
| Вердикт | Что за ним стояло | После починки |
|---|---|---|
| «Дефект длинной формы заявки у 822 страниц из 853» | правило краснило почти везде; доля ложных на заведомо корректном материале не проверялась ни разу | 9 из 853: с 96,4% до 1,1% |
| «Сигналы личного опыта есть у 164 страниц из 180» | правило судило по наличию одной сквозной фразы шаблона — экспертным становился любой шаблон сети | признак «триггеры опыта» — с 8 до 0 на 1212 страницах |
Собственных полей у вердикта четыре, и все четыре — о приборе, а не об объекте:
- Правило — что именно проверяется, в одной формулировке.
- Режим — блокирует работу или только наблюдает.
- Доля ложных на заведомо корректном материале — то самое условие, без которого правило краснит на живых страницах.
- Пройден ли мутационный тест — краснеет ли правило на нарочно испорченном образце.
Счёт по нашим приборам. В корпусе 33 гейта. 8 провалили собственный мутационный тест — то есть не заметили внесённой поломки. У 15 мутационного теста нет вовсе. Про эти пятнадцать неизвестно ничего: их зелёное не отличается от молчания.
Почему такой дефект не находят жалобами
Из 96 инцидентов 87 (91%) найдены намеренной проверкой — мутационным тестом, позитивным контролем, сверкой с артефактом, перепрогоном, вторым пространством поиска. Заметно сломались и были замечены со стороны только 9 (9%).
Причина в природе класса: дефект охвата ничего не ломает. Подменённый байт не мешает работе, не роняет прогон и не пишет о себе в лог — он гасит правило и оставляет вердикт зелёным. Система, полагающаяся на заметные поломки, увидит примерно десятую часть своих дефектов.
Независимое подтверждение того же вывода. Параллельно и не зная о нашей работе коллеги разметили другой корпус — 129 инцидентов — автоматически, по совпадению ключевых слов. Тому же классу там досталось 4 случая из 129 (3%), у нас при ручной разметке — 28 из 96 (29%). Разрыв объясняется методом: дефект не содержит слов о себе, поэтому поиск по словам его систематически недосчитывает.
Что забрать себе
- Запретите нули без знаменателя. В любом отчёте автоматической проверки рядом с числом находок должно стоять число осмотренных объектов.
- Заведите вердиктам отдельную карточку с четырьмя полями: правило, режим, доля ложных на корректном материале, наличие мутационного теста.
- Испортите образец нарочно. Правило, не покрасневшее на заведомо сломанном, не проверка, а украшение отчёта.
- Проверьте долю ложных до выката. Правило, краснеющее почти на всём корпусе, скорее всего меряет не то, что вы думаете.
- Не ждите жалоб: девять из десяти дефектов охвата выдают зелёное и находятся только поиском.