SlideShare uma empresa Scribd logo
1 de 59
Автоматизация тестирования:
доступна каждому или удел
избранных?
Игорь Хрол
QA Automation Team Lead
Wargaming.NET
О себе
• Игорь Хрол
• QA Automation Team Lead в
Wargaming.NET
• 9 лет в отрасли
• Инженер, архитектор,
менеджер, консультант, тренер
• Докладчик на SQA Days 12 и 15
• www.khroliz.com
О чём говорим сегодня?
• QA – инженерная специальность
продолжение к SQA Days 15
http://sqadays.com/ru/talk/19552
• Пример Wargaming’a в доказательство
реализуемости на практике
О чём говорим сегодня?
1. Проблемы в конце 2013
2. Организационные изменения
3. Технологические изменения
4. «Пирамидальные» подходы
5. Стало ли лучше?
Проблемы
в конце 2013
Проблемы в конце 2013
Отделённость автоматизации тестирования:
• Организационно (отдельная команда)
• Технологически (тесты на Java, а 80%
разработки – на Python)
Много различных подходов
Слабое межофисное взаимодействие
Проблемы в конце 2013
Типичные проблемы с автотестами:
• Долгие
• Нестабильные
• Низкое покрытие
• Мало используются
Организационные
изменения
Жила-была…
Команда автоматизации тестирования
…и получала она на вход задачи
…а отдавала в статусе Resolved
JIRA-1
Created
JIRA-2
Created
JIRA-3
Created
JIRA-1
Resolved
JIRA-2
Resolved
JIRA-3
Resolved
…и не понимали Проекты, когда они
получат автоматизацию
…и не понимала Команда, что от неё
хотели Проекты
…«ручные» QA-соратники вне команды
не умели автоматизировать, хотя и
очень хотели
…требовалось написать детальные тест-
кейсы, чтобы автоматизатор
заавтоматизировал, а времени не хватало
Проект 2Проект 1
…и разошлись автоматизаторы по
Проектам, дабы на местах
распространять знания и автотесты
Проект 5Проект 4Проект 3
Проект 2Проект 1
…но дабы не терять связей
объединились они в Орден,
несущий знания всем и сразу!
Проект 5Проект 4Проект 3
…и стал Орден
распределённым по офисам
Санкт-Петербург
Киев
Минск
Орден: результаты
• Community по автоматизации тестирования
внутри Wargaming
• Включает всех, кто пишет автотесты
• Обмен опытом большого числа людей из
разных офисов
Технологические изменения
Технологические изменения
Переход с Java на Python
Переход с Java на Python
• Тестирование ближе к разработке
• Изучение автотестов толкает к изучению
тестируемого приложения
• Обмен знаниями с другими
Технологические изменения
Разработка проектно-независимых библиотек
Webium
https://github.com/wgnet/webium
Реализация PageObject в Python
Почитать-посмотреть подробнее тут:
• http://www.slideshare.net/khroliz/webium-page-objects-in-python
• https://www.youtube.com/watch?v=XrL1BLgkKyA
Grail
https://github.com/wgnet/grail
Грааль Ордена
Подключение «ручных» тестировщиков к
написанию автотестов
Подробно здесь:
http://2015.codefest.ru/lecture/989
Как обычно выглядит процесс
написания автотестов…
«Ручной»
QA Тест Кейс Auto QA
Тест
Скрипт
Test Case vs Test Script
Step 1: login to application def login_to_application():
…
Step 2: verify user is logged in def verify_user_is_logged_in():
…
Step 3: do some important thing def do_some_important_thing():
…
Как-то оно похоже..
Надо писать два раза…
И исправлять в двух местах…
Как решить?
А давайте генерировать тест-кейс из кода!
«Ручной»
QA
Тест Скрипт Auto QA
Реализация
Шагов
Плюсы подхода
• Нет дублирования работы
• Повышается технический уровень QA
• Нет новых «языков» вроде BDD-style,
Keyword Driven и прочего…
Внедрение автотестов в
массы: обучение
• Python
– http://www.codecademy.com/en/tracks/python
– Grail
– Код приложения
• Автоматизация тестирования
– Внутренняя программа обучения
Внедрение автотестов в массы
• Интеграция с TestRail
– Автотесты выглядят, как ручные
– Одна кнопка для запуска
Выглядят, как «ручные»
Одна кнопка для запуска
«Пирамидальные»
подходы
Некоторые предпочитают
треугольник…
http://www.slideshare.net/orgeirIngvarsson/pptx9
Разделяй и властвуй
Задача
Подзадача Подзадача
Решение
подзадачи
Решение
подзадачи
Решение
подзадачи
Решение
подзадачи
Подзадача
Задача
Разделяем
РазделяемРазделяем
Соединяем Соединяем
Соединяем
Подзадача
Модульное тестирование
Изолированное
тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
Изолированное
тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
Изолированное
тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
Изолированное
тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
Изолированное
тестирование проектов
Проект 2
Проект 4
Проект 3
Изолированное
тестирование проектов
Проект 2
Проект 4
Проект 3
Тесты
Изолированное
тестирование проектов
Заглушка
Проект 4
Заглушка
Тесты
Изолированное
тестирование проектов
• Изоляция силами QA
• Чётко определяет вход, выход, зависимости
• Ускоряет тесты
• Локализует проблемы
Заглушка Проект 4
Заглушка
Тесты
Фокус на компонентах без UI
• Начинаем с бизнес-логики
• По максимуму проверяем через API
• End-to-end сценарии и пользовательский
интерфейс можно проверять и руками
Что же дальше?
• Знаем Python
• Знаем программные интерфейсы
Логичный следующий шаг –
читать код проектов
Белый ящик
• Незаменимо для проектов с недостатком
документации
• Выявляет спектр новых проблем
• Позволяет не писать лишние тесты
• При необходимости можно помогать в
разработке
Запуск тестов по комитам
• Работает, если тесты быстрые
– До 5-10 минут
• …и стабильные
• Максимальная отдача от автоматических
тестов
Что же в
итоге?
Текущие успехи
Автотесты пишет большее число людей
Рост количества вовлечённых c 6 до 40-50
человек
Текущие успехи
Стабильные и быстрые тесты
– В идеале до 5-10 мин
– Запуск по «комитам»
– Красные тесты исправляются в процессе
разработки функциональности
– Быстро находятся дефекты
Текущие успехи
Проекты в состоянии выпускать новые версии
• без ручного тестирования
• в течение дня
Текущие успехи
Погружение в технические детали позволило
находить ранее невидимые проблемы
Что дальше?..
• Более плотная интеграция с Unit Test’ами
• Стабильное интеграционное тестирование
• Автоматизация релизных проверок
• Эффективное тестирование
пользовательского интерфейса
Спасибо!
Q&A
Контакты:
Игорь Хрол
i_khrol@wargaming.net
khroliz@gmail.com
skype: igor.khrol
http://www.khroliz.com

