SlideShare a Scribd company logo
Автоматизация тестирования:
 почему умирают проекты?
      Игорь Хрол, EPAM Systems
План
• Что плохо с автоматизацией тестирования?
• Пять типичных ошибок в UI автоматизации
  тестирования
• Возможные решения, чтобы сделать успешную
  автоматизацию тестирования:
  – Технические решения
  – Организационные решения
• Вопросы и ответы
Немного о себе…
• Игорь Хрол
• Software Testing Manager
  EPAM Systems
• Более шести лет опыта работы в
  автоматизации тестирования
  (инженер, архитектор, менеджер,
  консультант, тренер)
• Опыт работы с большинством
  наиболее популярных инструментов
  и подходов
• Десятки проектов по автоматизации
  тестирования и тестированию
  производительности
Успешный проект
по автоматизации
тестирования:
что это такое?
Успех в автоматизации
                тестирования
• Что такое «успех» для автоматизации?
• То же, что и для других проектов:
  – Заказчик счастлив
  – «Выхлоп» больше затрат
• Специфика автоматизации
  тестирования:
  – Уменьшился объѐм ручного
    тестирования
  – Регрессия стала занимать меньше
    времени
  – Найдено больше дефектов
Каковы шансы быть
                успешными?




Нет                              Успех
результата
Каковы шансы быть
                успешными?




Нет                              Успех
результата


80%                       20%
Типичные причины
Причина №1:
Запись тестов (Recording)
Причины: запись тестов

• Самое первое в коммерческих
  инструментах
• Выглядит многообещающе при
  покупке
Причины: запись тестов

• Почему неудача?
  – Запись тестов перестаѐт работать на чуть более
    сложных приложениях, чем на демонстрации
  – Невозможно поддерживать
Запись тестов: решения
Запись тестов: решения

• Не используйте запись тестов
• Пишите тесты руками
Запись тестов: решения

• Убедитесь, что запись тестов работает для вашего
  приложения
   – Настройте приложение
   – Настройте инструмент
• Формализуйте тестовые сценарии
• Не пытайтесь поддерживать тесты
   – В случае падений перезаписывайте скрипты
Запись тестов: решения
 • В случае падений перезаписывайте скрипты


                   Pass

                                             Ручная
Запись    Запуск          Отчёт    Fail     проверка



                                          Перезапись
Причина №2:
UI автоматизация
медленная


                   Confidential   1
Причины: UI автоматизация
                 медленная
• UI автоматизация включает в себя полное end-to-end
  решение
   –   Браузер (или другого клиента)
   –   Сеть
   –   Сервер приложений (или серверную часть)
   –   База данных
• UI автоматизация
  работает с браузером,
  а не с кодом приложения
UI автоматизация
медленная: решения
UI автоматизация
             медленная: решения
• Не используйте «sleep» для синхронизации
UI автоматизация
             медленная: решения
• Запускайте тесты параллельно
  – Разработайте тестовую архитектуру для
    параллелизации
  – Разрабатывайте тестовые сценарии и тестовые
    данные для параллелизации
  – Используйте «облака» для запуска тестов
UI автоматизация
             медленная: решения
• Фокусируйтесь на других видах автоматизации
  тестирования

                        UI

               API Testing

               Unit Testing
Причина №3:
UI автоматизация
нестабильная
Причины: UI автоматизация
              нестабильная
• Такова природа UI автоматизации
• 2-3% в среднем “failed” тестов
UI автоматизация
нестабильна: решения
UI автоматизация
            нестабильна: решения
• Фокусируйтесь на других видах автоматизации
  тестирования

                        UI

               API Testing

               Unit Testing
UI автоматизация
                 нестабильна: решения
• Перезапускайте упавшие тесты до анализа результатов
• Анализируйте только дважды упавшие тесты

•   Всего – 1000 тестов    1 запуск                    1 запуск + 1 перезапуск
•   Дефектов – 5 штук      Упавших тестов              Упавших тестов
•   Процент падений – 3%   (1000 – 5 ) * 3% + 5 = 35   (1000 – 5) * 3% + 5 = 35
•   1 мин для выполнения                               (35 - 5) * 3% + 5 = 6
                           Время выполнения
                           1000мин = 16.7ч             Время выполнения
•   10 мин для анализа                                 1000мин + 35мин = 17.3ч
                           Время для анализа
                                                       Время для анализа
                           35 * 10мин = 5.8ч
                                                       6 * 10мин = 1ч
