29
Авчинникова О.И. 28.03.15 Как улучшить тесты на Selenium с помощью визуального тестирования?

Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Embed Size (px)

Citation preview

Page 1: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Авчинникова О.И.28.03.15

Как улучшить тесты на Selenium с помощью

визуального тестирования?

Page 2: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Agenda

• Что такое Visual Testing?

• Почему его нужно автоматизировать?

• Tools & technology

• Где его можно использовать?

2

Page 3: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Что такое Visual Testing?

*а так же visual software testing, visual checking, visual inspection, visual comparison visual regression testing

- это процесс проверки отображенного пользователю интерфейса на предмет соответствия заявленным требованиям.

Цель: проверить нет ли визуальных багов (шрифт, разметка, др. проблемы отображения).

3

Page 4: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Баги верстки..

4

Page 5: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Заблуждения?

1. Баги верстки они некритичны. Функциональное тестирование куда боле важно.

2. Затраты ресурсов на написание Visual-тестов не оправдывают пользу от их

использования.

3. Проверить визуально корректность интерфейса приложения довольно просто.

4. Инструменты выполняющие сравнение изображений работают неэффективно.

5. Поддержка скриншотов в актуальном состоянии забирает очень много времени.

5

Page 6: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Agenda

• Что такое Visual Testing?

• Почему его нужно автоматизировать?

• Tools & technology

• Где его можно использовать?

6

Page 7: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Почему нужно автоматизировать Visual Testing?

1. Слишком много вариантов требуют проверки:

• Несколько браузеров.

• Несколько девайсов.

• Несколько ОС.

• Несколько разрешений экрана.

2. Проверка верстки средствами автоматизации функционального тестирования

слишком трудоемкая.

3. Большой шаг на пути к ContinuousDelivery.

4. Регрессионное тестирование занимает меньше времени.

7

Page 8: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Agenda

• Что такое Visual Testing?

• Почему его нужно автоматизировать?

• Tools & technology

• Где его можно использовать?

8

Page 9: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Инструменты?

9

Page 10: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Последовательность действий

10

• Запустить AUT и сделать скриншот.

• Сравнить скриншот с начальным “baseline” изображением.

• Зафиксировать разницу.

• Обновить “baseline”, если нужно.

Page 11: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Сложности?!

11

Page 12: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

На этапе «Запустить AUT и сделать скриншот»

1. Что лучше использовать настоящий браузер или его без интерфейсный эмулятор?

2. Как же проверить всю страницу?

3. Как работать с фреймами?

4. Можно ли работать с отдельными областями страницы?

5. Ожидание загрузки страницы.

12

Page 13: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

На этапе: «Сравнение скриншотов»

1. Ложные срабатывания.

2. Смещение хотя бы на один пиксель.

3. Изображения разного размера.

4. Динамический контент.

5. Анимация.

Сравнение одинаковых изображений дает негативный результат.

13

Page 14: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Документирование различий

14

Page 15: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Обновить “baseline”

- Переименование или создание нового файла.

- Перезапись существующего изображения.

15

Page 16: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Fighting Layout Bugs

16

Page 17: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Applitools Eyes

Отчет о выполнении теста: https://eyes.applitools.com/app/sessions/251974833743.../.

17

Page 18: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Applitools Eyes

Отчет о выполнении теста: https://eyes.applitools.com/app/sessions/251974833743.../.

При первом выполнении теста:

При последующих, если найдены ошибки:

18

Page 19: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

aShot (test 1)

19

Page 20: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

aShot (test 1)

20

Page 21: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

aShot (test 1)

21

Page 22: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

aShot (test 2)

22

Page 23: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Galen Framework

Результат работы теста:

23

Page 24: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Сравнительный анализ инструментов

24

Критерий Applitools Eyes aShot Fighting Layout Bugs

Galen FrameworkПоддержка/

документация хорошо хорошо хорошо отлично

Создание скриншотов + + + +

Подсветка проблемных

областей+ + + +

Поддержка различных браузеров

+/- + +/- +

Возможность изменять “baseline”

+ - - -

Отчет + - - +Управление областями сравнения

+ + - -

Page 25: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Agenda

• Что такое Visual Testing?

• Почему его нужно автоматизировать?

• Tools & technology

• Где его можно использовать?

25

Page 26: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Continuous deployment

26

Запуск на боевомМониторинг Ops, QA

Приемочные тестыБоевой против тестового Ops, QA

ИнтеграцияСтраницы, элементы страниц Разработчик, QA, дизайнер и др.

Unit тестыКомпоненты, код ревью Разработчик, QA, дизайнер

Написание кода-

Page 27: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Где это может/должно запускаться?

Локальный браузер -

Без интерфейсный браузер -

Мобильный девайс/эмулятор -

Selenium grid -

Облачные сервисы -

27

Page 28: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Ссылки:

- Visual Testing: http://

testautomation.applitools.com/post/105435804567/how-to-do-visual-testing-with-seleniu

m

;

- Tools: http://

automated-testing.info/t/17-instrumentov-kotorye-uspeshno-pomogayut-s-avtomatizaczie

j-visual-software-testing/5670

;

- aShot: https://github.com/yandex-qatools/ashot;

- Galen Framework: http://galenframework.com;

- Fighting-layout-bugs: https://code.google.com/p/fighting-layout-bugs/;

- How to level-up your Selenium tests with Visual Testing:

http://seleniumcamp.com/materials/visual-testing-with-selenium/, https://

www.youtube.com/watch?v=sSJSD-m-Xrg&index=3&list=PL4Xdj6CMk6HRlUqnT7CyYxhRJA

BLiha18

.

28

Page 29: Как улучшить тесты на Selenium с помощью "визуального тестирования"?

Спасибо за внимание!