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

SQALab
SQALabSQALab
Эволюция автотестирования на Selenium
1. Стратегия выбора способа для создания
   автотестов для web-приложений с
   помощью Selenium
2. Особенности различных способов
3. Как изменяются тесты при различных
   методах их создания
4. Все на примерах!
Будут рассмотрены 4-ре вида автотестов:
• Автосгенерированные
• Написанные в процедурном стиле
• Написанные в стиле ООП
• Написанные с помощью дополнительных
  фреймворков
Существование      различных   способов
  создания тестов обусловлено:
• Временем на их создание
• Планируемым временем поддержки
• Навыками людей
• Сложность тестируемой системы
• Необходимые проверки
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 User2
3. Click to Settings
4. Logout
1. Общие части, но с разными параметрами
   (login as user 1/2)
2. Действия до каждого теста и после
   (login/logout)
3. Одинаковые действия, встречающиеся в
   разных тестах (login/logout)
4. Действия, которые есть только в одном
   тесте (Click Jenkins settings)
Средство:
Selenium IDE – плагин для FireFox

Применение:
• Небольшие проекты
• Тесты нужны очень быстро для кратко-
  срочных целей
• Слабый уровень квалицикации QA
Эволюция автотестирования на Selenium
• Достоинства
  – Тесты быстро создаются
  – Легко обучить персонал
• Недостатки
  – Сложность поддержки
  – Невозможно организовать некоторые виды
    проверок
Средство:
Selenium Web Driver – библиотека для
  различных языков программирования

Применение:
• Большие проекты
• Если в тестах нужны специфические
  проверки
Эволюция автотестирования на Selenium
• Достоинства
  – Позволяют использовать все возможности
    выбранного языка программирования
  – При правильном написании – достаточно
    расширяемы
• Недостатки
  – Есть проблемы при долгосрочном
    использовании
  – Медленное внедрение тестов
  – Требуют определенных навыков
    программирования у QA
Средство:
Selenium Web Driver – библиотека для
  различных языков программирования
Паттерн:
Page Object – отделение логики теста от
  способа обращения к тестируемому сайту
Применение:
• Большие и долгосрочные проекты
• Если в тестах нужна очень большая
  гибкость
• Упор на архитектуру тестов
• Описание тестов в стиле ООП
• Создается ООП модель всей тестируемой
  системы
• Эта модель не является тестом!
• Она является интерфейсом для будущих
  тестов, через который тесты получают
  доступ к системе
• Описывается каждая страница, к которой
  тестам нужно обратится
• В странице только те действия, которые
  можно на ней выполнить
• Если есть переход на другую страницу – то в
  модели тоже происходит переход на другой
  объект
• Другой объект может выполнять только те
  действия, которые есть на реальной
  странице
• В тестах используется только модель
• Тот кто пишет тест не видит
  подробности работы WebDriver, для
  этого человека из модели доступны
  только те действия, которые можно
  выполнять на одноименной странице
• Остальные принципы построения тестов
  такие как и в предыдущем методе
Эволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
• Достоинства
  – Максимальная гибкость тестов
  – Все преимущества предыдущего подхода
  – Эффективная поддержка тестов в
    долгосрочной перспективе
• Недостатки
  – Очень медленное внедрение тестов
  – Требуют высокий уровень знания
    программирования у QA
Для ускорения процесса создания тестов
 можно пользоваться различными
 средствами.
Одним из таких средств является
 фреймворк xml2selenium.
Это средство для создания тестов через
 описание их логики в XML файлах.
Предпосылки для создания фреймворка:
- вопросы тестирования нескольких версий
   одного и того же продукта
- повторно-используемость наработок в тестах,
   в том числе, и с разных проектов
- возможность быстро изменять данные в тестах
- возможность быстро поменять значения, или
   даже логику теста
Пример теста:
Пример репорта:
- Плагинность, полная расширяемость
- Простое API
- Сохранение скриншотов и видео теста
- Интеграция с Junit, но независимость от него.
  Возможность создавать свои раннеры
- Удобные репорты для бизнес-пользователей
- Поддержка if/for
- Возможность самотестирования
- Не нужны знания программирования
- Возможность использования лучших
  возможностей программирования:
  объединение общих фрагментов,
  использование переменных и файлов
