Как перестать бояться и начать автоматизировать

64
Saint-Petersburg May 2016 Как перестать бояться и начать автоматизировать? Или не начать Алексей Лянгузов

Upload: sqalab

Post on 07-Jan-2017

9.706 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Как перестать бояться и начать автоматизировать

Saint-PetersburgMay2016

Как перестать бояться и начать автоматизировать? Или не начать

Алексей Лянгузов

Page 2: Как перестать бояться и начать автоматизировать

План• Введение• Что такое автоматизация• Кто и для кого автоматизирует• Три ДО• Цели и заблуждения в автоматизации• Откуда берутся факапы в автоматизации• Выбор инструмента• Метрики• Автоматизация ручных сценариев• Откуда появляется идея автоматизировать• Заключение

* Спасибо интернету за картинки. Все права принадлежат авторам изображений

Page 3: Как перестать бояться и начать автоматизировать

Кому будет интересно

• Руководителям тестирования, которые не знакомы на практике с автоматизацией, но хотели бы применить у себя в проекте.

• Командам у которых автоматизация «как бы» работает, но не приносит зримых результатов.

• Инженерам, которые начинают автоматизировать, но не знают как вывести практику с личного на командный уровень.

Page 4: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Page 5: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Функциональное и нефункциональное тестирование разрабатываемого ПО

при помощи специализированных программ. Автоматизация проверок

Page 6: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Функциональное

Unit UI

Through API

Page 7: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Функциональное Нефункциональное

Unit UI

Static Checks

PerformanceSecurity

Through API

Page 8: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Использование специализированных программ для исполнения повторяющихся действий.

Автоматизация ручных рутинных операций

Page 9: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Разработки

Test Environments

Test runs

Tools

Page 10: Как перестать бояться и начать автоматизировать

Что такое Автоматизация

АвтоматическоеТестирование (АТ)

АвтоматизацияПроцесса (АП)

Тестирования Разработки

Test Data Test Environments

Test runs

Tools

Reports

Page 11: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Руководитель проекта

Миссия: помочь внедрить на уровне процесса разработки и следить за тем, чтобы работало

Page 12: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Руководитель тестирования

Миссия: организовать весь процесс, направлять в нужную сторону авто-тесто-писателей

Page 13: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Ведущий автоматизатор

Миссия: сделать так чтобы работало, определять стратегию и правила написания и выполнения тестов

Page 14: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Авто-тесто-писатель

Миссия: писать тесты, запускать тесты, анализировать результаты, создавать тестовые данные

Page 15: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Окруженосец

Миссия: создавать, настраивать и поддерживать среду в которой тесты запускаются

Page 16: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Кузнец

Миссия: писать фреймворки, инструменты, генераторы данных и отчетов и прочие интересные штуки

Page 17: Как перестать бояться и начать автоматизировать

Роли в автоматизации

Build Cop

Миссия: анализ неисправности автоматизированных тестов и их исправление

Page 18: Как перестать бояться и начать автоматизировать

Потребители автоматизации

Программисты!!!

Руководители (тестирования, проекта)

Заказчик / business owner

Тестировщики идругие участники разработки

Page 19: Как перестать бояться и начать автоматизировать

Автоматизация

Это - ДОБРО

Page 20: Как перестать бояться и начать автоматизировать

Автоматизация

Это - ДОБРОКакие проблемы я хочу решить, внедряя автоматизацию?

Мои ожидания от автоматизации — не заблуждения?

Есть ли в команде «ведущий автоматизатор»?

Есть ли в команде «кузнец» и «окруженосец»?

Есть ли поддержка и понимание руководства и команды?

Знаю ли я как встроить автоматизацию в процесс?

Page 21: Как перестать бояться и начать автоматизировать

Автоматизация

Это - ДОРОГО

Page 22: Как перестать бояться и начать автоматизировать

Автоматизация

Это - ДОРОГОЯ готов платить за автоматизацию?

Сколько я готов платить за автоматизацию?

Я готов нанять новых людей?

Я готов заплатить за инструменты и обучение?

Я готов платить за инфраструктуру?

Я готов платить постоянно?

Page 23: Как перестать бояться и начать автоматизировать

Автоматизация

Это - ДОЛГО

Page 24: Как перестать бояться и начать автоматизировать