Причина №4:
Слишком дорого
разрабатывать и
поддерживать
Причины: слишком дорого

• Тесты медленные
  – Тест запускается 10-15 раз в
    ходе разработки
  – 2-5 раз для внесения
    исправлений в ходе поддержки
Причины: слишком дорого

• Неправильный выбор инструмента




Код с ошибкой           Исправленный код



            Почему???
Причины: слишком дорого
• Недостаточно знаний у команды




     Разработка           Тестирование
Слишком дорого
разрабатывать и
поддерживать:
решения
Слишком дорого: решения

• Тесно сотрудничайте с командой разработки, чтобы
  сделать пользовательский интерфейс
  автоматизируемым:
  – Добавление статических идентификаторов
  – Реализация простой процедуры для синхронизации
Слишком дорого: решения

• Используйте эффективный фреймворк по
  автоматизации
• Высокое ре-использование кода
  – Ускоренное написания тестов
  – Поддержка тестов меньшим количеством изменений
Слишком дорого: решения

• «Недостаточно знаний у команды» – как решать?
• Отделите создание фреймворка от написания
  тестовых скриптов


         Тестовые скрипты   Команда тестирования



                                Команда
          Фреймворк
                             автоматизации


          Инструмент           Производитель
Проблема №5:
Автоматизация не
используется
Проблема: автоматизация
             не используется
• «Мы не доверяем
  автоматическим результатам –
  лучше перепроверим руками»

• Слишком сложно запускать
  тесты и анализировать
  результаты
Автоматизация не
используется: решения
Автоматизация не
           используется: решения
• Интегрируйте автоматизацию тестирования с
  существующими тестовыми системами
• Упростите процесс запуска тестов
Автоматизация не
                используется: решения
• Установите ясную процедуру анализа результатов

Запуск теста


    Если упал – прогнать вручную


        Внести дефект


               Упал – на тестируемое приложение
               Прошѐл – на автотесты
В завершение…
Подводя итоги…

• Что делать, чтобы добиться успеха в автоматизации
  тестирования:
  – Выберите правильный инструмент, фреймворк,
    техническое решение…
  – Внимательно отнеситесь к разделению обязанностей и
    процессу
  – Тесно сотрудничайте между различными командами
    (тестирование, автоматизация, разработка)
Вопросы?


Игорь Хрол                 igor.khrol (Skype ID)
Software Testing Manager   +375 (29) 744-7856 (Mobile)
EPAM Systems               igor_khrol@epam.com

More Related Content

PPTX
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
PPT
Автоматизация тестирования как способ получения знаний
PPTX
Automation Overview
PDF
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
PDF
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
PPT
Кому следует писать автоматические тесты?
PDF
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
PDF
Марина Широчкина - Тестирование
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
Автоматизация тестирования как способ получения знаний
Automation Overview
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Кому следует писать автоматические тесты?
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Марина Широчкина - Тестирование

What's hot (20)

PDF
Процесс тестирования в распределенной команде
PDF
Марина Широчкина — «Тестирование»
PPTX
10 принципов автоматизации, которые я не предам
PDF
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
PPTX
Test Automation Wargaming SQA Days 17
PPTX
Introduction to Automation Testing
PPT
Тестирование инсталляторов
PPTX
Повышаем надёжность тестов через JavaScript
PPTX
Фокус тест
PPTX
SharePoint Code Quality
PPTX
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
PDF
Тестировщик в Agile - кто он?
PDF
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
PPTX
Dmitriy Kovalenko: Minimization of manual QA
PPTX
Qa Automation - отбрасываем лишнее и тестируем суть
PPTX
Лилия Зданевич "Automation testing save time and money"
PPTX
Вирусное тестирование. Что-то новое в конфигурационном тестировании
PPTX
Report Portal - эффективность вашей автоматизации
PPTX
Автоматизация тестирования: доступна каждому или удел избранных?
PDF
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
Процесс тестирования в распределенной команде
Марина Широчкина — «Тестирование»
10 принципов автоматизации, которые я не предам
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Test Automation Wargaming SQA Days 17
Introduction to Automation Testing
Тестирование инсталляторов
Повышаем надёжность тестов через JavaScript
Фокус тест
SharePoint Code Quality
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Тестировщик в Agile - кто он?
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
Dmitriy Kovalenko: Minimization of manual QA
Qa Automation - отбрасываем лишнее и тестируем суть
Лилия Зданевич "Automation testing save time and money"
Вирусное тестирование. Что-то новое в конфигурационном тестировании
Report Portal - эффективность вашей автоматизации
Автоматизация тестирования: доступна каждому или удел избранных?
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
Ad

