Автоматизация тестирования: доступна каждому или удел...

59
Автоматизация тестирования: доступна каждому или удел избранных? Игорь Хрол QA Automation Team Lead Wargaming.NET

Transcript of Автоматизация тестирования: доступна каждому или удел...

Page 1: Автоматизация тестирования: доступна каждому или удел избранных?

Автоматизация тестирования: доступна каждому или удел избранных?

Игорь ХролQA Automation Team Lead

Wargaming.NET

Page 2: Автоматизация тестирования: доступна каждому или удел избранных?

О себе• Игорь Хрол• QA Automation Team Lead в

Wargaming.NET• 9 лет в отрасли• Инженер, архитектор,

менеджер, консультант, тренер• Докладчик на SQA Days 12 и 15• www.khroliz.com

Page 3: Автоматизация тестирования: доступна каждому или удел избранных?

О чём говорим сегодня?

• QA – инженерная специальностьпродолжение к SQA Days 15 http://

sqadays.com/ru/talk/19552 • Пример Wargaming’a в доказательство

реализуемости на практике

Page 4: Автоматизация тестирования: доступна каждому или удел избранных?
Page 5: Автоматизация тестирования: доступна каждому или удел избранных?

О чём говорим сегодня?

1. Проблемы в конце 20132. Организационные изменения3. Технологические изменения4. «Пирамидальные» подходы5. Стало ли лучше?

Page 6: Автоматизация тестирования: доступна каждому или удел избранных?

Проблемы в конце 2013

Page 7: Автоматизация тестирования: доступна каждому или удел избранных?

Проблемы в конце 2013

Отделённость автоматизации тестирования:• Организационно (отдельная команда)• Технологически (тесты на Java, а 80%

разработки – на Python)Много различных подходовСлабое межофисное взаимодействие

Page 8: Автоматизация тестирования: доступна каждому или удел избранных?

Проблемы в конце 2013

Типичные проблемы с автотестами:• Долгие• Нестабильные• Низкое покрытие• Мало используются

Page 9: Автоматизация тестирования: доступна каждому или удел избранных?

Организационные изменения

Page 10: Автоматизация тестирования: доступна каждому или удел избранных?
Page 11: Автоматизация тестирования: доступна каждому или удел избранных?

Жила-была…

Команда автоматизации тестирования

Page 12: Автоматизация тестирования: доступна каждому или удел избранных?

…и получала она на вход задачи…а отдавала в статусе Resolved

JIRA-1Created

JIRA-2Created

JIRA-3Created

JIRA-1Resolved

JIRA-2Resolved

JIRA-3Resolved

Page 13: Автоматизация тестирования: доступна каждому или удел избранных?

…и не понимали Проекты, когда они получат автоматизацию

Page 14: Автоматизация тестирования: доступна каждому или удел избранных?

…и не понимала Команда, что от неё хотели Проекты

Page 15: Автоматизация тестирования: доступна каждому или удел избранных?

…«ручные» QA-соратники вне команды не умели автоматизировать, хотя и очень хотели

Page 16: Автоматизация тестирования: доступна каждому или удел избранных?

…требовалось написать детальные тест-кейсы, чтобы автоматизатор заавтоматизировал, а времени не хватало

Page 17: Автоматизация тестирования: доступна каждому или удел избранных?

Проект 2Проект 1

…и разошлись автоматизаторы по Проектам, дабы на местах распространять знания и автотесты

Проект 5Проект 4Проект 3

Page 18: Автоматизация тестирования: доступна каждому или удел избранных?

Проект 2Проект 1

…но дабы не терять связей объединились они в Орден, несущий знания всем и сразу!

Проект 5Проект 4Проект 3

Page 19: Автоматизация тестирования: доступна каждому или удел избранных?

…и стал Орден распределённым по офисам

Санкт-Петербург

Киев

Минск

Page 20: Автоматизация тестирования: доступна каждому или удел избранных?

Орден: результаты

• Community по автоматизации тестирования внутри Wargaming

• Включает всех, кто пишет автотесты• Обмен опытом большого числа людей из

разных офисов

Page 21: Автоматизация тестирования: доступна каждому или удел избранных?

Технологические изменения

Page 22: Автоматизация тестирования: доступна каждому или удел избранных?

Технологические изменения

Переход с Java на Python

Page 23: Автоматизация тестирования: доступна каждому или удел избранных?

Переход с Java на Python

• Тестирование ближе к разработке• Изучение автотестов толкает к изучению

тестируемого приложения• Обмен знаниями с другими

Page 24: Автоматизация тестирования: доступна каждому или удел избранных?

Технологические изменения

Разработка проектно-независимых библиотек

Page 25: Автоматизация тестирования: доступна каждому или удел избранных?

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: Автоматизация тестирования: доступна каждому или удел избранных?

Grailhttps://github.com/wgnet/grailГрааль ОрденаПодключение «ручных» тестировщиков к написанию автотестовПодробно здесь: http://2015.codefest.ru/lecture/989

Page 27: Автоматизация тестирования: доступна каждому или удел избранных?

Как обычно выглядит процесс написания автотестов…

«Ручной» QA Тест Кейс Auto QA Тест

Скрипт

