Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Saint-Petersburg
May
2016
Как перестать бояться и начать
автоматизировать? Или не начать
Алексей Лянгузов
План
• Введение
• Что такое автоматизация
• Кто и для кого автоматизирует
• Три ДО
• Цели и заблуждения в автоматизации
• ...
Кому будет интересно
• Руководителям тестирования, которые не
знакомы на практике с автоматизацией, но
хотели бы применить...
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Функциональное и нефункциональное
тес...
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Функциональное
Unit UI
Through API
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Функциональное Нефункциональное
Unit ...
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Использование специализированных
прог...
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Разработки
Test Environments
Test run...
Что такое Автоматизация
Автоматическое
Тестирование (АТ)
Автоматизация
Процесса (АП)
Тестирования Разработки
Test Data Tes...
Роли в автоматизации
Руководитель проекта
Миссия: помочь внедрить на
уровне процесса разработки и
следить за тем, чтобы ра...
Роли в автоматизации
Руководитель тестирования
Миссия: организовать весь
процесс, направлять в нужную
сторону авто-тесто-п...
Роли в автоматизации
Ведущий автоматизатор
Миссия: сделать так чтобы
работало, определять стратегию
и правила написания и
...
Роли в автоматизации
Авто-тесто-писатель
Миссия: писать тесты,
запускать тесты, анализировать
результаты, создавать тестов...
Роли в автоматизации
Окруженосец
Миссия: создавать, настраивать
и поддерживать среду в которой
тесты запускаются
Роли в автоматизации
Кузнец
Миссия: писать фреймворки,
инструменты, генераторы
данных и отчетов и прочие
интересные штуки
Роли в автоматизации
Build Cop
Миссия: анализ неисправности
автоматизированных тестов и их
исправление
Потребители
автоматизации
Программисты!!!
Руководители (тестирования, проекта)
Заказчик / business owner
Тестировщики и
др...
Автоматизация
Это - ДОБРО
Автоматизация
Это - ДОБРО
Какие проблемы я хочу решить, внедряя автоматизацию?
Мои ожидания от автоматизации — не заблужде...
Автоматизация
Это - ДОРОГО
Автоматизация
Это - ДОРОГО
Я готов платить за автоматизацию?
Сколько я готов платить за автоматизацию?
Я готов нанять новы...
Автоматизация
Это - ДОЛГО
Автоматизация
Это - ДОЛГО
Я понимаю, что польза от автоматизации не мгновенна?
Я знаю, что все участники разработки будут ...
Цели и ожидания от
автоматизации
Сократить время тестирования
Цели и ожидания от
автоматизации
Увеличить число проверок / покрытие
Сократить время тестирования
Цели и ожидания от
автоматизации
Обеспечить более частые проверки
Увеличить число проверок / покрытие
Сократить время тест...
Цели и ожидания от
автоматизации
Уменьшить влияние «человеческого
фактора»
Увеличить число проверок / покрытие
Сократить в...
Цели и ожидания от
автоматизации
Удешевить тестирование
Увеличить число проверок / покрытие
Сократить время тестирования
О...
Цели и ожидания от
автоматизации
Внедрить новые виды тестирования
Увеличить число проверок / покрытие
Сократить время тест...
Цели и ожидания от
автоматизации
Сократить время выпуска нового релиза
Увеличить число проверок / покрытие
Сократить время...
Цели и ожидания от
автоматизации
Заменить ручного тестировщика
автотестами
Увеличить число проверок / покрытие
Сократить в...
Цели и ожидания от
автоматизации
Фиксация текущего состояния для
сравнения
Увеличить число проверок / покрытие
Сократить в...
Цели и ожидания от
автоматизации
Быстрое получение текущего состояния
Увеличить число проверок / покрытие
Сократить время ...
Цели и ожидания от
автоматизации
Автоматизировать % ручных сценариев
Увеличить число проверок / покрытие
Обеспечить более ...
Цели и ожидания от
автоматизации
Автоматизировать регрессионное
тестирование
Обеспечить более частые проверки
Уменьшить вл...
Цели и ожидания от
автоматизации
С нашим фреймворком/тулом все будут
писать автотесты
Уменьшить влияние «человеческого фак...
Цели и ожидания от
автоматизации
Сертификация сборки / среды
тестирования
Удешевить тестирование
Внедрить новые виды тести...
Цели и ожидания от
автоматизации
Автоматизация упростит тестирование
Внедрить новые виды тестирования
Сократить время выпу...
Итого про цели
Сократить время выпуска нового релиза
Заменить ручного тестировщика автотестами
Фиксация текущего состояния...
Причины провала
Совмещение обязанностей «ведущим автоматизатором»
Не дождались / нетерпение / заняло больше времени
Автома...
Причины провала
Автоматизация сложной функциональности
Неправильный выбор инструмента / языка
Отсутствие документации авто...
Как исправить
Сперва устранить косяки самих автотестов.
Потом необходимо внедрить АТ в общий процесс
разработки.
Даже небо...
Выбор инструмента
Условно лучше Условно хуже
Кол-во Много Один
Цена Бесплатный Платный
Код Открытый Закрытый
Предназначени...
Метрики
Тестовое покрытие
Метрики
Процент нестабильных
тестовТестовое покрытие
Метрики
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Метрики
Время выполнения
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Метрики
Время выполнения
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Частота запусков
Метрики
Время выполнения
Время на поддержку
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Частота з...
Метрики
Время выполнения
Время на поддержку
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Частота з...
Метрики
Время выполнения
Время на поддержку
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Частота з...
Метрики
Время выполнения
Время на поддержку
Процент падающих
тестов
Процент нестабильных
тестовТестовое покрытие
Частота з...
А-я ручных сценариев
Автоматизатору
не нужен мозг
Чем это хорошо?
А-я ручных сценариев
Чем это плохо?
Разное предназначение тестов
Разная детализация тестов
Разное время на обновления тест...
Откуда появляется
Снизу
Как доказать руководству, что это нужно?
Пилотная автоматизация
Не надо начинать с тестирования че...
Откуда появляется
Сверху
Как доказать руководству, что это НЕ нужно?
Узнать какие проблемы хочется решить
Определиться со ...
Откуда появляется
Изнутри
С чего начать?
Договориться о вовлечённости каждого из участников
Договориться о приоритете испр...
Откуда появляется
Снаружи
А не послать ли нам его?
Узнать что он продаёт
Понять нужно ли нам это
Воспользоваться услугами ...
Заключение
Почему ничего не сказано про ROI
Заключение
Почему ничего не сказано про ROI
Почему иногда лучше не автоматизировать
Заключение
Почему ничего не сказано про ROI
Так зачем же мы все-таки автоматизируем?
Почему иногда лучше не автоматизирова...
Заключение
ДА НЕТ
Не значит ДА Значит НЕТ
Но если не попробовать, то точно не получится
Спасибо!
Alexey Lyanguzov
Software Quality Specialist
budabum@gmail.com
Upcoming SlideShare
Loading in …5
×

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

