Size: a a a

QA — Автоматизация

2020 March 30

R(

Roman (rpwheeler) in QA — Автоматизация
Lev Yarushin
Sikuli это всё же про автоматизацию на основе картинок, а не регрессию.
Это интересный вопрос. В вышеуказанном сборнике Селениум тоже есть, но про Селениум не говорится что только для регрессии.
источник

EB

Evgenii B in QA — Автоматизация
другое дело, что если механизм распознавания картинок недостаточно точен или наоборот слишком точен, то иногда он может и будет порождать false positive / false negative в зависимости от желаемого
источник

LY

Lev Yarushin in QA — Автоматизация
Roman (rpwheeler)
Это интересный вопрос. В вышеуказанном сборнике Селениум тоже есть, но про Селениум не говорится что только для регрессии.
Это инструменты для автоматизации браузеров, о чём написано в заголовке раздела )
источник

LY

Lev Yarushin in QA — Автоматизация
Сикули - это что-то вроде Selenium IDE, но не для баузера а для десктопа.
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Evgenii B
а какой смысл в автоматизации ( тестирования) если она не помогает с регрессией (тестирования) ?
1) Перфоманс тестирование, например. Когда тестируется начальная нагрузка (нулевая итерация), никакой регрессии ещё быть не может.

2) "Обезьянье тестирование", которое на Сикули я реализовывал. "Обезьяна" мучает приложение случайным вводом.

Это может найти какую-то случайную комбинацию действий.

Это может найти какие-то данные выдающие крэш в мобильном приложении.

3) (из моего доклада на COMAQA Минск 2019): "у вас есть веб-сервис который принимает, например, pdf-ки. И у вас есть 2000 пфок. Вы не хотите попробовать автоматизировать что случится с сервисом если все 2000 ему отправить?".
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Lev Yarushin
Сикули - это что-то вроде Selenium IDE, но не для баузера а для десктопа.
Вынужден не согласиться.
Есть Sikuli-библиотека  и Siluli-IDE . Хотя они части одного проекта, но это разные артефакты. Jar'ник Sikuli API сейчас можно скачать отдельно.

Были и другие ответвления.
источник

EB

Evgenii B in QA — Автоматизация
Roman (rpwheeler)
1) Перфоманс тестирование, например. Когда тестируется начальная нагрузка (нулевая итерация), никакой регрессии ещё быть не может.

2) "Обезьянье тестирование", которое на Сикули я реализовывал. "Обезьяна" мучает приложение случайным вводом.

Это может найти какую-то случайную комбинацию действий.

Это может найти какие-то данные выдающие крэш в мобильном приложении.

3) (из моего доклада на COMAQA Минск 2019): "у вас есть веб-сервис который принимает, например, pdf-ки. И у вас есть 2000 пфок. Вы не хотите попробовать автоматизировать что случится с сервисом если все 2000 ему отправить?".
1) не очень понятно при чем тут тестирование Sikuli
2) в случае, когда ты как-то хаотично тестируешь, соглашусь, но только отчасти, потому что точность разпознавания элементов изображения напрямую влияет насколько эффективно это обезьянье тестирование будет работать. из-за неподготовленного изображения фреймворк может протестировать только 10% предполагаемых путей =)

3) добро
источник

LY

Lev Yarushin in QA — Автоматизация
Roman (rpwheeler)
Вынужден не согласиться.
Есть Sikuli-библиотека  и Siluli-IDE . Хотя они части одного проекта, но это разные артефакты. Jar'ник Sikuli API сейчас можно скачать отдельно.

Были и другие ответвления.
Ну изначально было так. Библиотека тоже про "найти картинку с погрешностью, кликнуть\послать клавиши". Потом добавился Tesseract-OCR. Никогда не было целью этого инструмента работа именно для регресса.
источник

LY

Lev Yarushin in QA — Автоматизация
Регресс это сделать скрин, сравнить с эталоном, показать различия. Опционально убрать по маске некоторые области
источник

EB

Evgenii B in QA — Автоматизация
для image based фреймворков критично корректным образом отвечать на вопрос "что считать изменением" и в разных ситуациях на это можно отвечать по-разному. Где-то изображения пре-процессятся, чтобы избежать ошибок, где-то нет.

В зависимости от этих шагов и будет зависеть, можно ли image based checkers считать стабильным тулом для регрессии. При условии, что есть какой-то нормализованный путь подготовки изображений, то регрессия более чем возможна, нет никаких теоретических и этических ограничений на этот счет =)
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Eugene Shulga 🚀
Привет, подскажите существует ли рабочий инструмент для неточного сранивания изображений (возможно на базе нейронок)?