Page 28: Автоматизация тестирования: доступна каждому или удел избранных?

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: Автоматизация тестирования: доступна каждому или удел избранных?

Как решить?

А давайте генерировать тест-кейс из кода!

«Ручной» QA Тест Скрипт Auto QA Реализация

Шагов

Page 30: Автоматизация тестирования: доступна каждому или удел избранных?

Плюсы подхода

• Нет дублирования работы• Повышается технический уровень QA• Нет новых «языков» вроде BDD-style,

Keyword Driven и прочего…

Page 31: Автоматизация тестирования: доступна каждому или удел избранных?
Page 32: Автоматизация тестирования: доступна каждому или удел избранных?

Внедрение автотестов в массы: обучение

• Python– http://www.codecademy.com/en/tracks/python – Grail– Код приложения

• Автоматизация тестирования– Внутренняя программа обучения

Page 33: Автоматизация тестирования: доступна каждому или удел избранных?

Внедрение автотестов в массы

• Интеграция с TestRail– Автотесты выглядят, как ручные– Одна кнопка для запуска

Page 34: Автоматизация тестирования: доступна каждому или удел избранных?

Выглядят, как «ручные»

Page 35: Автоматизация тестирования: доступна каждому или удел избранных?

Одна кнопка для запуска

Page 36: Автоматизация тестирования: доступна каждому или удел избранных?

«Пирамидальные» подходы

Page 37: Автоматизация тестирования: доступна каждому или удел избранных?

Некоторые предпочитают треугольник…

http://www.slideshare.net/orgeirIngvarsson/pptx9

Page 38: Автоматизация тестирования: доступна каждому или удел избранных?

Разделяй и властвуй

Задача

Подзадача Подзадача

Решениеподзадачи

Решениеподзадачи

Решениеподзадачи

Решениеподзадачи

Подзадача

Задача

Разделяем

РазделяемРазделяем

Соединяем Соединяем

Соединяем

Подзадача

Page 39: Автоматизация тестирования: доступна каждому или удел избранных?

Модульное тестирование

Page 40: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Проект 2

Проект 1

Проект 5

Проект 6

Проект 4

Проект 3

Page 41: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Проект 2

Проект 1

Проект 5

Проект 6

Проект 4

Проект 3

Page 42: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Проект 2

Проект 1

Проект 5

Проект 6

Проект 4

Проект 3

Page 43: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Проект 2

Проект 1

Проект 5

Проект 6

Проект 4

Проект 3

Page 44: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Проект 2

Проект 4

Проект 3

Page 45: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Проект 2

Проект 4

Проект 3

Тесты

Page 46: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

Заглушка

Проект 4

Заглушка

Тесты

Page 47: Автоматизация тестирования: доступна каждому или удел избранных?

Изолированное тестирование проектов

• Изоляция силами QA• Чётко определяет вход, выход, зависимости• Ускоряет тесты• Локализует проблемы

Заглушка Проект 4

Заглушка

Тесты

Page 48: Автоматизация тестирования: доступна каждому или удел избранных?

Фокус на компонентах без UI

• Начинаем с бизнес-логики• По максимуму проверяем через API• End-to-end сценарии и пользовательский

интерфейс можно проверять и руками

Page 49: Автоматизация тестирования: доступна каждому или удел избранных?

Что же дальше?

• Знаем Python• Знаем программные интерфейсы

Логичный следующий шаг – читать код проектов

Page 50: Автоматизация тестирования: доступна каждому или удел избранных?

Белый ящик

• Незаменимо для проектов с недостатком документации

• Выявляет спектр новых проблем• Позволяет не писать лишние тесты• При необходимости можно помогать в

разработке

Page 51: Автоматизация тестирования: доступна каждому или удел избранных?

Запуск тестов по комитам

• Работает, если тесты быстрые– До 5-10 минут

• …и стабильные• Максимальная отдача от автоматических

тестов

Page 52: Автоматизация тестирования: доступна каждому или удел избранных?

Что же в итоге?

Page 53: Автоматизация тестирования: доступна каждому или удел избранных?

Текущие успехи

Автотесты пишет большее число людейРост количества вовлечённых c 6 до 40-50

человек

Page 54: Автоматизация тестирования: доступна каждому или удел избранных?

Текущие успехи

Стабильные и быстрые тесты– В идеале до 5-10 мин– Запуск по «комитам»– Красные тесты исправляются в процессе

разработки функциональности– Быстро находятся дефекты

Page 55: Автоматизация тестирования: доступна каждому или удел избранных?

Текущие успехи

Проекты в состоянии выпускать новые версии• без ручного тестирования• в течение дня

Page 56: Автоматизация тестирования: доступна каждому или удел избранных?

Текущие успехи

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

Page 57: Автоматизация тестирования: доступна каждому или удел избранных?
Page 58: Автоматизация тестирования: доступна каждому или удел избранных?

Что дальше?..

• Более плотная интеграция с Unit Test’ами• Стабильное интеграционное тестирование• Автоматизация релизных проверок• Эффективное тестирование

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

Page 59: Автоматизация тестирования: доступна каждому или удел избранных?

Спасибо!Q&A

Контакты:Игорь Хрол[email protected] [email protected] skype: igor.khrolhttp://www.khroliz.com