SQA

We dont create software, We make it better...

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Главная страница > Тестирование > Test Automation > Автоматизация тестирования – “А оно нам надо?”

Автоматизация тестирования – “А оно нам надо?”

Печать PDF

Предисловие sqa.by

В своей статье Алексей Якимович дает ответы на вопрос, который возникал у многих тестировщиков: "Когда же необходима автоматизация тестирования?". Мифы автоматизации, автоматизация за или против... Читайте статью  Алексея.

Автоматизация тестирования - "А оно нам надо?"

 

 

Мифы автоматизации тестирования. Из доклада Дмитрий Ручко на конференции SQA-2:

Миф 1. Автоматизированное тестирование - это только проверка регресса.

Миф 2. Автоматизированное тестирование - это только функциональное тестирование через GUI.

Миф 3. В автоматизированном тестировании всё выполняется само.

Миф 4. Автоматизация позволяет сократить расходы.

Миф 5. Автоматизация решает проблему с нехваткой ресурсов.

Миф 6. Автоматизация позволяет найти больше ошибок.

Миф 7. Автоматизация уменьшает количество человеческих ошибок.

Миф 8. Чем больше автотестов, тем лучше. "

3 самых важных вопроса по автоматизации

Попытаемся ответить на следующие вопросы:

1. Что автоматизируем?

2. Как автоматизируем?

3. Почему автоматизируем? (или как определить стоит/не стоит автоматизировать)

Вопрос 1: Что мы автоматизируем?

Что: V модель разработки и тестирования ПО

Задачи которые могут быть решены автоматизацией:

1.Тестирование производительности

2.Регрессионное тестирование

3.Конфигурационное тестирование

4.Тестирование нового функционала (функциональное тестирование)

5.Тестирование инсталляций и т.п.

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

Парочка риторических вопросов:

1. Сколько времени нужно, чтобы написать скрипт который сможет оттестировать интерфейс?

2. А сколько времени займет тестировщику оценить "красоту" интерфейса?

И еще парочка:

1.А сколько времени займет автоматизировать сложную бизнес логику, где проверка результата потребует создания сложных алгоритмов?

2.А кто будет тестировать новую функциональность которую нужно быстро отдать заказчику?

GUI автоматизация - Что автоматизируем?

Мой список приоритетов по автоматизации (по критерию полученного выигрыша в трудоемкости):

•Рутинные операции, такие как переборы данных (формы с большим кол-вом вводимых полей. Автоматизировать заполнение полей различными данными и их проверку после сохранения)

•Проверка данных, требующих точных математических расчетов

•Труднодоступные места в системе (бэкенд процессы, логирование файлов, запись в БД)

•Валидационные сообщения (Автоматизировать заполнение полей не корректными данными и проверку на появление той или иной валидации)

•Длинные end-to-end сценарии или workflows

•Проверка правильности поиска данных

GUI автоматизация - Что не автоматизируем

Что не стоит автоматизировать:

1. Тесты требующие сложной алгоритмизации проверки;

2. Тесты для нестандартной конфигурации стенда, которую нужно менять для разных тестов;

3. При проблемах с интеграцией со сторонним ПО, которое не доступно. и т.д

Но в любом случае, принимать решение об автоматизации/не автоматизации теста нужно на основе понимания экономической целесообразности!

Выводы

1.Автоматизировать можно на любом уровне тестирования и практически любого процесса.

2.Ошибки более низкого уровня мультиплицируются в более высоком уровне. Поэтому автоматизация должна идти от более низкого уровня к более высокому (по V модели).

Вопрос 2: Как мы автоматизируем?

Когда стоит заниматься автоматизацией

Критерии в порядке убывания:

•Экономическая целесообразность

•Наличие организованного процесса тестирования

•Высокие критерии качества и надежности

•Длительность проекта

•Желание и возможность

•Наличие квалифицированных автоматизаторов

•Требование заказчика.

Идеологическая проблема автоматизации

1. Обычный интегрированный процесс разработки

2. Процесс разработки при автоматизации

Имеем - для тестирования нового функционала автоматизация плохо подходит. Выход - ручное тестирование.

Идеологическия проблема автоматизиции (2)

1.Скрипты могут разрабатываться параллельно разработке. В некоторые технологии разработки это позволяют (например QTP и SAP).

2.Автоматизация тестирования нового функционала имеет смысл если скрипты разрабатываются параллельно разработке.

1.Для быстрого отладочного тестирования нового функционала автоматические тесты плохо подходят.

2.Работающая стратегия: Новый функционал тестируем вручную и отдаем в автоматизацию.

Подготовка к автоматизации

Требования перед началом работ:

1. HP: "Приложение должно быть стабильно". В ручную?!

2. Подготовлены тест кейсы.

3. Тест кейсы должны быть приведены к возможностям автоматизации.

Работы по автоматизации

Автоматизация это разработка!

Организация работ должна быть похожа на разработку кода:

1.Подготовлены требования (тест кейсы)

2.Оценена трудоемкость + высчитан ROI

3.Разработан план работ

4.Собраны необходимые ресурсы

5.Проведена работа по автоматизация с контролем прогресса

6.Оценен полученный результат, чтобы понять реальные затраты и прибыль

Выводы

1. Автоматизировать нужно стабильные билды

2. Тест кейсы для автоматизации тестирования - это требования для разработки. Автоматизация должна основываться на хорошо документированных тест-кейсах.

