Сравнение скриншотов: Pixel Diff, pHash и SSIM простым языком
Сравнение скриншотов — это алгоритмический процесс, с помощью которого инструмент визуального тестирования определяет, идентичны ли два скриншота одной страницы или различаются — и насколько.
Pixel Diff: считаем точки
Pixel diff — самый прямой подход. Алгоритм берёт два изображения одинакового размера, проходит каждый пиксель и сравнивает значения цветов.
Представьте два одинаковых листа в клетку, только на втором кто-то закрасил 3 клетки красным. Pixel diff найдёт именно эти 3 клетки.
В 2026 году формулу евклидова расстояния в RGB вы найдёте быстрее, спросив у ИИ.
Это просто, быстро, детерминистично. Но грубо. Лёгкое изменение антиалиасинга может пометить сотни пикселей как «отличающиеся». Тест падает впустую.
pHash: визуальная подпись
pHash сокращает каждое изображение до короткого «отпечатка» — обычно 64 бита — который фиксирует общую визуальную структуру.
Думайте об этом как о мелодии песни. Вы узнаете «Катюшу» даже на пианино или в исполнении того, кто фальшивит.
Преимущество: иммунитет к микровариациям. Проблема: мало точности в деталях. Тонкое изменение цвета может остаться незамеченным.
SSIM: математический глаз
SSIM сравнивает зоны изображения по трём критериям: яркость, контраст и структура. Результат от 0 до 1.
0.99 = почти идентично. 0.95 = видимые, но мелкие различия. Ниже 0.90 = очевидные различия.
Преимущество: ближе всего к человеческому восприятию. Проблема: медленнее и требует тщательной калибровки порога.
Структурный подход
Delta-QA сравнивает CSS-свойства и DOM напрямую — алгоритм в 5 проходов. Ноль ложных срабатываний от рендеринга.
FAQ
Какой метод быстрее?
Pixel diff. Затем pHash. SSIM самый медленный.
Какой даёт меньше ложных срабатываний?
Хорошо откалиброванный SSIM.
Может ли pHash обнаружить изменение цвета?
Только значительное.
Попробуйте Delta-QA бесплатно →
Предыдущая статья: Визуальное тестирование On-Premise