Перейти к содержимому

Фотография

"Fuzzy" сравнение скриншотов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 elvis

elvis

    Постоянный участник

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 12 мая 2016 - 14:03

Заморочился вникнуть в тему тестирования графики веб приложения при помощи референсных скриншотов. Кто пользовался таким методом тестирования, и что можете сказать?

 

Навскидку, первые проблемы с которыми я столкнулся - если шрифт чуть по другому рендерится в разных браузерах, то тесты упадут. Попробовал метод так называемого fuzzy сравнения изображений, который позволяет определить некоторый допуск, но с ним есть одна загвоздка - как выбрать такой порог допуска, чтобы и незначительные отклонения игнорировать и отлавливать ошибки, где скажем появилась запятая не там где надо, или кавычки пропали?


  • 0

#2 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 12 мая 2016 - 14:50

Я пробовал, давным-давно, на десктоп-приложении.

Могу сказать, что это извращение, и реальной пользы от этого подхода достичь вряд ли возможно. 

 

То, что вы этим решили позаниматься - хорошо и похвально, но строить на этом все тестирование продукта - провальная затея.


  • 0

#3 elvis

elvis

    Постоянный участник

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 12 мая 2016 - 15:06

Я пробовал, давным-давно, на десктоп-приложении.

Могу сказать, что это извращение, и реальной пользы от этого подхода достичь вряд ли возможно. 

 

То, что вы этим решили позаниматься - хорошо и похвально, но строить на этом все тестирование продукта - провальная затея.

А никто и не говорит про полное тестирование. Просто есть некоторые места где это бы пригодилось. И почему же всё таки извращение? Существует, насколько я знаю даже не один фреймворк поддерживающий такой вид проверок. Даже, если не ошибаюсь Yandex это использует (где-то об этом читал).


  • 0

#4 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 12 мая 2016 - 15:23

Яндекс использует машинное обучение в проверке верстки своих сайтов, которое им находит, в частности, некорректно введенный ISBN какой-то книги в Маркете.

 

В принципе подход имеет право на жизнь с несколькими оговорками:

1) у вас должен быть механизм быстрого формирования базы "эталонных" скриншотов

2) у вас должен быть инструмент быстрой валидации новых "эталонных" скриншотов, например ручное сравнение их со старыми.

3) сравнение хорошо делать не только с эталоном. но и с предыдущей версией.


  • 0

#5 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 12 мая 2016 - 18:00

А никто и не говорит про полное тестирование. Просто есть некоторые места где это бы пригодилось.
И почему же всё таки извращение?
Существует, насколько я знаю даже не один фреймворк поддерживающий такой вид проверок.
Даже, если не ошибаюсь Yandex это использует (где-то об этом читал).

1. Основной тип проблем, которые можно найти данным способом - "поехала верстка". А нет ли более эффективных способов проверок верстки?
2. Что вы будете делать с динамическим контентом на страницах?
3. Про создание и обновление эталонных скриншотов вам уже сказали
4. Это довольно ненадежный способ, будет высокий процент ложных срабатываний
  • 0

#6 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 12 мая 2016 - 19:47

Мы делали сравнение отчетов и некоторых форм таким образом.

 

Из подготовки стоит отметить, что разработка сделала на механизм заморозки даты на сервере, потому что в подписи отчета стоит текущая системная дата с сервера.

Сравнение проводится с помощью Araxis Merge - результатом является так же графический файл с расхождениями. Его уже может просмотреть человек - это проще, чем сличать десятки пар картинок.

После каждой версии, при необходимости, обновлялись эталонные образцы.


  • 0

#7 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 13 мая 2016 - 07:47

 

Я пробовал, давным-давно, на десктоп-приложении.

Могу сказать, что это извращение, и реальной пользы от этого подхода достичь вряд ли возможно. 

 

То, что вы этим решили позаниматься - хорошо и похвально, но строить на этом все тестирование продукта - провальная затея.

А никто и не говорит про полное тестирование. Просто есть некоторые места где это бы пригодилось. И почему же всё таки извращение? Существует, насколько я знаю даже не один фреймворк поддерживающий такой вид проверок. Даже, если не ошибаюсь Yandex это использует (где-то об этом читал).

 

 

https://github.com/y...x-qatools/ashot

 

Вроде на хабре была хорошая статья, но не могу с ходу найти


  • 1

#8 DmitriyQA

DmitriyQA

    Постоянный участник

  • Members
  • PipPipPip
  • 183 сообщений
  • ФИО:Коваленко Дмитрий Владимирович
  • Город:Tel Aviv

Отправлено 14 мая 2016 - 09:42

Мы сейчас активно пользуемся скриншотером applitools для скриншот тестов.

Есть 2 варианта использования: запуск тестов через CI для тестирования списка сайтов и запус из кастомного теста через API

Программа хранит basseline для каждой страницы и каждый раз сравнивает полученный результат с ним. Еще там есть встроеный очень удобный редактор - можно игнорировать не стабильный области либо установить двигающиеся зоны.

 

Насчет разных браузеров, то сравнивать контент между ними нет смысла, у нас ранится обычно только для Chrome, но есть возможность запустить для любого браузера для которого есть поддержка Selenium


  • 2

Senior QA/ Wix.com / qaacademy.net



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных