636.73K
Категория: ПрограммированиеПрограммирование

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

1.

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

2.

Закрепление материалов лекции
«Жизненный цикл дефекта»

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

Эквивалентное разбиение
Equivalence Classes (Класс эквивалентности) – это
входные (а иногда и выходные) данные, которые
обрабатываются приложением одинаково или
обработка которых приводит к одному и тому же
результату.
Equivalence Class Testing – это техника тест
дизайна, способная сократить число тестов путем
выбора одного теста из эквивалентного набора.

10.

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

11.

Эквивалентное разбиение
Представим, что мы тестируем модуль для
отдела кадров, который определяет брать на
работу кандидата или нет, базируясь на возрасте
кандидата.
Условия такие:
0–15 : Не нанимать
16–18 : Можем нанять только на part time
19–55 : Можем нанять на full time
56–99 : Не нанимать
11

12.

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

13.

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

14.

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

15.

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

16.

Анализ граничных значений
Класс эквивалентности 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

17.

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

18.

Таблица принятия решений
Значения 1
Значения 2

Значения p
Сущность
Свойство-1
Свойство-2

Свойство-m
Действия
Действие-1
Действие-2

Действие-n
18

19.

Таблица принятия решений
Представим, что тестируем приложение для
страховой компании. Это приложение вычисляет
скидку на страхование автомобилей, в
зависимости от того, был ли водитель хорошим
студентом и состоит ли он в браке.
Значения 1
Значения 2
Значения 3
Значения 4
Состоит в
браке?
Yes
Yes
No
No
Хороший
студент?
Yes
No
Yes
No
Сущность
19

20.

Таблица принятия решений
В зависимости от комбинации значений наших
сущностей у нас вычисляется скидка - то есть
скидка - это результат взаимодействия
сущностей, то есть - это и есть наше действие.
Значения 1
Значения 2
Значения 3
Значения 4
Состоит в
браке?
Yes
Yes
No
No
Хороший
студент?
Yes
No
Yes
No
60
25
50
0
Сущность
Действия
Скидка ($)
20

21.

Таблица принятия решений
Делать тест-кейсы по Decision table очень легко создайте как минимум 1 тест кейс на каждое
правило. Вот так:
Test Case ID
Состоит в
браке?
Хороший
студент?
Ожидаемый
результат
TC1
Yes
Yes
скидка = 60
TC2
Yes
No
скидка = 25
TC3
No
Yes
скидка = 50
TC4
No
No
скидка = 0
21

22.

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

23.

Спасибо за внимание!
Жду Ваших вопросов
23
English     Русский Правила