Тест-дизайн "в цикле"

24
Александр Федоров software-testing.ru

description

В преддверии тренинга Тест-дизайн и все все все, который пройдет этой осенью в четырех городах (24-25 сентября в Харькове; 15-16 октября в Нижнем Новгороде; 29-30 октября в Москве; 18-19 ноября в Самаре) Александр Федоров решил лучше познакомиться со своей аудиторией и провести бесплатный вебинар Тест-дизайн «в цикле». Любые процессы цикличны по своей природе, и разработка тестов не исключение. Тест-кейсы придумываются, создаются и используются на продукте и иногда в его последующих версиях. На разных этапах разработки к тестированию и тест-дизайну выдвигаются разные требования, которые мы рассмотрим в рамках вебинара. Особенности тест-дизайн при итерационной разработке Польза и спорная эффективность автоматизации тестирования Наследование тест-кейсов новыми и «родственными» версиями продукта Поддержание тест-кейсов в актуальном состоянии на разных этапах жизненного цикла продукта

Transcript of Тест-дизайн "в цикле"

Page 1: Тест-дизайн "в цикле"

Александр Федоровsoftware-testing.ru

Page 2: Тест-дизайн "в цикле"

Что нас ждет

Особенности тест-дизайн при итерационной разработке

Польза и спорная эффективность автоматизации тестирования

Наследование тест-кейсов новыми и «родственными» версиями продукта

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

Продолжительность 1 астрономический часВопросы задаем по ходу

Page 3: Тест-дизайн "в цикле"

Анализ и проектирование

Реализация

Тестирование

Эволюция

Требования

Планирование

Внедрение

Page 4: Тест-дизайн "в цикле"

Итерационная разработкаИтерация 1Требования

+анализ

Разработка

Тестирование

Итерация 2

Разработка

Тестирование

ВРЕМЯ

Требования +анализ

Page 5: Тест-дизайн "в цикле"

Тест-дизайн при итеративности

Итерация 1Требования +анализ

Разработка

Тестирование

Итерация 2

Разработка

Тестирование

Требования +анализ

Тест-дизайн

Тест-дизайн

Page 6: Тест-дизайн "в цикле"

Доля эксплоративного тестирования в рамках

итерацииИтерация

Скриптовое тестирование

Эксплоративное тестирование

ВРЕМЯ

Page 7: Тест-дизайн "в цикле"

Тенденция изменения доли эксплоративного

тестированияИтерация

1

Дол

я э

ксп

лорати

вн

ого

тест

ирован

ия

Итерация 2

Дол

я

эксп

лорати

вн

ог

о т

ест

ирован

ия

Итерация 3

Доля эксплоративного тестирования

Итерация 4

Дол

я

эксп

лорати

вн

ог

о т

ест

ирован

ия

Итерация 5

Дол

я э

ксп

лорати

вн

ого

тест

ирован

ия

Page 8: Тест-дизайн "в цикле"

Итерация 4

Итерация 2

Итерация 3

Общее число тестов

Итерация 1

Page 9: Тест-дизайн "в цикле"

Изменение тестовых наборов при

итеративности: регресс

Итерация 1

Набор 2 Набор 3Набор 1

Итерация 2 (добавлен новый функционал)

Набор 2 Набор 3Набор 1 Набор 4

Page 10: Тест-дизайн "в цикле"

Изменение тестовых наборов при итеративности: верификация билда (BVT)

Итерация 1

Тест 2 Тест 3Тест 1

Итерация 2 (изменение компонента)

Тест 2 Тест 3Тест 1 Тест 4

Итерация 2 (добавление компонента)

Тест 2 Тест 3 Тест 4 Тест 5

Page 11: Тест-дизайн "в цикле"

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

разработкеРекомендовано к автоматизации вне зависимости от итеративности:

• Верификация билда• Регрессионное тестирование• Нагрузочное тестирование• Особое внимание на повторяющиеся операции

