Методы тест-дизайна
роли в тест-дизайне
ЧТО тестировать? (определяет тест-аналитик)
КАК тестировать? (определяет тест-дизайнер)
Методы тест-дизайна
Эквивалентные значения
деление данных на области (классы) эквивалентности, которые обрабатываются схожим образом (позитивные и негативные)
Класс эквивалентности
набор данных, обработка которых приводит к одному и тому же результату
Граничные значения
метод эквивалентных значений для классов, состоящих из упорядоченных числовых значений (границы: максимальные и минимальные значения класса)
Пример:
есть поле с допустимым диапазоном значений ввода от 1 до 10
Вводить весь диапазон достаточно долгий процесс, приводящий к одному и тому же результату.
А, значит, процесс можно оптимизировать, сократив количество проверяемых значений.
Есть еще недопустимые значения (спецсимволы, отрицательные числа, буквы и т.п.), ввод которых тоже нужно проверить
Таким образом, можно выделить два класса эквивалентности:
1) допустимые значения: числа от 1 до 10
2) недопустимые значения: числа от -∞ до 0, от 11 до +∞, а также все остальные буквы и символы
Класс с недопустимыми значениями, в свою очередь, можно разбить на несколько:
1) от — ∞ до 0
2) от 11 до + ∞
3) специальные символы (# @ + — / _ : ; “ ‘ и т.д.)
4) буквы
Граничные значения здесь:
0, 1, 2 и 9, 10, 11
психология
квадрат Декарта
Таблица альтернатив (а что, если…)
методика тестирования системы при разных комбинациях на входе, и результатов на выходе
тест-кейс 1 | тест-кейс 2 | … | тест-кейс p | |
Входные данные | ||||
свойство 1 | ||||
свойство 2 | ||||
… | ||||
свойство m | ||||
Ожидаемый результат | ||||
действие 1 | ||||
действие 2 | ||||
… | ||||
действие n |
Совет:
Прежде, чем создавать таблицу, спросите себя:
— Что даст использование этой техники именно здесь?
— Как лучше применить технику?
— Какие условия выбрать и как правильно их скомбинировать?
— Всегда смотрите на картину в целом, и только потом в частности.
Самый главный и универсальный инструмент тестировщика — его мозг.
Таблица переходов
техника для визуализации ТЗ
State & Transition Diagram (S&T)
схема без описания
- S&T рисуется на объект! Если вы описываете разные странички GUI — это уже не S&T.
Объект — это практически всегда строка в базе данных, старайтесь абстрагироваться от интерфейса вообще, и представляйте те действия, которые вы могли бы делать с объектом прямыми запросами в базу. - Объект не может находиться в более чем одном состоянии одновременно.
- Чтобы обнаружить баги, нужно «перемножить» все возможные состояния на все возможные действия. Тогда вы увидите, какие из переходов невозможны.
стрелочки — готовые тест-кейсы!
такая схема позволяет сразу визуально оценить, какие переходы вообще возможны и что надо протестировать
пример
какой набор тестов проверяет ВСЕ допустимые переходы состояний с НАИМЕНЬШИМИ затратами?
ответ: SO-S1-S2-S4-S1-S4-S1-S2-S3-S1
Здесь затрагиваются все состояния и все переходы (7 переходов и 3 состояния (s1, s2, s3) из 5, на которые можно совершить по 2 перехода).
Тестирование с помощью вариантов использования
какая функциональность программы доступна каждой группе пользователей
Пример:
Закрытое сообщество. В нём мы можем встретить администратора, редактора, подписчика и желающего подписаться пользователя. Каждый из них имеет уникальный набор прав, которого нет у представителей других групп.
метод блок-схем
тестирование методом белого ящика
Метод блок-схем
основан на анализе исходного кода
Цикломатическая сложность
мера, которая дает представление о логической сложности программы
Томас Дж. Маккейб, 1976
• Цикломатическая сложность совпадает с количеством областей потокового графа
• Цикломатическая сложность V (G) потокового графа G определяется как V (G) = Ребра — Узлы + 2
• Цикломатическая сложность V (G) потокового графа G также определяется как V (G) = узлы предиката + 1
Из значения цикломатической сложности получаем количество независимых путей, что дает нам предельное значение для количества тестов, которые мы должны разработать.