Similar to Автоматизация Тестирования - Почему умирают проекты? (20)

PDF
Автоматизация сборки и тестирования в разрезе эффективного производства
PPTX
Автоматизация тестирования
PPT
Виталий Стрелюк
PDF
Серебряная пуля автоматизированного тестирования
PPTX
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
PPTX
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
PPT
лившиц владимир - независимое тестирование миф
PPT
Внедрение тестирования в Scrum
PPT
Внедрение тестирования в Scrum
PDF
Автоматическое тестирование. Моя система
PPT
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...
PDF
Марина Широчкина: Тестирование
PPTX
Mva stf module 6 - rus
PDF
Software testing in practice
PDF
Светлана Федянина - Процесс тестирования в распределенной команде
PPTX
Автоматизация в тестировании инфраструктуры
PPT
Автоматизация тестирования на крупных проектах
PDF
тестирование
PPTX
Cовременный контроль качества: давай сделаем это по-быстрому...
PPT
Юнит тестирование в Web. Как получать пользу и удовольствие.
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация тестирования
Виталий Стрелюк
Серебряная пуля автоматизированного тестирования
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
лившиц владимир - независимое тестирование миф
Внедрение тестирования в Scrum
Внедрение тестирования в Scrum
Автоматическое тестирование. Моя система
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...
Марина Широчкина: Тестирование
Mva stf module 6 - rus
Software testing in practice
Светлана Федянина - Процесс тестирования в распределенной команде
Автоматизация в тестировании инфраструктуры
Автоматизация тестирования на крупных проектах
тестирование
Cовременный контроль качества: давай сделаем это по-быстрому...
Юнит тестирование в Web. Как получать пользу и удовольствие.
Ad

More from Igor Khrol (10)

PDF
SeleniumCamp 2016
PDF
Agile.by Gathering – 23 января 2016
PDF
Grail - CodeFest'2015
PPTX
Webium: Page Objects in Python
PPTX
Increase selenium tests stability via java script
PPTX
Why test automation projects are failing
PPTX
Типичные ошибки начинающих писать тесты на WebDriver
PPTX
Web driver история одной миграции
PPTX
Meeting #4. Frameworks.
PPTX
автоматизация Flex приложений с помощью selenium rc
SeleniumCamp 2016
Agile.by Gathering – 23 января 2016
Grail - CodeFest'2015
Webium: Page Objects in Python
Increase selenium tests stability via java script
Why test automation projects are failing
Типичные ошибки начинающих писать тесты на WebDriver
Web driver история одной миграции
Meeting #4. Frameworks.
автоматизация Flex приложений с помощью selenium rc

