План урока
Определения
Определения
Тестовый набор
Тестовый набор
Тестовый набор
Определения
Комбинаторные техники
Минимальные проверки
Перебор значений
Атомарные проверки
Попарное тестирование
Методы попарного тестирования
Полный перебор
Практика: PICT
Синтаксис
Функции и опции PICT
Функции и опции PICT
Функции и опции PICT
Функции и опции PICT
Важно при применении Pairwise
Домашнее задание
Вопросы
3.87M
Категория: ИнформатикаИнформатика

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

1. План урока

1.
Что такое тестовая комбинаторика
2.
Как создать набор для тестирования
3.
Техники комбинаторного тестирования

2.

Тест-дизайн – это этап тестирования ПО, на котором проектируются и создаются тестовые
случаи (тест-кейсы) в соответствии с определёнными ранее критериями качества и целями
тестирования.
Создать
тест-кейсы,
обнаруживают самые
ошибки.
которые
критичные
Уменьшить число тест-кейсов, при
сохранении
полноты
тестового
покрытия.

3. Определения

Набор тест-кейсов (test case suite, test suite, test set) —
совокупность тест-кейсов, выбранных с некоторой общей целью
или по некоторому общему признаку.
Иногда в такой совокупности результаты завершения одного тесткейса становятся входным состоянием приложения для
следующего тест-кейса.
Набор тестов (test suite) - комплект тестовых наборов для
исследуемого компонента или системы, в котором обычно
постусловие одного теста используется в качестве предусловия
для последующего.

4. Определения

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

5.

6. Тестовый набор

1.
Определить перечень параметров
2.
Выписать
все
значения
для
каждого
параметра
3.
Составить таблицу с сочетанием всех
значений параметров

7. Тестовый набор