10,609 views

Published on

Доклад Алексея Лянгузова на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург

Published in: Education
  • Be the first to comment

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

  1. 1. Saint-Petersburg May 2016 Как перестать бояться и начать автоматизировать? Или не начать Алексей Лянгузов
  2. 2. План • Введение • Что такое автоматизация • Кто и для кого автоматизирует • Три ДО • Цели и заблуждения в автоматизации • Откуда берутся факапы в автоматизации • Выбор инструмента • Метрики • Автоматизация ручных сценариев • Откуда появляется идея автоматизировать • Заключение * Спасибо интернету за картинки. Все права принадлежат авторам изображений
  3. 3. Кому будет интересно • Руководителям тестирования, которые не знакомы на практике с автоматизацией, но хотели бы применить у себя в проекте. • Командам у которых автоматизация «как бы» работает, но не приносит зримых результатов. • Инженерам, которые начинают автоматизировать, но не знают как вывести практику с личного на командный уровень.
  4. 4. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП)
  5. 5. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП) Функциональное и нефункциональное тестирование разрабатываемого ПО при помощи специализированных программ. Автоматизация проверок
  6. 6. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП) Функциональное Unit UI Through API
  7. 7. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП) Функциональное Нефункциональное Unit UI Static Checks PerformanceSecurity Through API
  8. 8. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП) Использование специализированных программ для исполнения повторяющихся действий. Автоматизация ручных рутинных операций
  9. 9. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП) Разработки Test Environments Test runs Tools
  10. 10. Что такое Автоматизация Автоматическое Тестирование (АТ) Автоматизация Процесса (АП) Тестирования Разработки Test Data Test Environments Test runs Tools Reports
  11. 11. Роли в автоматизации Руководитель проекта Миссия: помочь внедрить на уровне процесса разработки и следить за тем, чтобы работало
  12. 12. Роли в автоматизации Руководитель тестирования Миссия: организовать весь процесс, направлять в нужную сторону авто-тесто-писателей
  13. 13. Роли в автоматизации Ведущий автоматизатор Миссия: сделать так чтобы работало, определять стратегию и правила написания и выполнения тестов
  14. 14. Роли в автоматизации Авто-тесто-писатель Миссия: писать тесты, запускать тесты, анализировать результаты, создавать тестовые данные
  15. 15. Роли в автоматизации Окруженосец Миссия: создавать, настраивать и поддерживать среду в которой тесты запускаются
  16. 16. Роли в автоматизации Кузнец Миссия: писать фреймворки, инструменты, генераторы данных и отчетов и прочие интересные штуки
  17. 17. Роли в автоматизации Build Cop Миссия: анализ неисправности автоматизированных тестов и их исправление
  18. 18. Потребители автоматизации Программисты!!! Руководители (тестирования, проекта) Заказчик / business owner Тестировщики и другие участники разработки
  19. 19. Автоматизация Это - ДОБРО
  20. 20. Автоматизация Это - ДОБРО Какие проблемы я хочу решить, внедряя автоматизацию? Мои ожидания от автоматизации — не заблуждения? Есть ли в команде «ведущий автоматизатор»? Есть ли в команде «кузнец» и «окруженосец»? Есть ли поддержка и понимание руководства и команды? Знаю ли я как встроить автоматизацию в процесс?
  21. 21. Автоматизация Это - ДОРОГО
  22. 22. Автоматизация Это - ДОРОГО Я готов платить за автоматизацию? Сколько я готов платить за автоматизацию? Я готов нанять новых людей? Я готов заплатить за инструменты и обучение? Я готов платить за инфраструктуру? Я готов платить постоянно?
  23. 23. Автоматизация Это - ДОЛГО
  24. 24. Автоматизация Это - ДОЛГО Я понимаю, что польза от автоматизации не мгновенна? Я знаю, что все участники разработки будут вовлечены? Я понимаю, что нужно поменять подход к разработке? Я понимаю, что начав не смогу остановиться? Проект достаточно долог, чтобы насладиться плодами? Я готов тратить время на research в автоматизации?
  25. 25. Цели и ожидания от автоматизации Сократить время тестирования
  26. 26. Цели и ожидания от автоматизации Увеличить число проверок / покрытие Сократить время тестирования
  27. 27. Цели и ожидания от автоматизации Обеспечить более частые проверки Увеличить число проверок / покрытие Сократить время тестирования
  28. 28. Цели и ожидания от автоматизации Уменьшить влияние «человеческого фактора» Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки
  29. 29. Цели и ожидания от автоматизации Удешевить тестирование Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки Уменьшить влияние «человеческого фактора»
  30. 30. Цели и ожидания от автоматизации Внедрить новые виды тестирования Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование
  31. 31. Цели и ожидания от автоматизации Сократить время выпуска нового релиза Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования
  32. 32. Цели и ожидания от автоматизации Заменить ручного тестировщика автотестами Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза
  33. 33. Цели и ожидания от автоматизации Фиксация текущего состояния для сравнения Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами
  34. 34. Цели и ожидания от автоматизации Быстрое получение текущего состояния Увеличить число проверок / покрытие Сократить время тестирования Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения
  35. 35. Цели и ожидания от автоматизации Автоматизировать % ручных сценариев Увеличить число проверок / покрытие Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения Быстрое получение текущего состояния
  36. 36. Цели и ожидания от автоматизации Автоматизировать регрессионное тестирование Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения Быстрое получение текущего состояния Автоматизировать % ручных сценариев
  37. 37. Цели и ожидания от автоматизации С нашим фреймворком/тулом все будут писать автотесты Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения Быстрое получение текущего состояния Автоматизировать % ручных сценариев Автоматизировать регрессионное тестирование
  38. 38. Цели и ожидания от автоматизации Сертификация сборки / среды тестирования Удешевить тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения Быстрое получение текущего состояния Автоматизировать % ручных сценариев Автоматизировать регрессионное тестирование С нашим фреймворком/тулом все будут писать автотесты
  39. 39. Цели и ожидания от автоматизации Автоматизация упростит тестирование Внедрить новые виды тестирования Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения Быстрое получение текущего состояния Автоматизировать % ручных сценариев Автоматизировать регрессионное тестирование С нашим фреймворком/тулом все будут писать автотесты Сертификация сборки / среды тестирования
  40. 40. Итого про цели Сократить время выпуска нового релиза Заменить ручного тестировщика автотестами Фиксация текущего состояния для сравнения Быстрое получение текущего состояния Автоматизировать % ручных сценариев Автоматизировать регрессионное тестирование С нашим фреймворком/тулом все будут писать автотесты Сертификация сборки / среды тестирования Автоматизация упростит тестирование Увеличить число проверок / покрытие Обеспечить более частые проверки Уменьшить влияние «человеческого фактора» Удешевить тестирование Внедрить новые виды тестирования Сократить время тестирования
  41. 41. Причины провала Совмещение обязанностей «ведущим автоматизатором» Не дождались / нетерпение / заняло больше времени Автоматизация ради автоматизации / не в процессе Несоответствие ожиданиям / ложные ожидания Плохая архитектура проекта / отсутствие testability Регрессионные дефекты быстро не чинятся Редкие запуски Недостаток квалификации
  42. 42. Причины провала Автоматизация сложной функциональности Неправильный выбор инструмента / языка Отсутствие документации автотестов Отсутствие архитектуры автотестов Начали с не с того (например UI) Автоматизировали не то Сложно запускать Нестабильность и ненадежность
  43. 43. Как исправить Сперва устранить косяки самих автотестов. Потом необходимо внедрить АТ в общий процесс разработки. Даже небольшое количество надежных тестов могут сделать чудо.
  44. 44. Выбор инструмента Условно лучше Условно хуже Кол-во Много Один Цена Бесплатный Платный Код Открытый Закрытый Предназначение Специализированный Многозадачный Популярность Распространённый Узкоспециальный Поддержка Активно развивается Редкие релизы Интерфейс Для инженеров Для людей Сложность Для людей Для инженеров Платформа запуска Кроссплатформенный Ограниченный Запуск / Деплоймент Простой Сложный Контроль Конфигурируемый Преднастроенный Интеграция С другими тулами Самодостаточный Расширяемость Плагины Внешние надстройки *взгляд гика, поддерживающего unix way философию
  45. 45. Метрики Тестовое покрытие
  46. 46. Метрики Процент нестабильных тестовТестовое покрытие
  47. 47. Метрики Процент падающих тестов Процент нестабильных тестовТестовое покрытие
  48. 48. Метрики Время выполнения Процент падающих тестов Процент нестабильных тестовТестовое покрытие
  49. 49. Метрики Время выполнения Процент падающих тестов Процент нестабильных тестовТестовое покрытие Частота запусков
  50. 50. Метрики Время выполнения Время на поддержку Процент падающих тестов Процент нестабильных тестовТестовое покрытие Частота запусков
  51. 51. Метрики Время выполнения Время на поддержку Процент падающих тестов Процент нестабильных тестовТестовое покрытие Частота запусков Количество тестов
  52. 52. Метрики Время выполнения Время на поддержку Процент падающих тестов Процент нестабильных тестовТестовое покрытие Частота запусков Количество тестов Регрессионные дефекты
  53. 53. Метрики Время выполнения Время на поддержку Процент падающих тестов Процент нестабильных тестовТестовое покрытие Частота запусков Количество тестов Регрессионные дефекты Лучшая метрика Вам не нужны метрики!
  54. 54. А-я ручных сценариев Автоматизатору не нужен мозг Чем это хорошо?
  55. 55. А-я ручных сценариев Чем это плохо? Разное предназначение тестов Разная детализация тестов Разное время на обновления тестов Разное время на создание тестов Не все ручные тесты автоматизируемы Не для всех возможных проверок есть ручные сценарии Разное разбиение проверок по сценариям Иногда целесообразно использовать разные интерфейсы Эмуляция юзера может мешать проверкам (при багах) Это UI тесты. Самая дорогая и ненадежная автоматизация Даже полная замена не означает отмену ручной проверки Что автоматизировать — то что меняется или статично?
  56. 56. Откуда появляется Снизу Как доказать руководству, что это нужно? Пилотная автоматизация Не надо начинать с тестирования через UI Сначала сделать, потом выбивать официальное время Максимально облегчить работу коллег, убрать рутину Предложить план дальнейших действий
  57. 57. Откуда появляется Сверху Как доказать руководству, что это НЕ нужно? Узнать какие проблемы хочется решить Определиться со сроками и критериями успеха Договориться об уровне вовлечения команды Предоставить четкий план затрат и сроков Определить ответственного за техническую реализацию
  58. 58. Откуда появляется Изнутри С чего начать? Договориться о вовлечённости каждого из участников Договориться о приоритете исправлений Договориться об используемых технологиях Договориться о разделении зон ответственности Возможно тестировщик-автоматизатор будет лишним
  59. 59. Откуда появляется Снаружи А не послать ли нам его? Узнать что он продаёт Понять нужно ли нам это Воспользоваться услугами другого консультанта Пусть распишет внедрение автоматизации по фазам
  60. 60. Заключение Почему ничего не сказано про ROI
  61. 61. Заключение Почему ничего не сказано про ROI Почему иногда лучше не автоматизировать
  62. 62. Заключение Почему ничего не сказано про ROI Так зачем же мы все-таки автоматизируем? Почему иногда лучше не автоматизировать
  63. 63. Заключение ДА НЕТ Не значит ДА Значит НЕТ Но если не попробовать, то точно не получится
  64. 64. Спасибо! Alexey Lyanguzov Software Quality Specialist budabum@gmail.com

×