Автоматизация Тестирования - Почему умирают проекты?

  • 1. Автоматизация тестирования: почему умирают проекты? Игорь Хрол, EPAM Systems
  • 2. План • Что плохо с автоматизацией тестирования? • Пять типичных ошибок в UI автоматизации тестирования • Возможные решения, чтобы сделать успешную автоматизацию тестирования: – Технические решения – Организационные решения • Вопросы и ответы
  • 3. Немного о себе… • Игорь Хрол • Software Testing Manager EPAM Systems • Более шести лет опыта работы в автоматизации тестирования (инженер, архитектор, менеджер, консультант, тренер) • Опыт работы с большинством наиболее популярных инструментов и подходов • Десятки проектов по автоматизации тестирования и тестированию производительности
  • 5. Успех в автоматизации тестирования • Что такое «успех» для автоматизации? • То же, что и для других проектов: – Заказчик счастлив – «Выхлоп» больше затрат • Специфика автоматизации тестирования: – Уменьшился объѐм ручного тестирования – Регрессия стала занимать меньше времени – Найдено больше дефектов
  • 6. Каковы шансы быть успешными? Нет Успех результата
  • 7. Каковы шансы быть успешными? Нет Успех результата 80% 20%
  • 10. Причины: запись тестов • Самое первое в коммерческих инструментах • Выглядит многообещающе при покупке
  • 11. Причины: запись тестов • Почему неудача? – Запись тестов перестаѐт работать на чуть более сложных приложениях, чем на демонстрации – Невозможно поддерживать
  • 13. Запись тестов: решения • Не используйте запись тестов • Пишите тесты руками
  • 14. Запись тестов: решения • Убедитесь, что запись тестов работает для вашего приложения – Настройте приложение – Настройте инструмент • Формализуйте тестовые сценарии • Не пытайтесь поддерживать тесты – В случае падений перезаписывайте скрипты
  • 15. Запись тестов: решения • В случае падений перезаписывайте скрипты Pass Ручная Запись Запуск Отчёт Fail проверка Перезапись
  • 17. Причины: UI автоматизация медленная • UI автоматизация включает в себя полное end-to-end решение – Браузер (или другого клиента) – Сеть – Сервер приложений (или серверную часть) – База данных • UI автоматизация работает с браузером, а не с кодом приложения
  • 19. UI автоматизация медленная: решения • Не используйте «sleep» для синхронизации
  • 20. UI автоматизация медленная: решения • Запускайте тесты параллельно – Разработайте тестовую архитектуру для параллелизации – Разрабатывайте тестовые сценарии и тестовые данные для параллелизации – Используйте «облака» для запуска тестов
  • 21. UI автоматизация медленная: решения • Фокусируйтесь на других видах автоматизации тестирования UI API Testing Unit Testing
  • 23. Причины: UI автоматизация нестабильная • Такова природа UI автоматизации • 2-3% в среднем “failed” тестов
  • 25. UI автоматизация нестабильна: решения • Фокусируйтесь на других видах автоматизации тестирования UI API Testing Unit Testing
  • 26. UI автоматизация нестабильна: решения • Перезапускайте упавшие тесты до анализа результатов • Анализируйте только дважды упавшие тесты • Всего – 1000 тестов 1 запуск 1 запуск + 1 перезапуск • Дефектов – 5 штук Упавших тестов Упавших тестов • Процент падений – 3% (1000 – 5 ) * 3% + 5 = 35 (1000 – 5) * 3% + 5 = 35 • 1 мин для выполнения (35 - 5) * 3% + 5 = 6 Время выполнения 1000мин = 16.7ч Время выполнения • 10 мин для анализа 1000мин + 35мин = 17.3ч Время для анализа Время для анализа 35 * 10мин = 5.8ч 6 * 10мин = 1ч
  • 28. Причины: слишком дорого • Тесты медленные – Тест запускается 10-15 раз в ходе разработки – 2-5 раз для внесения исправлений в ходе поддержки
  • 29. Причины: слишком дорого • Неправильный выбор инструмента Код с ошибкой Исправленный код Почему???
  • 30. Причины: слишком дорого • Недостаточно знаний у команды Разработка Тестирование
  • 32. Слишком дорого: решения • Тесно сотрудничайте с командой разработки, чтобы сделать пользовательский интерфейс автоматизируемым: – Добавление статических идентификаторов – Реализация простой процедуры для синхронизации
  • 33. Слишком дорого: решения • Используйте эффективный фреймворк по автоматизации • Высокое ре-использование кода – Ускоренное написания тестов – Поддержка тестов меньшим количеством изменений
  • 34. Слишком дорого: решения • «Недостаточно знаний у команды» – как решать? • Отделите создание фреймворка от написания тестовых скриптов Тестовые скрипты Команда тестирования Команда Фреймворк автоматизации Инструмент Производитель
  • 36. Проблема: автоматизация не используется • «Мы не доверяем автоматическим результатам – лучше перепроверим руками» • Слишком сложно запускать тесты и анализировать результаты
  • 38. Автоматизация не используется: решения • Интегрируйте автоматизацию тестирования с существующими тестовыми системами • Упростите процесс запуска тестов
  • 39. Автоматизация не используется: решения • Установите ясную процедуру анализа результатов Запуск теста Если упал – прогнать вручную Внести дефект Упал – на тестируемое приложение Прошѐл – на автотесты
  • 41. Подводя итоги… • Что делать, чтобы добиться успеха в автоматизации тестирования: – Выберите правильный инструмент, фреймворк, техническое решение… – Внимательно отнеситесь к разделению обязанностей и процессу – Тесно сотрудничайте между различными командами (тестирование, автоматизация, разработка)
  • 42. Вопросы? Игорь Хрол igor.khrol (Skype ID) Software Testing Manager +375 (29) 744-7856 (Mobile) EPAM Systems igor_khrol@epam.com