Лекция №2. Тест-дизайн

Содержание

Слайд 2

План лекции

Определения тест-дизайна и тест-анализа
Исследование продукта
Техники проектирования тестов
Техники проектирования тестовых данных

План лекции Определения тест-дизайна и тест-анализа Исследование продукта Техники проектирования тестов Техники проектирования тестовых данных

Слайд 3

Тест-анализ (что будем тестировать?)
- процесс анализа базиса тестирования ( то есть требований

Тест-анализ (что будем тестировать?) - процесс анализа базиса тестирования ( то есть
к продукту или системе) и определения целей тестирования

зачем создан продукт, кто и как им пользуется
как работает продукт
что нам необходимо тестировать
риски

Слайд 4

Тест- дизайн (как будем тестировать?)

Процесс проектирования и создания тест-кейсов (тестовых сценариев), в

Тест- дизайн (как будем тестировать?) Процесс проектирования и создания тест-кейсов (тестовых сценариев),
соответствии с определёнными ранее критериями качества и целями тестирования

Слайд 5

Тест-кейс

документ, описывающий последовательность действий, необходимых для

проверки функционала.

Тест-кейс = проверка

Тестирование добавления статьи в

Тест-кейс документ, описывающий последовательность действий, необходимых для проверки функционала. Тест-кейс = проверка
Избранное
Предварительные шаги:
Создать статью Article 1. Перевести в статус Опубликована.
Авторизоваться на портале
Шаги:
Открыть статью Article 1
Щелкнуть по иконке "Звездочка"
Ожидаемый результат:
На главной странице статья Article 1 отображается в разделе
"Избранные статьи”

Слайд 6

Процесс тестирования задачи

Процесс тестирования задачи

Слайд 8

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

Зачем исследовать?
Декомпозиция функционала
Оценка взаимосвязей
Планирование работ
Сбор статистики
Понимание продукта
Поиск потерянного

Исследование продукта Зачем исследовать? Декомпозиция функционала Оценка взаимосвязей Планирование работ Сбор статистики Понимание продукта Поиск потерянного

Слайд 9

Процесс декомпозиции

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

Процесс декомпозиции Сбор входящей информации спецификация, продукт, общение с пользователями, ПМ, разработчиком
регламенты
Наглядное представление информации
Поиск потерь

Слайд 10

Правила декомпозиции

На одном уровне декомпозиции находятся элементы, различающиеся по одному признаку
Удобно

Правила декомпозиции На одном уровне декомпозиции находятся элементы, различающиеся по одному признаку
выделять уровни по схеме:
Функция-Параметр-Значение
Нижний уровень декомпозиции = один тест-кейс
Баланс между полнотой и простотой описания системы
Расстановка приоритетов
Вычленяемые подсистемы в сумме должны составлять всю систему, при этом взаимно исключать друг друга

Слайд 11

Программы

https://www.xmind.net/ - Бесплатные майнд-карты
https://www.mindmeister.com/ru - Майнд-карты с более широким функционалом, в ограниченном

Программы https://www.xmind.net/ - Бесплатные майнд-карты https://www.mindmeister.com/ru - Майнд-карты с более широким функционалом,
формате можно работать бесплатно
https://miro.com/app/dashboard/ - Онлайн-доска

Слайд 12

Исследуем тестируемое ПО
Шаг 1 - Что делает наш продукт

Список действий

Исследуем тестируемое ПО Шаг 1 - Что делает наш продукт Список действий

Слайд 13

Исследуем тестируемое ПО
Шаг 2 - Какие параметры влияют на действия

Параметры действий

Исследуем тестируемое ПО Шаг 2 - Какие параметры влияют на действия Параметры действий

Слайд 14

Исследуем тестируемое ПО
Шаг 3 - Какие значения могут принимать параметры

Значение параметров действий

13

Исследуем тестируемое ПО Шаг 3 - Какие значения могут принимать параметры Значение параметров действий 13

Слайд 15

Цель тест-дизайна

Минимум тестов Максимум результата

Цель тест-дизайна Минимум тестов Максимум результата

Слайд 16

Тестирование по сценариям использования

Сценарий использования (use case) - последовательность действий пользователя и

Тестирование по сценариям использования Сценарий использования (use case) - последовательность действий пользователя
реакций системы на эти действия
Структура сценария:
Название
Цель
Действующие лица
Предусловия*
Постусловия*
Основной сценарий
Альтернативные сценарии*
*- необязательный

Слайд 17

Тестирование по сценариям использования

Тестирование по сценариям использования

Слайд 18

Тестирование по сценариям использования

Тестирование по сценариям использования

Слайд 19

Тестирование по сценариям использования

Тестирование по сценариям использования

Слайд 20

Тесты по сценариям использования

Преимущества
проверяют работоспособность основной функциональности
воспроизводят действия пользователя при работе с

Тесты по сценариям использования Преимущества проверяют работоспособность основной функциональности воспроизводят действия пользователя
системой
Ограничения
не проверяют подробно отдельные элементы интерфейса
не проверяют комбинации данных при заполнении форм
только позитивные сценарии

Слайд 21

Тестирование переходов между состояниями

техника тест-дизайна, основанная на анализе состояний системы и переходов

Тестирование переходов между состояниями техника тест-дизайна, основанная на анализе состояний системы и переходов между состояниями
между состояниями

Слайд 22

Тестирование переходов между состояниями

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

Тестирование переходов между состояниями Части диаграммы состояние переходы событие - пользователь что-то
на события
точка входа и точка выхода

Слайд 23

Тестирование переходов между состояниями

Бронирование билетов - https://kinoteatr.ru/

Тестирование переходов между состояниями Бронирование билетов - https://kinoteatr.ru/

Слайд 24

Таблица переходов

Таблица переходов

Слайд 25

Стратегии выбора тестов

использованы все состояния
произошли все события
пройдены пути от входы к выходу
заполнены

Стратегии выбора тестов использованы все состояния произошли все события пройдены пути от
все переходы
дополнительно
невалидные переходы
нестандартные переходы и последовательности

Слайд 26

Тестирование переходов между состояниями

Преимущества
Моделирование улучшает понимание системы
Хорошо демонстрирует пробелы в покрытии тестами,

Тестирование переходов между состояниями Преимущества Моделирование улучшает понимание системы Хорошо демонстрирует пробелы
так как на схеме наглядно отображаются непроверенные переходы и состояния системы
Ограничения
Требуется больше времени и навыков на составление схемы
Для больших и сложных по логике функциональностей потребуется много схем
Тяжело поддерживать в актуальном состоянии

Слайд 27

Проектирование тестовых данных

Проектирование тестовых данных

Слайд 28

Классы эквивалентности и граничные значения

Класс эквивалентности - это набор данных, обработка которых

Классы эквивалентности и граничные значения Класс эквивалентности - это набор данных, обработка
приводит к одному и тому же результату.
Эквивалентное разбиение - техника тест-дизайна, при которой входные значения разделяются на классы, эквивалентные по воздействию на систему.
для тестирования достаточно выбрать по одному представителю для каждого класса. Потому что, если один тест ловит ошибку, то и остальные тесты, содержащие данные из этого класса, ее обнаружат.

Слайд 29

Количество классов

слишком много классов - не уменьшаем время на тестирования слишком мало

Количество классов слишком много классов - не уменьшаем время на тестирования слишком
классов - увеличиваем риск пропустить ошибку

Слайд 30

Как разбить на классы эквивалентности

Если область определения параметра - диапазон, берется три

Как разбить на классы эквивалентности Если область определения параметра - диапазон, берется
класса
эквивалентности: невалидный промежуток слева от диапазона, сам диапазон, невалидный промежуток справа от диапазона
Если область определения - неупорядоченный набор данных, то берется два основных класса - валидные и невалидные значения, а дальше полученное разбиение можно дробить на более мелкие классы.

Слайд 31

Классы эквивалентности. Пример

Подсчет комиссии при отмене бронирования авиабилетов.
Комиссия зависит от времени до

Классы эквивалентности. Пример Подсчет комиссии при отмене бронирования авиабилетов. Комиссия зависит от
вылета, в которое совершена отмена:
За 5 суток до вылета комиссия составляет 0%
Меньше 5 суток, но больше 24 часов – 50% 
Меньше 24 часов, но до вылета – 75%
После вылета – 100%

Слайд 32

Классы эквивалентности

Выделяем классы:
1 класс: время до вылета > 5 суток
2 класс: 5

Классы эквивалентности Выделяем классы: 1 класс: время до вылета > 5 суток
суток ≥ время до вылета > 24 часа
3 класс: 24 часа ≥ время до вылета > 0 часов
4 класс: время до вылета ≤ 0 часов (вылет уже состоялся)

Слайд 33

Классы эквивалентности

Выберем представителя от каждого класса:
время до вылета = 10 суток (тест

Классы эквивалентности Выберем представителя от каждого класса: время до вылета = 10
из 1-го класса)
время до вылета = 3 суток (тест из 2-го класса)
время до вылета = 12 часов (тест из 3-го класса)
время до вылета = -30 мин (тест из 4-го класса)

Слайд 34

Классы эквивалентности. Анализ граничных значений

Протестируем значения на границах:
Отменим бронь за 5 суток

Классы эквивалентности. Анализ граничных значений Протестируем значения на границах: Отменим бронь за
+ 1 секунду до вылета - комиссия 0%.
Отменим бронь ровно за 5 суток до вылета - комиссия 50%.
Отменим бронь за 5 суток – 1 секунду до вылета - комиссия 50%.
Отменим бронь за 24 часа + 1 секунду до вылета - комиссия 50%.
Отменим бронь ровно за 24 часа до вылета – комиссия 75% 
Отменим бронь за 24 часа - 1 секунду до вылета - комиссия 75%.
Отменим бронь за 1 секунду до - комиссия 75%.
Отменим бронь ровно во время вылета - комиссия 100%.
Отменим бронь спустя 1 секунду после вылета - комиссия 100%.

Слайд 35

Классы эквивалентности. Анализ граничных значений

Классы эквивалентности. Анализ граничных значений

Слайд 36

Классы эквивалентности и граничные значения

Преимущества
меньше тестов
хорошее покрытие
Ограничения
Если группы немногочисленны или сфера связана

Классы эквивалентности и граничные значения Преимущества меньше тестов хорошее покрытие Ограничения Если
с риском для жизни людей -> лучше полный перебор

Слайд 37

Тестовая комбинаторика

Тестовая комбинаторика

Слайд 38

Тестовая комбинаторика

Позитивные и исследовательские значения параметров можно комбинировать
Негативные проверки: всегда отдельно
оптимизация

Тестовая комбинаторика Позитивные и исследовательские значения параметров можно комбинировать Негативные проверки: всегда
набора за счет классов эквивалентности и границ значений

Слайд 39

Полный перебор значений

Полный перебор значений

Слайд 40

Полный перебор значений

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

Полный перебор значений Максимальное покрытие Много времени на прохождение всех тестов Много
поддержку всех тестов
Количество тестов (перемножение количества значений всех параметров +
негативные проверки) 2*3*4*2*2 + 4 = 100

Слайд 41

Минимальное количество проверок

Минимальное количество проверок

Слайд 42

Минимальное количество проверок

минимум проверок: количество тестов = число вариантов у параметра с

Минимальное количество проверок минимум проверок: количество тестов = число вариантов у параметра
максимальным значением + негативные проверки= 4 + 4 = 8
Преимущества:
быстро
Недостатки:
сложно локализовывать ошибки

Слайд 43

Атомарные проверки

Атомарные проверки

Слайд 44

Атомарные проверки

легко локализовать
количество тестов = сумма значений - сумма параметров +1+негативные проверки

Атомарные проверки легко локализовать количество тестов = сумма значений - сумма параметров
= 13
Риски качества
Создание архива может не работать
Создание архива с длинным именем может не работать
Создание архива с длинным именем может не работать при сохранении на сетевой диск

Слайд 45

Попарное тестирование (pairwise)

метод генерации тестовых данных, основанный на том, что большинство
дефектов появляются

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

Слайд 46

Попарное тестирование (pairwise)

Перебор всех пар (~36)
Сложно локализуемое
Минимальные проверки – попарное тестирование –

Попарное тестирование (pairwise) Перебор всех пар (~36) Сложно локализуемое Минимальные проверки –
перемножение двух максимальных наборов значений

49

Слайд 47

Попарное тестирование. Инструменты

pICT
https://github.com/Microsoft/pict/blob/master/doc/pict.md
allpairs
http://www.satisfice.com/tools.shtml
PairwiseTool
https://pairwise.teremokgames.com/

Попарное тестирование. Инструменты pICT https://github.com/Microsoft/pict/blob/master/doc/pict.md allpairs http://www.satisfice.com/tools.shtml PairwiseTool https://pairwise.teremokgames.com/

Слайд 48

Хороший тестовый набор

Базовые проверки -> более сложные тесты -> тесты на исключительные

Хороший тестовый набор Базовые проверки -> более сложные тесты -> тесты на
ситуации
Не содержит дублирующих тестов
Гибок для модификации

Слайд 49

Итоги

53

Техники работают вместе

Итоги 53 Техники работают вместе

Слайд 50

1. Проведите анализ формы отправки письма почтового клиента gmail.com и оформите результат

1. Проведите анализ формы отправки письма почтового клиента gmail.com и оформите результат
исследования в виде майнд-карты или в табличном представлении.
P.S. Если захотите проанализировать что-то другое, а не форму отправки письма в gmail – Вэлком!
2. Выберите 3 наиболее важных параметра и для них подробно опишите все значения, необходимые для тестирования, воспользовавшись техниками генерации тестовых данных, изученных на лекции. бонусом будет, если воспользуетесь техникой pairwise.
Для остальных параметров значения можно описать по желанию
3. Объясните, почему выбранные параметры вы посчитали наиболее важными.

Домашнее задание. Срок 27.09.22

Слайд 51

Спасибо за внимание!

Спасибо за внимание!
Имя файла: Лекция-№2.-Тест-дизайн.pptx
Количество просмотров: 46
Количество скачиваний: 0