Автоматизация

Это - ДОЛГОЯ понимаю, что польза от автоматизации не мгновенна?

Я знаю, что все участники разработки будут вовлечены?

Я понимаю, что нужно поменять подход к разработке?

Я понимаю, что начав не смогу остановиться?

Проект достаточно долог, чтобы насладиться плодами?

Я готов тратить время на research в автоматизации?

Page 25: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Сократить время тестирования

Page 26: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Увеличить число проверок / покрытие

Сократить время тестирования

Page 27: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Обеспечить более частые проверки

Увеличить число проверок / покрытие

Сократить время тестирования

Page 28: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Уменьшить влияние «человеческого фактора»

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Page 29: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Удешевить тестирование

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Page 30: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

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

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

Page 31: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Сократить время выпуска нового релиза

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Page 32: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Заменить ручного тестировщика автотестами

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время выпуска нового релиза

Page 33: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Фиксация текущего состояния для сравнения

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Page 34: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Быстрое получение текущего состояния

Увеличить число проверок / покрытие

Сократить время тестирования

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Page 35: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Автоматизировать % ручных сценариев

Увеличить число проверок / покрытие

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Быстрое получение текущего состояния

Page 36: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Автоматизировать регрессионное тестирование

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Быстрое получение текущего состояния

Автоматизировать % ручных сценариев

Page 37: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

С нашим фреймворком/тулом все будут писать автотесты

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Быстрое получение текущего состояния

Автоматизировать % ручных сценариев

Автоматизировать регрессионное тестирование

Page 38: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Сертификация сборки / среды тестирования

Удешевить тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Быстрое получение текущего состояния

Автоматизировать % ручных сценариев

Автоматизировать регрессионное тестирование

С нашим фреймворком/тулом все будут писать автотесты

Page 39: Как перестать бояться и начать автоматизировать

Цели и ожидания от автоматизации

Автоматизация упростит тестирование

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

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Быстрое получение текущего состояния

Автоматизировать % ручных сценариев

Автоматизировать регрессионное тестирование

С нашим фреймворком/тулом все будут писать автотесты

Сертификация сборки / среды тестирования

Page 40: Как перестать бояться и начать автоматизировать

Итого про цели

Сократить время выпуска нового релиза

Заменить ручного тестировщика автотестами

Фиксация текущего состояния для сравнения

Быстрое получение текущего состояния

Автоматизировать % ручных сценариев

Автоматизировать регрессионное тестирование

С нашим фреймворком/тулом все будут писать автотесты

Сертификация сборки / среды тестирования

Автоматизация упростит тестирование

Увеличить число проверок / покрытие

Обеспечить более частые проверки

Уменьшить влияние «человеческого фактора»

Удешевить тестирование

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

Сократить время тестирования

Page 41: Как перестать бояться и начать автоматизировать

Причины провала

Совмещение обязанностей «ведущим автоматизатором»

Не дождались / нетерпение / заняло больше времени

Автоматизация ради автоматизации / не в процессе

Несоответствие ожиданиям / ложные ожидания

Плохая архитектура проекта / отсутствие testability

Регрессионные дефекты быстро не чинятся

Редкие запуски

Недостаток квалификации

Page 42: Как перестать бояться и начать автоматизировать

Причины провала

Автоматизация сложной функциональности

Неправильный выбор инструмента / языкаОтсутствие документации автотестов

Отсутствие архитектуры автотестов

Начали с не с того (например UI)

Автоматизировали не то

Сложно запускать

Нестабильность и ненадежность

Page 43: Как перестать бояться и начать автоматизировать

Как исправить

Сперва устранить косяки самих автотестов.Потом необходимо внедрить АТ в общий процесс разработки.Даже небольшое количество надежных тестов могутсделать чудо.

Page 44: Как перестать бояться и начать автоматизировать

Выбор инструментаУсловно лучше Условно хуже

Кол-во Много Один

Цена Бесплатный Платный

Код Открытый Закрытый

Предназначение Специализированный Многозадачный

Популярность Распространённый Узкоспециальный

Поддержка Активно развивается Редкие релизы

Интерфейс Для инженеров Для людей

Сложность Для людей Для инженеров

Платформа запуска Кроссплатформенный Ограниченный

Запуск / Деплоймент Простой Сложный

