Когда мы говорим об автоматизации тестирования, чаще всего вспоминается Selenium, Microsoft Coded UI, QTP и другие аналогичные инструменты. Мы хотим воспроизводить действия ручного тестирования с максимальной точностью, чтобы можно было с уверенностью сказать, что тот или иной тест-скрипт повторяет какую-то часть сложившихся на проекте тестов. Когда же тестов становится чуть больше, то мы обнаруживаем, что наши тесты запускаются долго, работают нестабильно. После чего мы начинаем говорить о параллелизации, виртуализации, четырёхслойной архитектуре фреймворка и прочих жутко интересных вещах… Это всё очень хорошо, но главная цель где-то остаётся в стороне – контроль качества нашего продукта.
В своём докладе я попытаюсь слегка задать направление другой альтернативе: отойти от автотестов через пользовательский интерфейс в сторону более низкоуровневых, которые значительно быстрее и стабильнее. Если вас также волнует “переворачивание” пирамиды автоматизации тестирования, то приглашаю присоединиться к обсуждению этой сложной и важной темы.
Out-of-the-box WebDriver API provides two main classes: WebDriver and WebElement. Webium library helps you to extend it to whatever deep UI object structure you need. You can describe basic elements (e.g. Button, Input), construct complex elements (e.g. Calendar) from small pieces and at the end put it all together into your Page Objects. Webium is free and open-source. In my speech I’ll present your how to use it effectively if you want to write Selenium tests in Python.
Современный мир ускоряется, и от тестирования требуется быстрые и стабильные тесты. В этом мастер-классе предлагается уйти от UI автоматизации и перейти на уровень ниже "пирамиды тестирования", на уровень WEB API. Не обещаю теорию, но будет много практических кейсов. В качестве примера я возьму популярный веб сайт с открытым API и покажу как за относительно небольшое время можно создавать хорошие тесты! Причем тесты мы будем создавать совместно, и особых навыков программирования от участников здесь не потребуется, достаточно включить логику и желание освоить что-то новое.
В этом докладе вы услышите историю о том, как можно построить процесс автоматизированного тестирования и непрерывной интеграции за короткий период времени. Мы поговорим о точках роста, развития и внедрения автоматизированного тестирования на уже существующем проекте. Вы узнаете, что с чего начинать автоматизированное тестирование и как выбрать "работающую" стратегию. После доклада вы захотите избавиться или значительно сократить ручное тестирование и ручной труд у себя на проекте. Вы откроете для себя целую систему, элементы который можно будет внедрять у себя, и которые будут работать.
Доклад будет интересен всем тестировщикам, разработчикам и менеджерам проектов.
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQAFest
В темные времена доминации Internet Explorer на рынке браузеров, тестировщик оставался один на один с тестируемым приложением, и лишь усердие, трудолюбие и крепкий алкоголь могли спасти его от безумия и профессионального выгорания.
К счастью, времена изменились. Современные браузеры скрывают в себе множество полезных функций и имеют тысячи плагинов, способных помочь тестировщику веб приложений. Я расскажу вам о браузерных плагинах, которые значительно облегчили тестирование верстки, поизводительности, отзывчивости сайта, позволили мне ускорить выполнение рутинных задач, а также повысили личную эффективность.
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
Автоматизация тестирования визуальных регрессий, как особый вид тестирования, может поставить в тупик даже опытных специалистов своей отрасли. Тем более, если речь идёт об адаптивном дизайне.
Задача тестирования адаптивной верстки не является простой, хотя бы по той причине, что требует большого времени на проверку отображения визуального контента и покрытие всей требуемой матрицы платформ, браузеров и разрешений экрана.
Тем не менее существуют способы эффективного использования таких инструментов как Galen Framework и Applitools Eyes и интеграции их в уже существующую среду тестирования.
На наглядном примере сайта, имеющего адаптивный дизайн, я расскажу о том, как можно с лёгкостью применять вышеуказанные инструменты с целью избежать как можно больше разнообразных регрессионных визуальных ошибок.
Также будут подробно рассмотрены варианты построения архитектуры тестов и организации работы с дизайном приложения в целом.
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Mail.ru Group
Доклад о том, с чего начать выстраивать конвейер автоматизации тестирования. Как не утопить автоматизацию в мнимых штампах и стереотипах, построив по-настоящему эффективный процесс автоматизации тестирования.
Поделюсь опытом и расскажу:
- о том, с чего начать автоматизацию тестирования;
- о том, что делает автоматизированные тесты выгодными;
- как научить "зарабатывать" автотесты;
- о том, как превратить точечное написание автоматизирвоанных тестов в стройный конвейер с отлаженными процессами;
- о популярных ошибках и заблуждениях автоматизации тестирования и о том, как их избегать;
- о сопутствующих инструментах и лайфхаках из практики.
Доклад содержит полезные советы, как для тех, кто только думает внедрить автоматизацию тестирования, так и для тех, кто уже вовсю автоматизирует, но сталкивается с проблемами их эффективной работы или желает сделать автотесты еще более полезными.
Why test automation projects are failingIgor Khrol
Summarizing the experience of dozens successful and unsuccessful projects, the author of the presentation explains the most common reasons of test automation projects failures. Also the speech will cover some best practices and the ways to make UI test automation beneficial. From the presentation you'll find the answers to the following questions:
- Why automated testing is expensive?
- What are the reasons of long test executions?
- What makes automated tests fail unpredictably?
You'll also be able to find solutions to get rid of typical failures on your test automation project.
Out-of-the-box WebDriver API provides two main classes: WebDriver and WebElement. Webium library helps you to extend it to whatever deep UI object structure you need. You can describe basic elements (e.g. Button, Input), construct complex elements (e.g. Calendar) from small pieces and at the end put it all together into your Page Objects. Webium is free and open-source. In my speech I’ll present your how to use it effectively if you want to write Selenium tests in Python.
Современный мир ускоряется, и от тестирования требуется быстрые и стабильные тесты. В этом мастер-классе предлагается уйти от UI автоматизации и перейти на уровень ниже "пирамиды тестирования", на уровень WEB API. Не обещаю теорию, но будет много практических кейсов. В качестве примера я возьму популярный веб сайт с открытым API и покажу как за относительно небольшое время можно создавать хорошие тесты! Причем тесты мы будем создавать совместно, и особых навыков программирования от участников здесь не потребуется, достаточно включить логику и желание освоить что-то новое.
В этом докладе вы услышите историю о том, как можно построить процесс автоматизированного тестирования и непрерывной интеграции за короткий период времени. Мы поговорим о точках роста, развития и внедрения автоматизированного тестирования на уже существующем проекте. Вы узнаете, что с чего начинать автоматизированное тестирование и как выбрать "работающую" стратегию. После доклада вы захотите избавиться или значительно сократить ручное тестирование и ручной труд у себя на проекте. Вы откроете для себя целую систему, элементы который можно будет внедрять у себя, и которые будут работать.
Доклад будет интересен всем тестировщикам, разработчикам и менеджерам проектов.
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQAFest
В темные времена доминации Internet Explorer на рынке браузеров, тестировщик оставался один на один с тестируемым приложением, и лишь усердие, трудолюбие и крепкий алкоголь могли спасти его от безумия и профессионального выгорания.
К счастью, времена изменились. Современные браузеры скрывают в себе множество полезных функций и имеют тысячи плагинов, способных помочь тестировщику веб приложений. Я расскажу вам о браузерных плагинах, которые значительно облегчили тестирование верстки, поизводительности, отзывчивости сайта, позволили мне ускорить выполнение рутинных задач, а также повысили личную эффективность.
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
Автоматизация тестирования визуальных регрессий, как особый вид тестирования, может поставить в тупик даже опытных специалистов своей отрасли. Тем более, если речь идёт об адаптивном дизайне.
Задача тестирования адаптивной верстки не является простой, хотя бы по той причине, что требует большого времени на проверку отображения визуального контента и покрытие всей требуемой матрицы платформ, браузеров и разрешений экрана.
Тем не менее существуют способы эффективного использования таких инструментов как Galen Framework и Applitools Eyes и интеграции их в уже существующую среду тестирования.
На наглядном примере сайта, имеющего адаптивный дизайн, я расскажу о том, как можно с лёгкостью применять вышеуказанные инструменты с целью избежать как можно больше разнообразных регрессионных визуальных ошибок.
Также будут подробно рассмотрены варианты построения архитектуры тестов и организации работы с дизайном приложения в целом.
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...Mail.ru Group
Доклад о том, с чего начать выстраивать конвейер автоматизации тестирования. Как не утопить автоматизацию в мнимых штампах и стереотипах, построив по-настоящему эффективный процесс автоматизации тестирования.
Поделюсь опытом и расскажу:
- о том, с чего начать автоматизацию тестирования;
- о том, что делает автоматизированные тесты выгодными;
- как научить "зарабатывать" автотесты;
- о том, как превратить точечное написание автоматизирвоанных тестов в стройный конвейер с отлаженными процессами;
- о популярных ошибках и заблуждениях автоматизации тестирования и о том, как их избегать;
- о сопутствующих инструментах и лайфхаках из практики.
Доклад содержит полезные советы, как для тех, кто только думает внедрить автоматизацию тестирования, так и для тех, кто уже вовсю автоматизирует, но сталкивается с проблемами их эффективной работы или желает сделать автотесты еще более полезными.
Why test automation projects are failingIgor Khrol
Summarizing the experience of dozens successful and unsuccessful projects, the author of the presentation explains the most common reasons of test automation projects failures. Also the speech will cover some best practices and the ways to make UI test automation beneficial. From the presentation you'll find the answers to the following questions:
- Why automated testing is expensive?
- What are the reasons of long test executions?
- What makes automated tests fail unpredictably?
You'll also be able to find solutions to get rid of typical failures on your test automation project.
QA Fest 2015. Игорь Хрол. Автоматизация тестирования: отбрасываем лишнее и пр...QAFest
Наиболее популярный вид тестирования, применяющийся на проектах - это тестирование чёрного ящика. Когда решается задача автоматизации тестирования, чаще всего это происходит ʺв лобʺ - в точности повторяя действия пользователя. Это наиболее понятный и простой путь. Но к сожалению, этот путь очень сильно ограничен в своей области применения.
Как построить свой фреймворк для автотестов?Dmitry Buzdin
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
Similar to “Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числом посредников (20)
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числом посредников
1. И никуда не надо ехать!
“Можно ли перевернуть пирамиду?”
– автоматизируем тестирование с
меньшим числом посредников
Игорь Хрол
http://www.khroliz.com
2. О себе
• Игорь Хрол
• Более семи лет в
автоматизации тестирования
• Консультант, тренер, инженер,
менеджер, архитектор
• Selenium, HP QTP, TestCompete,
JMeter
• Докладчик на
AutoConfeT&QA’2012
21. Сценарий 1: авторизация
Шаг Ожидаемый результат
Открыть страницу логина Страница открыта
Заполнить имя пользователя Имя пользователя заполнено
Заполнить поле пароля Пароль введён
Нажать на кнопку «Войти» Пользователь вошёл в систему
22. Сценарий 2: поиск
Шаг Ожидаемый результат
Открыть страницу логина Страница открыта
Заполнить имя пользователя Имя пользователя заполнено
Заполнить поле пароля Пароль введён
Нажать на кнопку «Войти» Пользователь вошёл в систему
Найти продукт «Холодильник» Продукт найден
23. Сценарий 3: добавление в корзину
Шаг Ожидаемый результат
Открыть страницу логина Страница открыта
Заполнить имя пользователя Имя пользователя заполнено
Заполнить поле пароля Пароль введён
Нажать на кнопку «Войти» Пользователь вошёл в систему
Найти продукт «Холодильник» Продукт найден
Добавить продукт в корзину Продукт находится в корзине
24. Сценарий 1-3: авторизация, поиск и
добавление в корзину
Шаг Ожидаемый результат
Открыть страницу логина Страница открыта
Заполнить имя пользователя Имя пользователя заполнено
Заполнить поле пароля Пароль введён
Нажать на кнопку «Войти» Пользователь вошёл в систему
Найти продукт «Холодильник» Продукт найден
Добавить продукт в корзину Продукт находится в корзине
Много зависимостей
«Цепные» падения тестов
25. Шаг Ожидаемый результат
Открыть страницу логина Страница открыта
Заполнить имя пользователя Имя пользователя заполнено
Заполнить поле пароля Пароль введён
Нажать на кнопку «Войти» Пользователь вошёл в систему
Шаг Ожидаемый результат
Найти продукт «Холодильник» Продукт найден
Сценарий 1: авторизация
Сценарий 2: поиск
Шаг Ожидаемый результат
Добавить продукт в корзину Продукт находится в корзине
Сценарий 3: добавление в корзину
Предусловие: пользователь авторизован
Предусловие : страница с результатами поиска под авторизованным пользователем
26. Куда убрать предусловия?
• Авторизация:
– Открывать браузер уже с готовой веб-сессией
или cookies
• Страница с результатами поиска:
– Открывать URL напрямую
• Любой другой способ доведения системы
до нужного состояния…
27. Куда убрать предусловия?
Убрать генерацию тестовых данных через
интерфейс
• Через веб-сервисы
• Через sql-скрипты
• Поднимать базу из snapshot’a и тестировать
на одних и тех же данных каждый раз
29. Не переделывайте работу других
• Используйте готовые API третьих систем
Ваша система на основе
коробочного продукта
Браузер
Автоматические тесты
API
30. Автоматизировать то, что тестируем,
а не то, как это делается
• Наша цель – протестировать конкретный
функционал, а не покрыть автотестом
ручной сценарий
• Пример:
– Цель теста: проверить, что нельзя добавить
продукт без названия
– Место реализации функционала: триггер в базе
данных
31. Автоматизировать то, что тестируем,
а не то, как это делается
• Эффективная реализация тестов:
1. Проверить, что данные отправляются из веб-
формы на сервер (отдельный тестовый
сценарий)
2. Проверить, что сервер приложений сохраняет
данные в базу
3. Попробовать добавить в базу запись и
получить результат триггера
32. Разделяй и властвуй
• Отдельно тестируем серверную логику
– Через веб-сервисы
– Через любой другой API
– Напрямую на сервере
• Отдельно проверяем работу UI
– Jasmine
• Смотрим, что вместе всё также работает
– Selenium, QTP (вершина пирамиды)
33. Недостатки
• Надо понимать, что именно и как
тестируется
• При тестировании «по кусочкам» можно
что-то упустить
• Вывод: следует находить «золотую
середину»
34. Подводя итоги…
• UI-автотесты – универсальные, но
длительные и нестабильные
• Как с этим бороться:
– Понимайте, что именно и как вы тестируете
– Заглядывайте внутрь вашей системы, чтобы
стать ближе к объекту тестирования
– Разбивайте задачу тестирования на части
– Не переделывайте работу других