Фамилия
Имя
Отчество
1
Иванов
Иван
Иванович
2
123456
1234
12345678
3
123
123
123
4
<пусто>
<пусто>
<пусто>
5
!;%:?*
!(*?
(*?:%;№»

8. Тестовый набор


Фамилия
Имя
Отчество
1
Иванов
Иван
Иванович
2
Иванов
1234
<пусто>
3
!;%:?*
<пусто>
12345678
4
<пусто>
Иван
(*?:%;№»
5
Иванов
Иван
123

….
….
….

9. Определения

Комбинаторика - это подсчёт различных комбинаций, которые
можно составить из некоторого множества объектов или данных
Комбинаторное тестирование (combinatorial testing) – способ
выбрать подходящий набор комбинаций тестовых данных для
достижения установленного уровня тестового покрытия в случае,
когда проверка всех возможных наборов значений тестовых
данных невозможна за отведённое время

10. Комбинаторные техники

Минимальные проверки
Перебор значений
Атомарные проверки
Попарное тестирование

11.

12. Минимальные проверки


Инструмент
Толщина
Цвет 1
Цвет 2
1
Карандаш
1 пкс
Чёрный
Белый
2
Карандаш
2 пкс
Белый
Желтый
3
Кисть
1 пкс
Чёрный
Красный
4
Кисть
3 пкс
Белый
Голубой






Инструмент
Толщина
Цвет 1
Цвет 2
1
Карандаш
3 пкс
Черный
Голубой
2
Кисть
5 пкс
Красный
Желтый

13. Перебор значений


Инструмент
Толщина
Цвет 1
Цвет 2
1
Карандаш
1 пкс
Чёрный
Голубой
2
Карандаш
2 пкс
Чёрный
Голубой
3
Карандаш
3 пкс
Чёрный
Голубой
4
Карандаш
4 пкс
Чёрный
Голубой










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


Инструмент
Толщина
Цвет 1
Цвет 2
1
Карандаш
1 пкс
Чёрный
Голубой
2
Карандаш
2 пкс
Чёрный
Голубой
3
Карандаш
3 пкс
Чёрный
Голубой
4
Карандаш
4 пкс
Чёрный
Голубой
5
Карандаш
1 пкс
Белый
Голубой
6
Карандаш
1 пкс
Синий
Голубой
7
Карандаш
1 пкс
Красный
Голубой
8
Карандаш
1 пкс
Зелёный
Голубой





15. Попарное тестирование

Попарное тестирование (pairwise testing) — техника формирования наборов тестовых данных,
при которой каждое тестируемое значение каждого из проверяемых параметров хотя бы раз
сочетается с каждым из тестируемых значений всех остальных проверяемых параметров.
Попарное тестирование (pairwise testing) - разработка тестов методом черного ящика, в
которой тестовые сценарии разрабатываются таким образом, чтобы выполнить все
возможные отдельные комбинации каждой пары входных параметров.

16.

Суть проблемы:
1.Если мы попытаемся проверить все сочетания всех значений всех параметров для сложного
случая тестирования, мы получим количество тест-кейсов, превышающее все разумные
пределы.
2. Большинство дефектов возникает при комбинации 2-х параметров.

17. Методы попарного тестирования

на основе ортогональных массивов
на основе латинских квадратов
IPO (in parameter order) метод
на основе генетических алгоритмов
на основе рекурсивных алгоритмов

18.

19. Полный перебор

1 чек-бокс = 2 значения ON|OFF
2 чек-бокса = 4
3 чек-бокса = 8
4 чек-бокса = 16
5 чек-боксов = 32
10 чек-боксов = 1024
15 чек-боксов = 32 768
20 чек-боксов = 1 048 576

20.

21. Практика: PICT

(Pairwise Independent Combinatorial Testing)
Скачать PICT:
http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi
Альтернатива:
PICT online https://pairwise.yuuniworks.com/
PairwiseTool https://pairwise.teremokgames.com/

22.

Построение тестов с выводом в файл Excel:
pict model.txt > result.xls,
где model.txt – имя входного текстового файла (может быть другим),
result.xls – имя выходного Excel-файла (может быть другим).
Вывод в текстовый файл:
pict model.txt > result.txt

23. Синтаксис

Параметр 1: значение 1, значение 2, значение 3
Параметр 2: значение 1, значение 2, значение 3
Параметр 3: значение 1, значение 2, значение 3
….

24. Функции и опции PICT

Изменить порядок группировки:
опция /o:N, где
N - порядок (1, 2, 3...),
Nmax = количество параметров.
Отметить негативные значения:
поставить «~» перед значением.
Изменить «~» на другой символ можно с помощью опции \n:

25. Функции и опции PICT

Объединить параметры в подгруппы:
{ Request, Size, Color } @ 2
{ Usage rights, Type, Time } @ 3

26. Функции и опции PICT

Задать ограничения: Условные ограничения
Type: Primary, Logical, Single, Span, Stripe, Mirror, RAID-5
Size: 10, 100, 500, 1000, 5000, 10000, 40000
Format method: quick, slow
File system: FAT, FAT32, NTFS
Cluster size: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536
Compression: on, off
IF [File system] = "FAT" THEN [Size] <= 4096;
IF [File system] = "FAT32" THEN [Size] <= 32000;

27. Функции и опции PICT

Задать ограничения: Безусловные ограничения
OS_1: Win2000, WinXP
SKU_1: Professional, Server, Datacenter, WinPowered
LANG_1: EN, DE
OS_2: Win2000, WinXP
SKU_2: Professional, Server, Datacenter
LANG_2: EN, DE
[OS_1] <> [OS_2] and [SKU_1] <> [SKU_2] and [LANG_1] <> [LANG_2];

28. Важно при применении Pairwise

Хорошо масштабируется при увеличении параметров
Плохо масштабируется при увеличении количества значений

29. Домашнее задание

1.
Создайте тестовые наборы данных с использованием техники попарного
тестирования:
a. Пол (мужской/женский)
b. Возраст (моложе 25 лет, от 25 до 65 лет, старше 65 лет)
c. Наличие/отсутствие детей
2.
*Основываясь на интеллект-карте MS Paint из урока 1, выбрать домен для
тестирования. Для выбранного домена применить одну из техник тестовой комбинаторики,
рассматриваемых в данном уроке.
Например, берём домен «Редактирование. Копирование», техника «Перебор значений».

30. Вопросы

English     Русский Правила