Пиксель за пикселем vs Перцептуальное сравнение
Попиксельное сравнение сопоставляет каждую точку двух скриншотов и отмечает любое различие. Перцептуальное — оценивает, заметна ли разница человеку.
Pixel diff: жёсткая честность
Если пиксель изменился — сообщает. Точно до предела, но генерирует шум. Много шума. Антиалиасинг, сжатие, рендеринг — всё вызывает ложные срабатывания.
При нескольких деплоях в день pixel diff без фильтра выдаёт десятки ложных срабатываний. Наступает усталость от алертов. Настоящий баг тонет в шуме.
Перцептуальное сравнение: умный подход
SSIM или pHash оценивают «визуальную похожесть». Изменение антиалиасинга на 50 пикселей, невидимое глазу — игнорируется. Кнопка, сместившаяся на 20 пикселей — обнаруживается.
Проблема — порог. Слишком строго = pixel diff. Слишком мягко = пропуск регрессий.
Третий путь: структурный анализ
Delta-QA сравнивает CSS-свойства и DOM — алгоритм в 5 проходов. Ноль ложных срабатываний, ноль пропущенных изменений.
FAQ
Какой метод популярнее?
Pixel diff, из-за простоты.
Можно ли комбинировать?
Да. Pixel diff + SSIM как фильтр.