Mais conteúdo relacionado

Mais procurados

Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
COMAQA.BY
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group
 

Mais procurados (20)

Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем суть
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuous
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in Python
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестов
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QA
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web api
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисов
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
 
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 

Semelhante a Test Automation Wargaming SQA Days 17

IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
Gleb Rybalko
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
Gleb Rybalko
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Badoo Development
 

Semelhante a Test Automation Wargaming SQA Days 17 (20)

Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
Илья Кудинов
Илья КудиновИлья Кудинов
Илья Кудинов
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
Agile и тестирование
Agile и тестированиеAgile и тестирование
Agile и тестирование
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
 

Mais de Igor Khrol

Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
Igor Khrol
 
автоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcавтоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rc
Igor Khrol
 

Mais de Igor Khrol (9)

SeleniumCamp 2016
SeleniumCamp 2016SeleniumCamp 2016
SeleniumCamp 2016
 
Agile.by Gathering – 23 января 2016
Agile.by Gathering – 23 января 2016Agile.by Gathering – 23 января 2016
Agile.by Gathering – 23 января 2016
 
Increase selenium tests stability via java script
Increase selenium tests stability via java scriptIncrease selenium tests stability via java script
Increase selenium tests stability via java script
 
Why test automation projects are failing
Why test automation projects are failingWhy test automation projects are failing
Why test automation projects are failing
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
 
Автоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахАвтоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектах
 
Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.
 
автоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcавтоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rc
 

Test Automation Wargaming SQA Days 17