Пример использования - у меня есть пачка заготовленных скриншотов валидного Web UI, при прогоне тест скрипт делает скришот текущей версии приложения и сравнивает ее с заготовкой, но на разных браузерах отличаются методы отрисовки  шрифтов и теней, потому прямой метод сравнения изображений может не сработать корректно
В исходном сообщении нету слова "регресс". Там спрашивают существует ли инструмент для неточного сравнения картинок. Поскольку Sikuli под капотом держит OpenCV и сравнивает картинки неточно, я сообщил информацию о том что там такое есть.
источник

LY

Lev Yarushin in QA — Автоматизация
А для чего тащить обёртку OpenCV?
источник

LY

Lev Yarushin in QA — Автоматизация
Да ещё и имеющую совсем другое назначение )
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Evgenii B
1) не очень понятно при чем тут тестирование Sikuli
2) в случае, когда ты как-то хаотично тестируешь, соглашусь, но только отчасти, потому что точность разпознавания элементов изображения напрямую влияет насколько эффективно это обезьянье тестирование будет работать. из-за неподготовленного изображения фреймворк может протестировать только 10% предполагаемых путей =)

3) добро
1) Вопрос был "а какой смысл в автоматизации ( тестирования) если она не помогает с регрессией (тестирования) ?". Не вся автоматизация это Sikuli , есть и другая автоматизация. :)
Ну и не всякая автоматизация направлена на регрессию.

2) Да, точность изображения имеет значение, но что концепция что практика "обезьяньего тестирования" и его ммммм эффективность не про точность.

Бывают разные применения концепции и разные инструменты. У меня была реализация на Sikuli которая приносила определённые результаты.

В уже забытые времена Windows Mobile и SonyEricsson эту концепцию реализовывал Microsoft Hopper Test Tool
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Lev Yarushin
А для чего тащить обёртку OpenCV?
В порядке ответа на вопрос "подскажите существует ли рабочий инструмент для неточного сранивания изображений".

Я полагаю что то что зашито в Sikuli это рабочий инструмент неточного сравнения изображений. Если бы вопрос бы исключительно про готовые инструменты сравнения скриншотов, я бы говорил чего-то другое.

Регулярно встречаю в докладах или статьях или комментариях информацию о том что людям не подошёл какой-то один инструмент, но они увидели что его можно допилить, допилили и используют.
источник

EB

Evgenii B in QA — Автоматизация
Roman (rpwheeler)
1) Вопрос был "а какой смысл в автоматизации ( тестирования) если она не помогает с регрессией (тестирования) ?". Не вся автоматизация это Sikuli , есть и другая автоматизация. :)
Ну и не всякая автоматизация направлена на регрессию.

2) Да, точность изображения имеет значение, но что концепция что практика "обезьяньего тестирования" и его ммммм эффективность не про точность.

Бывают разные применения концепции и разные инструменты. У меня была реализация на Sikuli которая приносила определённые результаты.

В уже забытые времена Windows Mobile и SonyEricsson эту концепцию реализовывал Microsoft Hopper Test Tool
наверное ты меня не понял,

вот ты описываешь какой-то рандомизатор и event loop который будет мурыжить сайт пока тот как-то не сломается.

Количество пермутаций взаимодействий с сайтом будет ограничено тем, как фреймворк отсканировал интерфейс и какое количество элементов для взаимодействия нашел.

В одном случае можно найти 10 элементов и сделать ну очень обезьяний скрипт который ничего полезного не будет находить


В другом случае можно найти слишком много элементов, которые нет времени дебажить, и которые важно отмести
источник

R(

Roman (rpwheeler) in QA — Автоматизация
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Там рассказываю. Ну, во-первых это не сайт, и так далее.
источник

LY

Lev Yarushin in QA — Автоматизация
Roman (rpwheeler)
В порядке ответа на вопрос "подскажите существует ли рабочий инструмент для неточного сранивания изображений".

Я полагаю что то что зашито в Sikuli это рабочий инструмент неточного сравнения изображений. Если бы вопрос бы исключительно про готовые инструменты сравнения скриншотов, я бы говорил чего-то другое.

Регулярно встречаю в докладах или статьях или комментариях информацию о том что людям не подошёл какой-то один инструмент, но они увидели что его можно допилить, допилили и используют.
Вот ради этой функции не стоит тащить Sikuli. Достаточно OpenCV
https://docs.opencv.org/master/d4/dc6/tutorial_py_template_matching.html
источник

EB

Evgenii B in QA — Автоматизация
спасибо, как-нибудь в другой раз =) не очень интересно вместо прочтения текста слушать полчаса доклад
источник