Автоматизация тестирования: доступна каждому или удел...
TRANSCRIPT
![Page 1: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/1.jpg)
Автоматизация тестирования: доступна каждому или удел избранных?
Игорь ХролQA Automation Team Lead
Wargaming.NET
![Page 2: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/2.jpg)
О себе• Игорь Хрол• QA Automation Team Lead в
Wargaming.NET• 9 лет в отрасли• Инженер, архитектор,
менеджер, консультант, тренер• Докладчик на SQA Days 12 и 15• www.khroliz.com
![Page 3: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/3.jpg)
О чём говорим сегодня?
• QA – инженерная специальностьпродолжение к SQA Days 15 http://
sqadays.com/ru/talk/19552 • Пример Wargaming’a в доказательство
реализуемости на практике
![Page 4: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/4.jpg)
![Page 5: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/5.jpg)
О чём говорим сегодня?
1. Проблемы в конце 20132. Организационные изменения3. Технологические изменения4. «Пирамидальные» подходы5. Стало ли лучше?
![Page 6: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/6.jpg)
Проблемы в конце 2013
![Page 7: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/7.jpg)
Проблемы в конце 2013
Отделённость автоматизации тестирования:• Организационно (отдельная команда)• Технологически (тесты на Java, а 80%
разработки – на Python)Много различных подходовСлабое межофисное взаимодействие
![Page 8: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/8.jpg)
Проблемы в конце 2013
Типичные проблемы с автотестами:• Долгие• Нестабильные• Низкое покрытие• Мало используются
![Page 9: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/9.jpg)
Организационные изменения
![Page 10: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/10.jpg)
![Page 11: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/11.jpg)
Жила-была…
Команда автоматизации тестирования
![Page 12: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/12.jpg)
…и получала она на вход задачи…а отдавала в статусе Resolved
JIRA-1Created
JIRA-2Created
JIRA-3Created
JIRA-1Resolved
JIRA-2Resolved
JIRA-3Resolved
![Page 13: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/13.jpg)
…и не понимали Проекты, когда они получат автоматизацию
![Page 14: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/14.jpg)
…и не понимала Команда, что от неё хотели Проекты
![Page 15: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/15.jpg)
…«ручные» QA-соратники вне команды не умели автоматизировать, хотя и очень хотели
![Page 16: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/16.jpg)
…требовалось написать детальные тест-кейсы, чтобы автоматизатор заавтоматизировал, а времени не хватало
![Page 17: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/17.jpg)
Проект 2Проект 1
…и разошлись автоматизаторы по Проектам, дабы на местах распространять знания и автотесты
Проект 5Проект 4Проект 3
![Page 18: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/18.jpg)
Проект 2Проект 1
…но дабы не терять связей объединились они в Орден, несущий знания всем и сразу!
Проект 5Проект 4Проект 3
![Page 19: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/19.jpg)
…и стал Орден распределённым по офисам
Санкт-Петербург
Киев
Минск
![Page 20: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/20.jpg)
Орден: результаты
• Community по автоматизации тестирования внутри Wargaming
• Включает всех, кто пишет автотесты• Обмен опытом большого числа людей из
разных офисов
![Page 21: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/21.jpg)
Технологические изменения
![Page 22: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/22.jpg)
Технологические изменения
Переход с Java на Python
![Page 23: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/23.jpg)
Переход с Java на Python
• Тестирование ближе к разработке• Изучение автотестов толкает к изучению
тестируемого приложения• Обмен знаниями с другими
![Page 24: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/24.jpg)
Технологические изменения
Разработка проектно-независимых библиотек
![Page 25: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/25.jpg)
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
![Page 26: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/26.jpg)
Grailhttps://github.com/wgnet/grailГрааль ОрденаПодключение «ручных» тестировщиков к написанию автотестовПодробно здесь: http://2015.codefest.ru/lecture/989
![Page 27: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/27.jpg)
Как обычно выглядит процесс написания автотестов…
«Ручной» QA Тест Кейс Auto QA Тест
Скрипт
![Page 28: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/28.jpg)
Test Case vs Test ScriptStep 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(): …
Как-то оно похоже..Надо писать два раза…И исправлять в двух местах…
![Page 29: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/29.jpg)
Как решить?
А давайте генерировать тест-кейс из кода!
«Ручной» QA Тест Скрипт Auto QA Реализация
Шагов
![Page 30: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/30.jpg)
Плюсы подхода
• Нет дублирования работы• Повышается технический уровень QA• Нет новых «языков» вроде BDD-style,
Keyword Driven и прочего…
![Page 31: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/31.jpg)
![Page 32: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/32.jpg)
Внедрение автотестов в массы: обучение
• Python– http://www.codecademy.com/en/tracks/python – Grail– Код приложения
• Автоматизация тестирования– Внутренняя программа обучения
![Page 33: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/33.jpg)
Внедрение автотестов в массы
• Интеграция с TestRail– Автотесты выглядят, как ручные– Одна кнопка для запуска
![Page 34: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/34.jpg)
Выглядят, как «ручные»
![Page 35: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/35.jpg)
Одна кнопка для запуска
![Page 36: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/36.jpg)
«Пирамидальные» подходы
![Page 37: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/37.jpg)
Некоторые предпочитают треугольник…
http://www.slideshare.net/orgeirIngvarsson/pptx9
![Page 38: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/38.jpg)
Разделяй и властвуй
Задача
Подзадача Подзадача
Решениеподзадачи
Решениеподзадачи
Решениеподзадачи
Решениеподзадачи
Подзадача
Задача
Разделяем
РазделяемРазделяем
Соединяем Соединяем
Соединяем
Подзадача
![Page 39: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/39.jpg)
Модульное тестирование
![Page 40: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/40.jpg)
Изолированное тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
![Page 41: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/41.jpg)
Изолированное тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
![Page 42: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/42.jpg)
Изолированное тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
![Page 43: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/43.jpg)
Изолированное тестирование проектов
Проект 2
Проект 1
Проект 5
Проект 6
Проект 4
Проект 3
![Page 44: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/44.jpg)
Изолированное тестирование проектов
Проект 2
Проект 4
Проект 3
![Page 45: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/45.jpg)
Изолированное тестирование проектов
Проект 2
Проект 4
Проект 3
Тесты
![Page 46: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/46.jpg)
Изолированное тестирование проектов
Заглушка
Проект 4
Заглушка
Тесты
![Page 47: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/47.jpg)
Изолированное тестирование проектов
• Изоляция силами QA• Чётко определяет вход, выход, зависимости• Ускоряет тесты• Локализует проблемы
Заглушка Проект 4
Заглушка
Тесты
![Page 48: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/48.jpg)
Фокус на компонентах без UI
• Начинаем с бизнес-логики• По максимуму проверяем через API• End-to-end сценарии и пользовательский
интерфейс можно проверять и руками
![Page 49: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/49.jpg)
Что же дальше?
• Знаем Python• Знаем программные интерфейсы
Логичный следующий шаг – читать код проектов
![Page 50: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/50.jpg)
Белый ящик
• Незаменимо для проектов с недостатком документации
• Выявляет спектр новых проблем• Позволяет не писать лишние тесты• При необходимости можно помогать в
разработке
![Page 51: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/51.jpg)
Запуск тестов по комитам
• Работает, если тесты быстрые– До 5-10 минут
• …и стабильные• Максимальная отдача от автоматических
тестов
![Page 52: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/52.jpg)
Что же в итоге?
![Page 53: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/53.jpg)
Текущие успехи
Автотесты пишет большее число людейРост количества вовлечённых c 6 до 40-50
человек
![Page 54: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/54.jpg)
Текущие успехи
Стабильные и быстрые тесты– В идеале до 5-10 мин– Запуск по «комитам»– Красные тесты исправляются в процессе
разработки функциональности– Быстро находятся дефекты
![Page 55: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/55.jpg)
Текущие успехи
Проекты в состоянии выпускать новые версии• без ручного тестирования• в течение дня
![Page 56: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/56.jpg)
Текущие успехи
Погружение в технические детали позволило находить ранее невидимые проблемы
![Page 57: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/57.jpg)
![Page 58: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/58.jpg)
Что дальше?..
• Более плотная интеграция с Unit Test’ами• Стабильное интеграционное тестирование• Автоматизация релизных проверок• Эффективное тестирование
пользовательского интерфейса
![Page 59: Автоматизация тестирования: доступна каждому или удел избранных?](https://reader034.vdocuments.mx/reader034/viewer/2022042701/55c94e00bb61eb56378b4608/html5/thumbnails/59.jpg)
Спасибо!Q&A
Контакты:Игорь Хрол[email protected] [email protected] skype: igor.khrolhttp://www.khroliz.com