- Возможность data driven testing
- Возможность нагрузочного тестирования
• Включает в себя достоинства 1-го и 2-го
  метода написания тестов:
  – Не нужно много времени чтобы начать
    писать тесты
  – Тесты создаются быстро
  – Есть возможность с помощью плагинов
    реализовать любую необходимую проверку
  – Тесты легко поддерживаемы и расширяемы
• Включает в себя достоинства 1-го и 2-го
  метода написания тестов:
  – Не нужно много времени чтобы начать
    писать тесты
  – Тесты создаются быстро
  – Есть возможность с помощью плагинов
    реализовать любую необходимую проверку
  – Тесты легко поддерживаемы и расширяемы
Отвечу на любые ваши вопросы. Также
 помогу более детально познакомится с
        проектом Xml2Selenium

           Мычко Алексей
               JazzTeam
    aliaksei.mychko@jazzteam.org
1 von 29

Recomendados

Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium von
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
3.4K views30 Folien
Расширяемая платформа для создания и управления автоматизированными тестами н... von
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
1.9K views36 Folien
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium von
Автоматизация тестирования. Разбор конкретного примера - продукта XML2SeleniumАвтоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Seleniumjazzteam
2.7K views34 Folien
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий von
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко ДмитрийSolit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрийsolit
1K views30 Folien
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей von
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
407 views30 Folien
TestLink von
TestLinkTestLink
TestLinkISsoft
5.6K views30 Folien

Más contenido relacionado

Was ist angesagt?

Организация процесса ручного тестирования von
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестированияIT61
1.4K views19 Folien
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск... von
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...COMAQA.BY
440 views14 Folien
About Testers von
About TestersAbout Testers
About Testersantsh
404 views20 Folien
ковалев нестандатное нт von
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нтAlexei Lupan
697 views20 Folien
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож... von
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...SQALab
463 views19 Folien
Scrum глазами тестировщика или как создать стратегию для любой задачи von
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиIT61
387 views12 Folien

Was ist angesagt?(20)

Организация процесса ручного тестирования von IT61
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT611.4K views
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск... von COMAQA.BY
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
COMAQA.BY 440 views
About Testers von antsh
About TestersAbout Testers
About Testers
antsh404 views
ковалев нестандатное нт von Alexei Lupan
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нт
Alexei Lupan697 views
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож... von SQALab
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
SQALab463 views
Scrum глазами тестировщика или как создать стратегию для любой задачи von IT61
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
IT61387 views
«Тестируем веб приложения», Павел Сташевский von DevDay
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
DevDay1.5K views
DevOps - позволь работе приносить удовольствие von COMAQA.BY
DevOps - позволь работе приносить удовольствиеDevOps - позволь работе приносить удовольствие
DevOps - позволь работе приносить удовольствие
COMAQA.BY 227 views
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика von Mikhail Payson
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Mikhail Payson1.2K views
Практика тестирования web сервисов von SQALab
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисов
SQALab9.2K views
5 колчинская von qasib
5 колчинская 5 колчинская
5 колчинская
qasib466 views
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ von CEE-SEC(R)
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)1.6K views
GUI-автоматизация в Telerik Test Studio von SQALab
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
SQALab2.3K views
Организация workflow в трекере TFS | Алексей Соловьев von Positive Hack Days
Организация workflow в трекере TFS | Алексей СоловьевОрганизация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей Соловьев
Positive Hack Days8.1K views
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg von IT61
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
IT612K views
Тестирование осень 2013 лекция 4 von Technopark
Тестирование осень 2013 лекция 4Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4
Technopark475 views
Промышленная разработка ПО. Лекция 2. Инструменты von Mikhail Payson
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
Mikhail Payson1.6K views
Фреймворк автотестирования веб-сервисов своими силами von SQALab
Фреймворк автотестирования веб-сервисов своими силамиФреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силами
SQALab3K views
Обзор средств сопровождения процесса разработки и тестирования (HP QC, Jira). von DressTester
Обзор средств сопровождения процесса разработки и тестирования (HP QC, Jira).Обзор средств сопровождения процесса разработки и тестирования (HP QC, Jira).
Обзор средств сопровождения процесса разработки и тестирования (HP QC, Jira).
DressTester5.4K views

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

Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS... von
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
4.7K views40 Folien
Как построить свой фреймворк для автотестов? von
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
1.7K views93 Folien
Сергей Ревко von
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
393 views17 Folien
Introduction to Automation Testing von
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingReturn on Intelligence
1.1K views23 Folien
Testing with Selenium von
Testing with SeleniumTesting with Selenium
Testing with SeleniumOSLL
7.5K views24 Folien
Тестирование ПО von
Тестирование ПОТестирование ПО
Тестирование ПОseleznev_stas
1.9K views15 Folien

