codefest 2012. Зинченко Т. — Практики тест-дизайна: разделяй...
TRANSCRIPT
Практики тест-дизайна: эквивалентное разделение
Workshop
Основные техники тест-дизайна
• Equivalence Partitioning
• Boundary Value Analysis
• Cause/Effect• Error Guessing• Exhaustive Testing
Тестируемое приложение
http://www.russianpost.ru/autotarif/SelautotarifRus.aspx
Что мы делаем?
• Разбиение областей значений на подобласти
• Выбор конкретных значений из подобластей
Класс эквивалентности - это
множество, все элементы которого программа обрабатывает одинаково.
С чего начать?
• Определение требований (формализованных или нет)
• Определение характеристик параметра
• Выделение классов эквивалентности для каждой характеристики
Продолжаем тестирование!
Выделяем классы эквивалентности
Если сущность определена диапазоном значений, то для нее выделяется:
- сам диапазон;- значения слева от
диапазона;- значения справа от
диапазона.
Выделяем классы эквивалентности
Если сущность определена набором каких-либо данных, то выделяют:
- класс валидных данных;
- класс невалидных данных.
Выделяем классы эквивалентности
Если сущность определена каким-либо условием:
- класс, выполняющий условие;
- класс, не выполняющий условие.
Доразбиение классов эквивалентности
Подобласти значений выделяются:
- по очевидным различиям;
- по данным, которые чаще всего вводит пользователь;
- произвольно.
Еще виды классов эквивалентности
Линейные классы эквивалентности
Нелинейные классыэквивалентности
Истинные нелинейные классы
Ложные нелинейные классы
Что может пойти не так?
• Слишком много классов эквивалентности
• Слишком мало классов эквивалентности
• Неверные классы эквивалентности
Выбираем значения
• Случайным образом
• Пропорциональное разбиение
• Основываясь на рисках
• Анализ граничных значений
• Специальные значения
• Сочетание невалидных значений
Поиграем?
1) Придумать (или вспомнить) по одному слову на каждую букву алфавита (из пройденного материала)
2) За каждое слово: +1 балл
УРА!!
Вопросы?Пожелания?Предложения?