29
Эволюция тестирования на Selenium Мычко Алексей JazzTeam

Эволюция автотестирования на Selenium

  • Upload
    sqalab

  • View
    777

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Эволюция автотестирования на Selenium

Эволюция тестирования на Selenium

Мычко Алексей JazzTeam

Page 2: Эволюция автотестирования на Selenium

Что будет рассмотрено

1. Стратегия выбора способа для создания автотестов для web-приложений с помощью Selenium

2. Особенности различных способов3. Как изменяются тесты при

различных методах их создания4. Все на примерах!

Page 3: Эволюция автотестирования на Selenium

Способы создания автотестов

Будут рассмотрены 4-ре вида автотестов:

• Автосгенерированные• Написанные в процедурном стиле• Написанные в стиле ООП• Написанные с помощью

дополнительных фреймворков

Page 4: Эволюция автотестирования на Selenium

Требования к тестам

Существование различных способов создания тестов обусловлено:

• Временем на их создание• Планируемым временем

поддержки• Навыками людей• Сложность тестируемой системы• Необходимые проверки

Page 5: Эволюция автотестирования на Selenium

Тест-кейсы

Test-case 1:1. Log In as user1 (user1/pas1)2. Check that active user is User1 3. Logout

Test-case 2:1. Log In as user2 (user2/pas2)2. Check that active user is User23. Click to Settings4. Logout

Page 6: Эволюция автотестирования на Selenium

Тест-кейсы

1. Общие части, но с разными параметрами (login as user 1/2)

2. Действия до каждого теста и после (login/logout)

3. Одинаковые действия, встречающиеся в разных тестах (login/logout)

4. Действия, которые есть только в одном тесте (Click Jenkins settings)

Page 7: Эволюция автотестирования на Selenium

Автосгенерированные тесты

Средство:Selenium IDE – плагин для FireFox

Применение: • Небольшие проекты• Тесты нужны очень быстро для

кратко-срочных целей• Слабый уровень квалицикации QA

Page 8: Эволюция автотестирования на Selenium
Page 9: Эволюция автотестирования на Selenium

Selenium IDE

• Достоинства– Тесты быстро создаются–Легко обучить персонал

• Недостатки – Сложность поддержки–Невозможно организовать некоторые

виды проверок

Page 10: Эволюция автотестирования на Selenium

Тесты в процедурном стиле

Средство:Selenium Web Driver – библиотека для

различных языков программирования

Применение: • Большие проекты• Если в тестах нужны

специфические проверки

Page 11: Эволюция автотестирования на Selenium

Тесты на Java

Page 12: Эволюция автотестирования на Selenium

WebDriver tests

• Достоинства– Позволяют использовать все возможности

выбранного языка программирования– При правильном написании – достаточно

расширяемы

• Недостатки – Есть проблемы при долгосрочном

использовании– Медленное внедрение тестов– Требуют определенных навыков

программирования у QA

Page 13: Эволюция автотестирования на Selenium

Тесты в стиле ООП

Средство:Selenium Web Driver – библиотека для

различных языков программированияПаттерн: Page Object – отделение логики теста от

способа обращения к тестируемому сайтуПрименение: • Большие и долгосрочные проекты• Если в тестах нужна очень большая

гибкость

Page 14: Эволюция автотестирования на Selenium

Суть Page Object

• Упор на архитектуру тестов• Описание тестов в стиле ООП• Создается ООП модель всей

тестируемой системы• Эта модель не является тестом!• Она является интерфейсом для

будущих тестов, через который тесты получают доступ к системе

Page 15: Эволюция автотестирования на Selenium

Модель системы

• Описывается каждая страница, к которой тестам нужно обратится

• В странице только те действия, которые можно на ней выполнить

• Если есть переход на другую страницу – то в модели тоже происходит переход на другой объект

• Другой объект может выполнять только те действия, которые есть на реальной странице

Page 16: Эволюция автотестирования на Selenium

Тесты с моделью

• В тестах используется только модель• Тот кто пишет тест не видит

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

• Остальные принципы построения тестов такие как и в предыдущем методе

Page 17: Эволюция автотестирования на Selenium

Page Object

Page 18: Эволюция автотестирования на Selenium

Page Object

Page 19: Эволюция автотестирования на Selenium

Page Object

Page 20: Эволюция автотестирования на Selenium

Page Object tests

• Достоинства–Максимальная гибкость тестов– Все преимущества предыдущего

подхода– Эффективная поддержка тестов в

долгосрочной перспективе

• Недостатки – Очень медленное внедрение тестов– Требуют высокий уровень знания

программирования у QA

Page 21: Эволюция автотестирования на Selenium

Тесты с использованием фреймворков

Для ускорения процесса создания тестов можно пользоваться различными средствами.

Одним из таких средств является фреймворк xml2selenium.

Это средство для создания тестов через описание их логики в XML файлах.

Page 22: Эволюция автотестирования на Selenium

Xml2Selenium

Предпосылки для создания фреймворка:- вопросы тестирования нескольких

версий одного и того же продукта- повторно-используемость наработок в

тестах, в том числе, и с разных проектов

- возможность быстро изменять данные в тестах

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

Page 23: Эволюция автотестирования на Selenium

Xml2Selenium

Пример теста:

Page 24: Эволюция автотестирования на Selenium

Xml2Selenium

Пример репорта:

Page 25: Эволюция автотестирования на Selenium

Xml2Selenium возможности

- Плагинность, полная расширяемость- Простое API- Сохранение скриншотов и видео теста- Интеграция с Junit, но независимость от

него. Возможность создавать свои раннеры

- Удобные репорты для бизнес-пользователей

- Поддержка if/for- Возможность самотестирования

Page 26: Эволюция автотестирования на Selenium

Xml2Selenium особенности

- Не нужны знания программирования

- Возможность использования лучших возможностей программирования: объединение общих фрагментов, использование переменных и файлов

- Возможность data driven testing- Возможность нагрузочного

тестирования

Page 27: Эволюция автотестирования на Selenium

Xml2Selenium

• Включает в себя достоинства 1-го и 2-го метода написания тестов:–Не нужно много времени чтобы

начать писать тесты– Тесты создаются быстро– Есть возможность с помощью

плагинов реализовать любую необходимую проверку

– Тесты легко поддерживаемы и расширяемы

Page 28: Эволюция автотестирования на Selenium

Xml2Selenium

• Включает в себя достоинства 1-го и 2-го метода написания тестов:–Не нужно много времени чтобы

начать писать тесты– Тесты создаются быстро– Есть возможность с помощью

плагинов реализовать любую необходимую проверку

– Тесты легко поддерживаемы и расширяемы

Page 29: Эволюция автотестирования на Selenium

Спасибо за вниманиеОтвечу на любые ваши вопросы.

Также помогу более детально познакомится с проектом

Xml2Selenium

Мычко АлексейJazzTeam

[email protected]