В информатике , весь-пар тестирование или попарно тестирование является комбинаторным методом тестирования программного обеспечения , что для каждой пары входных параметров в систему ( Как правило, программное обеспечение алгоритм ), проверяет все возможные дискретные комбинации этих параметров. Используя тщательно подобранные тестовые векторы , это можно сделать намного быстрее, чем исчерпывающий поиск всех комбинаций всех параметров, путем «распараллеливания» тестов пар параметров.
Обоснование [ править ]
Наиболее распространенные ошибки в программе обычно вызываются либо одним входным параметром, либо взаимодействием между парами параметров. [1] Ошибки, связанные с взаимодействием между тремя или более параметрами, становятся все реже [2] и все более дорогостоящими для поиска - такое тестирование ограничивает тестирование всех возможных входных данных. [3] Таким образом, комбинаторный метод выбора тестовых примеров, таких как тестирование всех пар, является полезным компромиссом с точки зрения затрат и выгод, который позволяет значительно сократить количество тестовых примеров без значительного ущерба для функционального покрытия. [4]
Более строго, если мы предположим, что тестовый пример имеет параметры, заданные в наборе . Диапазон параметров представлен как . Предположим, что . Отметим, что количество всех возможных тестовых случаев равно a . Представление, что код имеет дело с условиями, принимающими только два параметра одновременно, может уменьшить количество необходимых тестовых примеров. [ требуется разъяснение ]
Для демонстрации предположим, что есть параметры X, Y, Z. Мы можем использовать предикат формы порядка 3, который принимает все 3 в качестве входных данных, или, скорее, три разных предиката формы порядка 2 . можно записать в эквивалентной форме, где запятая обозначает любую комбинацию. Если код написан как условия, принимающие «пары» параметров, то набор вариантов выбора диапазонов может быть мультимножеством [ требуется пояснение ] , потому что может быть несколько параметров, имеющих одинаковое количество вариантов.
является одним из максимальных значений мультимножества . Количество парных тестовых примеров для этой тестовой функции будет: -
Поэтому, если и тогда количество испытаний , как правило , O ( нм ), где п и т является числом возможностей для каждого из этих двух параметров с большинством вариантов, и это может быть довольно много меньше , чем исчерпывающий ·
N-мудрое тестирование [ править ]
N-образное тестирование можно рассматривать как обобщенную форму попарного тестирования. [ необходима цитата ]
Идея состоит в том, чтобы применить сортировку к набору, чтобы он тоже был упорядочен. Пусть отсортированный набор будет кортежем: -
Теперь мы можем взять набор и назвать его попарным тестированием. Обобщая далее, мы можем взять набор и назвать его трехуровневым тестированием. В конце концов, мы можем сказать « Т-образное тестирование».
Тогда N-мудрая проверка будет представлять собой все возможные комбинации из приведенной выше формулы.
Пример [ править ]
Учитывайте параметры, указанные в таблице ниже.
Имя параметра | Значение 1 | Значение 2 | Значение 3 | Значение 4 |
---|---|---|---|---|
Включено | Правда | Ложь | * | * |
Тип выбора | 1 | 2 | 3 | * |
Категория | а | б | c | d |
«Включено», «Тип выбора» и «Категория» имеют диапазон выбора 2, 3 и 4 соответственно. Исчерпывающий тест включает 24 теста (2 x 3 x 4). Умножение двух наибольших значений (3 и 4) показывает, что парные тесты будут включать 12 тестов. Ниже показаны парные тестовые примеры, созданные с помощью инструмента Microsoft «pict».
Включено | Тип выбора | Категория |
---|---|---|
Правда | 3 | а |
Правда | 1 | d |
Ложь | 1 | c |
Ложь | 2 | d |
Правда | 2 | c |
Ложь | 2 | а |
Ложь | 1 | а |
Ложь | 3 | б |
Правда | 2 | б |
Правда | 3 | d |
Ложь | 3 | c |
Правда | 1 | б |
См. Также [ править ]
Заметки [ править ]
- Перейти ↑ Black, Rex (2007). Прагматическое тестирование программного обеспечения: стать эффективным и действенным профессионалом в области тестирования . Нью-Йорк: Вили . п. 240. ISBN 978-0-470-12790-2.
- ^ Кун, Д. Ричард; Уоллес, Долорес Р .; Галло, Альберт М., младший (июнь 2004 г.). «Взаимодействие с ошибками программного обеспечения и их последствия для тестирования программного обеспечения» (PDF) . IEEE Transactions по разработке программного обеспечения . 30 (6): 418–421. DOI : 10.1109 / TSE.2004.24 .
- ^ Кун, Д. Ричард; Kacker, Raghu N .; Ю Лэй (октябрь 2010 г.). Практическое комбинаторное тестирование. СП 800-142 (Отчет). Национальный институт стандартов и технологий . DOI : 10.6028 / NIST.SP.800-142 .
- ^ IEEE 12. Труды 5-й Международной конференции по тестированию и проверке программного обеспечения (ICST). Центр компетенции в области программного обеспечения Хагенберг. «Тест - дизайн: уроки и практические последствия . IEEE Std 829-2008 18 июля, 2008. С. 1-150... Дои : 10,1109 / IEEESTD.2008.4578383 . ISBN 978-0-7381-5746-7.
Внешние ссылки [ править ]
- Парное тестирование
- Парное и обобщенное t-образное комбинаторное тестирование
- Парное тестирование в реальном мире: практическое расширение сценариев тестовых случаев