3. Автоматизация тестирования должно быть организовано как обычная разработка ПО с разработкой требований, оценкой трудоемкости, планированием, точками проверки и т.д.

4. Нужно измерять на регулярной основе сколько ресурсов было затрачено на автоматизацию каждого теста и сколько было на этом сэкономлено.

5. Перед началом работ по автоматизации нужно посчитать ROI/

Вопрос 3: Сколько стоит автоматизация?

Сколько стоит автоматизация?

Hewlett-Packard : "Автоматизация становится экономически оправданной только после 3-6 прогонов".

Расчет стоимости ведем в два этапа:

1. Отбираем тесты которые подходят для автоматизации;
2. Считаем ROI (Return on Investment.

Шаг 1: Отбираем тесты для автоматизации

Сложность автоматизации Невозможно 0 баллов Тяжело 1 балл Например три и более прилож должны тестироваться Средняя 2 балла Например нужна валидация матем занчений Легко 3 балла Например использовать R&P
Экономия времени Маленькая 1 балл вручную меньше 15 мин Средняя 2 балла Вручную от 15 до 60 минут Большая 3 балла Вручную больше 60 минут
Частота использования Редкая 1 балл Не регулярный тест в любом тест цикле Средняя 2 балла Регулярный тест в хотя бы в одном цикле тестирования Высокая 3 балла Регулярный тест во многих циклах тестирования

Шаг 1: Отбираем тесты

1. Оцениваем баллы для каждого теста по формуле:

СЛОЖНОСТЬ + ЭКОНОМИЯ + ЧАСТОТА

Уже на этом этапе можно начинать создавать стратегию автоматизации (но только если есть принципиальное решение об автоматизации, иначе идем на следующий шаг)

Примеры стратегий:

Стратегия 1 Автоматизируем только те тесты, которые набрали 9 баллов .

Стратегия 2. Автоматизируем 100% тестов с 8, и 9 баллами и 50% с 7 баллами.

Шаг 2: Расчет ROI

ROI - Return on Investment ROI = (Прибыль - Расходы)/Расходы

ROI должен быть положительным и чем больше тем лучше.

Для каждого теста считаем ROI:

Прибыль = Время сэкономленное * Стоимость ручного тестиров *Кол-во прогонов тестов

Расходы = Стоимость SW&HW + Стоимость автоматизации +Стоимость поддержки

Расчет делается для различного количества прогонов тестов - получаем количество прогонов, когда ходимо для ROI>0

Посчитать можно как для каждого теста индивидуально, так и для всей автоматизации в целом.

 

А что будет если мы посчитаем ROI автоматизации?

ROI автоматизации в целом очень низкое - 1-2% от бюджета организации в лучшем случае.

Выводы:

•Существует множество способов повышения эффективности разработки ПО помимо GUI автоматизации.

•Из автоматизации нельзя делать "священную корову". Посчитайте ROI вначале перед тем как начать изменения.

Почитайте блог Сергея Мартыненко http://blog.shumoos.com/archives/138

Выводы

1.Ручное и автоматическое тестирование это взаимодополняющие технологии.

2.Критерием использования автоматизации является ROI

3.Перед автоматизацией нужно построить процесс тестирования продукта в целом - автоматизация это лишь часть процесса.

4.Автоматизация требует вложений, но можно получить более высокое качество тестирования.

5.Автоматизация приносит максимальную пользу в длительных проектах.

6.СуществуОрганизация процесса управления требованиями будет более полезна для проекта, чем автоматизация


 

Комментарии  

 
+2 # Aliaksei Martyniuk 2009-07-06 16:05 К сожалению во многих случаях, вопрос принятия решения об автоматизации это не вопрос трезвых расчетов экономической целесообразност и. Скорее, такое решение принимается под напором энтузиастов, которым тесно в ручном тестировании. Бывают случаи, когда руководство пытается выставить автоматизацию, как некую КРУТОСТЬ команды, и пытаются ее внедрить нужно это или нет… Ответить | Ответить с цитатой | Цитировать
 
 
+2 # Alexey Bulat 2009-07-13 13:24 У вас есть несколько картинок - диаграмм. В которых фигурирует "Разработка скриптов". Именно об этом пункте я их хочу поговорить.

Есть некая проектная группа, которая разрабатывает софт по стандартной методике (возьмем ту что предложили Вы):
план-требования-дизайн-разработка-тестирование-релиз

Все красиво.

продолжение в следующем комменте…
Ответить | Ответить с цитатой | Цитировать
 
 
+3 # Alexey Bulat 2009-07-13 13:25 Теперь введем сюда разработку скриптов. основное слово здесь - РАЗРАБОТКА. Все знают, что те кто разрабатывают софт плохо справляются с его тестированием. Так вот, отталкиваясь от слова "разработка", я бы предложил для создания скриптов схему аналогичную разработке основного софта:
"план-требования-дизайн-разработка-тестирование-релиз". Иначе вы превращаете разработку скриптов в бесконечный проект по созданию, отладке, и выдаче скриптов, тестирование которых проходит в полевых условиях. И после ухода ключевых сотрудников просто напросто умирает из-за невозможности поддерживать скрипты в рабочем состоянии…

А теперь думайте сами, решайте сами согласно ли ваше руководство вести еще один параллельный проект по автоматизации тестирования? :)

Вот…
Ответить | Ответить с цитатой | Цитировать
 

Добавить комментарий

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


Защитный код
Обновить