SlideShare uma empresa Scribd logo
1 de 42
Автоматизация тестирования:
 почему умирают проекты?
      Игорь Хрол, 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

Mais conteúdo relacionado

Mais procurados

Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной командеSvetlana Fedyanina
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Yandex
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Igor Khrol
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptIgor Khrol
 
Фокус тест
Фокус тестФокус тест
Фокус тестSQALab
 
SharePoint Code Quality
SharePoint Code QualitySharePoint Code Quality
SharePoint Code QualityStas Vyschepan
 
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаПромышленная разработка ПО. Лекция 5. Особенности работы тестировщика
Промышленная разработка ПО. Лекция 5. Особенности работы тестировщикаMikhail Payson
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Igor Khrol
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...Igor Khrol
 
Dmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QADmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QAAndriy Krayniy
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьIgor Khrol
 
Лилия Зданевич "Automation testing save time and money"
Лилия Зданевич "Automation testing save time and money"Лилия Зданевич "Automation testing save time and money"
Лилия Зданевич "Automation testing save time and money"DataArt
 
Вирусное тестирование. Что-то новое в конфигурационном тестировании
Вирусное тестирование. Что-то новое в конфигурационном тестированииВирусное тестирование. Что-то новое в конфигурационном тестировании
Вирусное тестирование. Что-то новое в конфигурационном тестированииSQALab
 
Report Portal - эффективность вашей автоматизации
Report Portal - эффективность вашей автоматизацииReport Portal - эффективность вашей автоматизации
Report Portal - эффективность вашей автоматизацииSQALab
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?SQALab
 
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
Средства автоматизации тестирования десктопных приложений. Сравнительный анализСредства автоматизации тестирования десктопных приложений. Сравнительный анализ
Средства автоматизации тестирования десктопных приложений. Сравнительный анализCOMAQA.BY
 

Mais procurados (20)

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

Destaque

Автоматизация тестирования - возврат инвестиций
Автоматизация тестирования - возврат инвестицийАвтоматизация тестирования - возврат инвестиций
Автоматизация тестирования - возврат инвестицийSQALab
 
Автоматизация тестирования. Глобализация
Автоматизация тестирования. ГлобализацияАвтоматизация тестирования. Глобализация
Автоматизация тестирования. ГлобализацияSQALab
 
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийAlexander Byndyu
 
Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...SQALab
 
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?SQALab
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?SQALab
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma Badoo Development
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooBadoo Development
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruBadoo Development
 

Destaque (10)

Автоматизация тестирования - возврат инвестиций
Автоматизация тестирования - возврат инвестицийАвтоматизация тестирования - возврат инвестиций
Автоматизация тестирования - возврат инвестиций
 
Автоматизация тестирования. Глобализация
Автоматизация тестирования. ГлобализацияАвтоматизация тестирования. Глобализация
Автоматизация тестирования. Глобализация
 
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложений
 
Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...
 
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
 

Semelhante a Автоматизация тестирования: почему умирают проекты?

Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваSQALab
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий СтрелюкSQALab
 
Серебряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияСеребряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияSQALab
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...SQALab
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Maksim Grinevich
 
лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифMagneta AI
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...SQALab
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: ТестированиеYandex
 
Mva stf module 6 - rus
Mva stf module 6 - rusMva stf module 6 - rus
Mva stf module 6 - rusMaxim Shaptala
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practicenikolay_vasiliev
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеSQALab
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыSQALab
 
Автоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахАвтоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахIgor Khrol
 
тестирование
тестированиетестирование
тестированиеYandex
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Sergey Ryabenko
 

Semelhante a Автоматизация тестирования: почему умирают проекты? (20)

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

Mais de SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Mais de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

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

  • 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