Вы находитесь на странице: 1из 23

Техники тест

дизайна
Закрепление материалов лекции
«Жизненный цикл дефекта»
Содержание:
• Что такое тест дизайн?
• Техника эквивалентного разбиения
• Техника анализа граничных
значений
• Таблица принятия решений

3
Что такое тест дизайн?

• Тест дизайн - это этап процесса


тестирования ПО, на котором
проектируются и создаются тестовые
случаи (тест кейсы), в соответствии с
определёнными ранее критериями
качества и целями тестирования.
• Это разработка или придумывание
тестов.
Что такое тест дизайн?
Что такое тест дизайн?

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


• Придумать тесты, которые обнаружат
наиболее серьезные ошибки продукта.
• Минимизировать количество тестов,
необходимых для нахождения большинства
серьезных ошибок.
Что такое тест дизайн?

Основные навыки
1. Умение разделять систему на
составляющие (делать
декомпозицию).
2. Умение собирать и анализировать
требования к продукту.
3. Умение расставлять приоритеты.
4. Умение формулировать свои
мысли (письменно и устно)
5. Знание техник тест дизайна.
6. Умение применять их на практике.
Что такое тест дизайн?

Техники тест дизайна:


1. Техника эквивалентного разбиения
(Equivalence Partitioning Testing)
2. Техника анализа граничных значений
(Boundary Value Testing)
3. Попарное тестирование (Pairwise testing)
4. Тестирование состояний и переходов
(State-Transition Testing)
5. Тестирование по таблице принятия решений
(Decision Table Testing)*
6. …
Эквивалентное разбиение

Equivalence Classes (Класс эквивалентности) –


это входные (а иногда и выходные) данные,
которые обрабатываются приложением
одинаково или обработка которых приводит к
одному и тому же результату.

Equivalence Class Testing – это техника тест


дизайна, способная сократить число тестов путем
выбора одного теста из эквивалентного набора.
Эквивалентное разбиение

Основные правила:
1. Определите классы эквивалентности.
2. На каждый класс эквивалентности
сделайте хотя бы 1 тест-кейс.
Эквивалентное разбиение

Представим, что мы тестируем модуль для


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

Условия такие:
0–15 : Не нанимать
16–18 : Можем нанять только на part time
19–55 : Можем нанять на full time
56–99 : Не нанимать
11
Эквивалентное разбиение

Выделим классы эквивалентности:


• Класс эквивалентности NO: 0-15.
• Класс эквивалентности PART: 16-18.
• Класс эквивалентности FULL: 19-55.
• Класс эквивалентности NO: 56-99.
• Класс эквивалентности NEG1: 0 -
бесконечность
• Класс эквивалентности NEG2: 100 +
бесконечность
• Класс эквивалентности NEG3: буквы
• Класс эквивалентности NEG4: спецсимволы
• И т.д.
Анализ граничных значений

Boundary Value Testing (техника анализа


граничных значений) наиболее известная и
простая техника тест дизайна, призванная
 помогать рядовому тестировщику выбирать
наиболее эффективные значения для
тестирования. Эта техника применима на всех
уровнях тестирования граничных значений.

13
Анализ граничных значений

Основные правила:
1. Определите диапазон значений (как
правило это класс эквивалентности).
2. Определите границы диапазонов.
3. На каждую границу создайте 3 тест
кейса:
• проверяющий значение границы;
• на значение ниже границы;
• на значение выше границы.
14
Анализ граничных значений

Представим, что мы тестируем модуль для


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

Условия такие:
0–15 : Не нанимать
16–18 : Можем нанять только на part time
19–55 : Можем нанять на full time
56–99 : Не нанимать
15
Анализ граничных значений

• Класс эквивалентности NO: 0-15.


• Класс эквивалентности PART: 16-18.
• Класс эквивалентности FULL: 19-55.
• Класс эквивалентности NO: 56-99.
• Класс эквивалентности NEG1: -100
• Класс эквивалентности NEG2: 500
Значения, на которые мы должны составить тест кейсы:
• {-1, 0, 1},
• {14, 15, 16},
• {17, 18, 19},
• {18, 19, 20},
• {54, 55, 56},
• {55, 56, 57},
• {98, 99, 100}
16
Таблица принятия решений

Таблица принятия решений (decision table) –


великолепный инструмент для упорядочения
сложных бизнес требований, которые должны
быть реализованы в продукте. В таблицах
решений представлен набор условий,
одновременное выполнение которых должно
привести к определенному действию. 

17
Таблица принятия решений

Значения 1 Значения 2 … Значения p

Сущность

Свойство-1

Свойство-2

Свойство-m

Действия

Действие-1

Действие-2


18
Действие-n
Таблица принятия решений

Представим, что тестируем приложение для


страховой компании. Это приложение
вычисляет скидку на страхование автомобилей,
в зависимости от того, был ли водитель
хорошим студентом и состоит ли он в браке.
Значения 1 Значения 2 Значения 3 Значения 4

Сущность

Состоит в Yes Yes No No


браке?
Хороший Yes No Yes No
студент?
19
Таблица принятия решений

В зависимости от комбинации значений наших


сущностей у нас вычисляется скидка - то есть
скидка - это результат взаимодействия
сущностей, то есть - это и есть наше действие.
Значения 1 Значения 2 Значения 3 Значения 4

Сущность

Состоит в Yes Yes No No


браке?
Хороший Yes No Yes No
студент?
Действия
Скидка ($) 60 25 50 0
20
Таблица принятия решений

Делать тест-кейсы по Decision table очень легко


- создайте как минимум 1 тест кейс на каждое
правило. Вот так:

Test Case ID Состоит в Хороший Ожидаемый


браке? студент? результат
TC1 Yes Yes скидка = 60
TC2 Yes No скидка = 25
TC3 No Yes скидка = 50
TC4 No No скидка = 0

21
Таблица принятия решений

Пример: есть форум, в котором можно оставлять


сообщения. Если пользователь имеет права
админа, то сообщение на форум будет
отображаться сразу. Если нет – сообщение не
будет сразу отображаться (уходит модератору).
Кроме этого есть чекбокс «Сохранить», которое
будет сохранять сообщение в личный кабинет.
Если пользователь не залогинен на форуме, то при
отправке сообщения его будет перенаправлять на
страницу логина.

Задача: составить тест кейсы на основе таблицы


принятия решений
22
Спасибо за внимание!
Жду Ваших вопросов

23

Вам также может понравиться