Особенности итеративности:• Еще больше внимания регрессионному

тестированию• Прицел на операции будущих итераций

Page 12: Тест-дизайн "в цикле"

Поддержание эффективности

тестового покрытияКритерий эффективности:

Отношение количества найденных багов к количеству пройденных тестов

Причины потери эффективности:• Стабилизация продукта• Эффект «пестицида»

Page 13: Тест-дизайн "в цикле"

РЕШЕНИЕ 2: Изменить тестовое покрытие

РЕШЕНИЕ 1: Изменить долю эксплоративного тестированияПРОБЛЕМА:

Тест-кейсы теряют эффективность

Page 14: Тест-дизайн "в цикле"

РЕШЕНИЕ 1: Изменить долю эксплоративного тестирования

Снижение доли

использования тест-кейсов

в пользу тестирования

методом свободного

поиска

Преимущества перехода к эксплоративному тестированию:

• не требует ресурсных затрат на изменение тестового покрытия

• иной путь выполнения того же самого теста• выполнение редких и нетривиальных проверок• «свежий взгляд» на тестовое покрытие

Page 15: Тест-дизайн "в цикле"

РЕШЕНИЕ 2: Изменить тестовое покрытие

Преимущества изменения тестового покрытия - сохранение всех преимуществ тест-кейсов:

• Возможность использования начинающими сотрудниками

• Инструмент обучения и хранилище инструкций• Облегчение заведения багов• Наследование опыта в тест-кейсах

Усложнение тестов путем добавления

дополнительных условий

или параметров

Page 16: Тест-дизайн "в цикле"

Повышение эффективности тестового покрытия

1. Аудит тестового покрытия2. Покрытие кода3. «Post mortem»:• Исследование багов• Анализ нахождения тестами багов:

метрика количество багов в единицу времени при скриптовом / эксплоративном тестировании

Page 17: Тест-дизайн "в цикле"

Аудит тестового покрытия

Page 18: Тест-дизайн "в цикле"

Исследование покрытия кода

Page 19: Тест-дизайн "в цикле"

Исследование багов

Выборка багов Регламентирование работ

Исправление тестов

Необходимо ограничить круг багов:

• по принадлежности к части функционала (например, наиболее приоритетный)

• По критичности найденной баги• использование флага «найдено по тест-кейсу» в

системе баг-трекинга

Page 20: Тест-дизайн "в цикле"

Реализация наследования

Обеспечение переноса тест-кейсов на новую версию

продукта

Требования к ведению тест-кейсов

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

Page 21: Тест-дизайн "в цикле"

Требования к ведению тест-кейсов

Чем выше детализация тест-кейсов – тем больше вероятность того, что потребуется их редактирование в новой версииПривязка к интерфейсу в тест-кейсах ведет к необходимости их редактирования

Можете ли вы себе позволить не детализировать тест-кейсы и не привязываться к интерфейсу?

Page 22: Тест-дизайн "в цикле"

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

Сравнивается функциональность версий продукта.

Вариант А: сопоставить чек-листы версий продукта

Вариант Б: сопоставить функциональные деревья версий продукта

Версия 1 Версия 2

Page 23: Тест-дизайн "в цикле"

ИТОГО

Итерационная разработка накладывает свой отпечаток на тестирование:

• Особый порядок использования видов тестирования

• Широкие возможности совершенствования тестового покрытия

• Дополнительное «ЗА» автоматизацию

Page 24: Тест-дизайн "в цикле"

Всем спасибо!Просьба ко всем участникам оставить свои отзывы:

• Высказаться сейчас• Прокомментировать в открытых источниках: на

форуме, в блогах и т. д.

Узнать подробнее о всех превратностях тест-дизайна можно на тренинге «Тест-дизайн и все-все-

все»

Расписание: 24-25 Сентября – Харьков15-16 Октября – Нижний Новгород29-30 Октября – Москва18-19 Ноября - Самара

software-testing.ru