Если вы искали парное тестирование (методику тестирования в паре с кем-то), тогда вам сюда.
Что такое попарное тестирование
Попарное тестирование — это одна из техник тест-дизайна, основанная на комбинаторике и разделению входных параметров «по парам» (почему и называется pairwise testing). Проводится комбинирование вариантов и подбор нужных, то есть оцениваются все возможные комбинации (сочетания) входных переменных, и из них выбираются только нужные (значимые). Техника основана на том, что 99,9…% дефектов возникают при взаимодействии не более двух факторов одновременно.
Преимущество техники состоит в экономии времени и усилий, поскольку так называемый «полный исчерпывающий подход» (exhaustive), когда вручную (или даже автоматически) тестируются абсолютно все сочетания параметров, в 99% случаев оказывается избыточным.
Не путать с «парным тестированием» (pair testing), методом командной работы в ИТ, когда создаются пары из тестировщика и другого тестировщика/разработчика/бизнес-аналитика для работы над участком проекта.
Матан
Если нужно разобраться более фундаментально, на помощь придет «матан», а именно такой раздел математики как комбинаторика: попарное тестирование является одним из частных случаев так называемого «тестирования N пар», или ортогональных матриц (подробнее по ссылке).
Быстрый пример
QA-команде передали приложение, в которое пользователь должен вводить свои значения. Всего 10 полей ввода, может быть по 10 вариантов в каждом. Получается всего 10х10=100 комбинаций нужно будет протестировать, если пойти по ошибочному пути «исчерпывающего тестирования».
Или, например, есть простое приложение, в которое ввод подается выбором значений из таких объектов ввода: выпадающего списка (с числами от 0 до 9), чекбокса, радиокнопки, текстового поля, и кнопки ОК. Текстовое поле принимает только числа от 0 до 100. Получаются варианты следующие:
Список: 0,1,2,3,4,5,6,7,8,9
Чекбокс: Отмечен / нет
Радиокнопка: Выбрана / не выбрана
Текстовое поле: числа 0…100
Сколько же тест-кейсов нужно создать? Невероятно много. Исчерпывающее тестирование такого приложения предполагает (умножаем все количества вариантов) 10*2*2*100 = 4000 тест-кейсов. Если же к этому добавить «негативные варианты» (то есть с вводом заведомо некорректных значений, а так обязательно случается в реальном мире), то количество будет «сильно выше» 4000.
Как же сократить это количество, упрощая себе задачу? То есть, в чем заключается суть попарного тестирования?
Во первых: что здесь можно сократить? Нельзя — варианты радиокнопки и чекбокса, они всегда будут иметь только возможных 2 значения. С текстовым полем можно ограничиться тремя числами: валидное целое, невалидное целое, буква или спецсимвол. Со списком: здесь предположим, для упрощения, что значение будет или 0, или “любое другое кроме 0”, то есть получается только 2 варианта, «0» и «другое». Считаем количество вариантов (тест-кейсов) теперь: 2*2*2*3 = всего 24. То есть, при «обычном» подходе у нас 24 тест-кейса, что уже неплохо.
Идем дальше по пути сокращения:
- Упорядочиваем объекты ввода так, чтобы объект ввода с самым большим количеством вариантов шел первым, и т.п.
- Делаем таблицу. Список у нас будет принимать 2 значения.
- Следующая колонка — чекбокс, тоже 2 значения.
- Проверяем, что у нас «покрыты» все комбинации списка и чекбокса
- То же делаем с радиокнопкой (2 значения)
- Проверяем, что все пары «покрыты».
Текстовое поле | Выпадающий список | Чекбокс | Радиокнопка |
---|---|---|---|
Валидное целое | 0 | Отмечен | Включена |
Валидное целое | “Другое значение” (не 0) | Не отмечен | Выключена |
Невалидное целое | 0 | Отмечен | Включена |
Невалидное целое | “Другое значение” | Не отмечен | Выключена |
Буква | 0 | Отмечен | Включена |
Буква | “Другое значение” | Не отмечен | Выключена |
Таким образом, пользуясь техникой попарного тестирования, сократили количество тест-кейсов сначала с 4000 до 24, затем до 6 как в таблице, что уже вполне посильно. И при этом надежность такого метода вполне нормальная.
Полезности метода
- Уменьшает количество тест-кейсов
- Позволяет быстро повысить тестовое покрытие
- Достаточно эффективно повышает % найденных багов
- Ускоряет создание и выполнение тест-кейсов
- Снижает издержки проекта
Недостатки
- Не работает с некоторыми типами переменных
- Нужен опыт в определении комбинаций
- Трудоемкость
Инструменты
Поскольку методика по своей сути рутинная, трудоемкая, требует опыта, внимательности и усидчивости, для быстрого создания тест-кейсов добрые люди давно придумали множество онлайн-инструментов, их список на сайте https://www.pairwise.org/tools.html, там же и рейтинг лучших инструментов «под задачу». Если нужно «здесь и сейчас», то вот ссылка на инструмент https://pairwise.teremokgames.com с интуитивным интерфейсом.
***