Контроль Конфигурируемый Преднастроенный

Интеграция С другими тулами Самодостаточный

Расширяемость Плагины Внешние надстройки*взгляд гика, поддерживающего unix way философию

Page 45: Как перестать бояться и начать автоматизировать

Метрики

Тестовое покрытие

Page 46: Как перестать бояться и начать автоматизировать

Метрики

Процент нестабильныхтестовТестовое покрытие

Page 47: Как перестать бояться и начать автоматизировать

Метрики

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Page 48: Как перестать бояться и начать автоматизировать

Метрики

Время выполнения

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Page 49: Как перестать бояться и начать автоматизировать

Метрики

Время выполнения

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Частота запусков

Page 50: Как перестать бояться и начать автоматизировать

Метрики

Время выполнения

Время на поддержку

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Частота запусков

Page 51: Как перестать бояться и начать автоматизировать

Метрики

Время выполнения

Время на поддержку

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Частота запусков

Количество тестов

Page 52: Как перестать бояться и начать автоматизировать

Метрики

Время выполнения

Время на поддержку

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Частота запусков

Количество тестовРегрессионные

дефекты

Page 53: Как перестать бояться и начать автоматизировать

Метрики

Время выполнения

Время на поддержку

Процент падающихтестов

Процент нестабильныхтестовТестовое покрытие

Частота запусков

Количество тестовРегрессионные

дефекты

Лучшая метрика

Вам не нужны метрики!

Page 54: Как перестать бояться и начать автоматизировать

А-я ручных сценариев

Автоматизатору не нужен мозг

Чем это хорошо?

Page 55: Как перестать бояться и начать автоматизировать

А-я ручных сценариев

Чем это плохо?

Разное предназначение тестовРазная детализация тестовРазное время на обновления тестовРазное время на создание тестовНе все ручные тесты автоматизируемыНе для всех возможных проверок есть ручные сценарииРазное разбиение проверок по сценариям

Иногда целесообразно использовать разные интерфейсыЭмуляция юзера может мешать проверкам (при багах)

Это UI тесты. Самая дорогая и ненадежная автоматизация

Даже полная замена не означает отмену ручной проверкиЧто автоматизировать — то что меняется или статично?

Page 56: Как перестать бояться и начать автоматизировать

Откуда появляетсяСнизу

Как доказать руководству, что это нужно?

Пилотная автоматизация

Не надо начинать с тестирования через UI

Сначала сделать, потом выбивать официальное время

Максимально облегчить работу коллег, убрать рутину

Предложить план дальнейших действий

Page 57: Как перестать бояться и начать автоматизировать

Откуда появляетсяСверху

Как доказать руководству, что это НЕ нужно?

Узнать какие проблемы хочется решить

Определиться со сроками и критериями успеха

Договориться об уровне вовлечения команды

Предоставить четкий план затрат и сроков

Определить ответственного за техническую реализацию

Page 58: Как перестать бояться и начать автоматизировать

Откуда появляетсяИзнутри

С чего начать?

Договориться о вовлечённости каждого из участников

Договориться о приоритете исправлений

Договориться об используемых технологиях

Договориться о разделении зон ответственности

Возможно тестировщик-автоматизатор будет лишним

Page 59: Как перестать бояться и начать автоматизировать

Откуда появляетсяСнаружи

А не послать ли нам его?

Узнать что он продаёт

Понять нужно ли нам это

Воспользоваться услугами другого консультанта

Пусть распишет внедрение автоматизации по фазам

Page 60: Как перестать бояться и начать автоматизировать

Заключение

Почему ничего не сказано про ROI

Page 61: Как перестать бояться и начать автоматизировать

Заключение

Почему ничего не сказано про ROI

Почему иногда лучше не автоматизировать

Page 62: Как перестать бояться и начать автоматизировать

Заключение

Почему ничего не сказано про ROI

Так зачем же мы все-таки автоматизируем?

Почему иногда лучше не автоматизировать

Page 63: Как перестать бояться и начать автоматизировать

Заключение

ДА НЕТНе значит ДА Значит НЕТ

Но если не попробовать, то точно не получится

Page 64: Как перестать бояться и начать автоматизировать

Спасибо!

Alexey LyanguzovSoftware Quality [email protected]