Similar a Эволюция автотестирования на Selenium(20)

Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS... von Mail.ru Group
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Mail.ru Group4.7K views
Как построить свой фреймворк для автотестов? von Dmitry Buzdin
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
Dmitry Buzdin1.7K views
Сергей Ревко von SQALab
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab393 views
Testing with Selenium von OSLL
Testing with SeleniumTesting with Selenium
Testing with Selenium
OSLL7.5K views
Тестирование ПО von seleznev_stas
Тестирование ПОТестирование ПО
Тестирование ПО
seleznev_stas1.9K views
Невыносимая переносимость кроссплатформенных приложений на примере десктопных... von SQALab
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
SQALab3.9K views
Как принести пользу разработке и упростить себе жизнь? von SQALab
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
SQALab900 views
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при... von QA Club Minsk
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
QA Club Minsk986 views
Фвтоматизированное тестирование с чего начать Part1 von DataArt
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
DataArt1K views
Алексей Иванов -- курс по стыку системной и программной инженерий von Anatoly Levenchuk
Алексей Иванов -- курс по стыку системной и программной инженерийАлексей Иванов -- курс по стыку системной и программной инженерий
Алексей Иванов -- курс по стыку системной и программной инженерий
Anatoly Levenchuk2.7K views
Jubula – TDD UI QA Automation Tool von COMAQA.BY
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
COMAQA.BY 726 views
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В... von solit
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
solit776 views
Как hh.ru дошли до 500 релизов в квартал без потери в качестве von SQALab
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab722 views
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops von QAFest
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest1.6K views
Вадим Зубович - Test Link von QA Club Minsk
Вадим Зубович - Test LinkВадим Зубович - Test Link
Вадим Зубович - Test Link
QA Club Minsk1.3K views

Más de SQALab

Готовим стажировку von
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
2.6K views18 Folien
Куда приводят мечты? или Искусство развития тестировщика von
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
1.7K views16 Folien
Оптимизация Selenium тестов и ускорение их поддержки von
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
1.2K views36 Folien
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования von
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
774 views21 Folien
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J... von
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
800 views18 Folien
Continuous performance testing von
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
645 views23 Folien

Más de SQALab(20)

Готовим стажировку von SQALab
Готовим стажировкуГотовим стажировку
Готовим стажировку
SQALab2.6K views
Куда приводят мечты? или Искусство развития тестировщика von SQALab
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
SQALab1.7K views
Оптимизация Selenium тестов и ускорение их поддержки von SQALab
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
SQALab1.2K views
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования von SQALab
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
SQALab774 views
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J... von SQALab
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
SQALab800 views
Continuous performance testing von SQALab
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab645 views
Конфиги вместо костылей. Pytestconfig и зачем он нужен von SQALab
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab717 views
Команда чемпионов в ИТ стихии von SQALab
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab727 views
API. Серебряная пуля в магазине советов von SQALab
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab539 views
Добиваемся эффективности каждого из 9000+ UI-тестов von SQALab
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab580 views
Делаем автоматизацию проектных KPIs von SQALab
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab361 views
Вредные привычки в тест-менеджменте von SQALab
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab655 views
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации von SQALab
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab453 views
Стили лидерства и тестирование von SQALab
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
SQALab463 views
"Давайте не будем про качество" von SQALab
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
SQALab543 views
Apache.JMeter для .NET-проектов von SQALab
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
SQALab715 views
Тестирование геолокационных систем von SQALab
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
SQALab340 views
Лидер или босс? Вот в чем вопрос von SQALab
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
SQALab600 views
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут... von SQALab
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
SQALab1.6K views
Истинная сила тестировщика - информация von SQALab
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
SQALab1.7K views

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

  • 2. 1. Стратегия выбора способа для создания автотестов для web-приложений с помощью Selenium 2. Особенности различных способов 3. Как изменяются тесты при различных методах их создания 4. Все на примерах!
  • 3. Будут рассмотрены 4-ре вида автотестов: • Автосгенерированные • Написанные в процедурном стиле • Написанные в стиле ООП • Написанные с помощью дополнительных фреймворков
  • 4. Существование различных способов создания тестов обусловлено: • Временем на их создание • Планируемым временем поддержки • Навыками людей • Сложность тестируемой системы • Необходимые проверки
  • 5. 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 User2 3. Click to Settings 4. Logout
  • 6. 1. Общие части, но с разными параметрами (login as user 1/2) 2. Действия до каждого теста и после (login/logout) 3. Одинаковые действия, встречающиеся в разных тестах (login/logout) 4. Действия, которые есть только в одном тесте (Click Jenkins settings)
  • 7. Средство: Selenium IDE – плагин для FireFox Применение: • Небольшие проекты • Тесты нужны очень быстро для кратко- срочных целей • Слабый уровень квалицикации QA
  • 9. • Достоинства – Тесты быстро создаются – Легко обучить персонал • Недостатки – Сложность поддержки – Невозможно организовать некоторые виды проверок
  • 10. Средство: Selenium Web Driver – библиотека для различных языков программирования Применение: • Большие проекты • Если в тестах нужны специфические проверки
  • 12. • Достоинства – Позволяют использовать все возможности выбранного языка программирования – При правильном написании – достаточно расширяемы • Недостатки – Есть проблемы при долгосрочном использовании – Медленное внедрение тестов – Требуют определенных навыков программирования у QA
  • 13. Средство: Selenium Web Driver – библиотека для различных языков программирования Паттерн: Page Object – отделение логики теста от способа обращения к тестируемому сайту Применение: • Большие и долгосрочные проекты • Если в тестах нужна очень большая гибкость
  • 14. • Упор на архитектуру тестов • Описание тестов в стиле ООП • Создается ООП модель всей тестируемой системы • Эта модель не является тестом! • Она является интерфейсом для будущих тестов, через который тесты получают доступ к системе
  • 15. • Описывается каждая страница, к которой тестам нужно обратится • В странице только те действия, которые можно на ней выполнить • Если есть переход на другую страницу – то в модели тоже происходит переход на другой объект • Другой объект может выполнять только те действия, которые есть на реальной странице
  • 16. • В тестах используется только модель • Тот кто пишет тест не видит подробности работы WebDriver, для этого человека из модели доступны только те действия, которые можно выполнять на одноименной странице • Остальные принципы построения тестов такие как и в предыдущем методе
  • 20. • Достоинства – Максимальная гибкость тестов – Все преимущества предыдущего подхода – Эффективная поддержка тестов в долгосрочной перспективе • Недостатки – Очень медленное внедрение тестов – Требуют высокий уровень знания программирования у QA
  • 21. Для ускорения процесса создания тестов можно пользоваться различными средствами. Одним из таких средств является фреймворк xml2selenium. Это средство для создания тестов через описание их логики в XML файлах.
  • 22. Предпосылки для создания фреймворка: - вопросы тестирования нескольких версий одного и того же продукта - повторно-используемость наработок в тестах, в том числе, и с разных проектов - возможность быстро изменять данные в тестах - возможность быстро поменять значения, или даже логику теста
  • 25. - Плагинность, полная расширяемость - Простое API - Сохранение скриншотов и видео теста - Интеграция с Junit, но независимость от него. Возможность создавать свои раннеры - Удобные репорты для бизнес-пользователей - Поддержка if/for - Возможность самотестирования
  • 26. - Не нужны знания программирования - Возможность использования лучших возможностей программирования: объединение общих фрагментов, использование переменных и файлов - Возможность data driven testing - Возможность нагрузочного тестирования
  • 27. • Включает в себя достоинства 1-го и 2-го метода написания тестов: – Не нужно много времени чтобы начать писать тесты – Тесты создаются быстро – Есть возможность с помощью плагинов реализовать любую необходимую проверку – Тесты легко поддерживаемы и расширяемы
  • 28. • Включает в себя достоинства 1-го и 2-го метода написания тестов: – Не нужно много времени чтобы начать писать тесты – Тесты создаются быстро – Есть возможность с помощью плагинов реализовать любую необходимую проверку – Тесты легко поддерживаемы и расширяемы
  • 29. Отвечу на любые ваши вопросы. Также помогу более детально познакомится с проектом Xml2Selenium Мычко Алексей JazzTeam aliaksei.mychko@jazzteam.org