Всепарное тестирование
В информатике или всепарное тестирование попарное тестирование — это комбинаторный метод тестирования программного обеспечения , который для каждой пары входных параметров системы (обычно программного обеспечения алгоритма ) проверяет все возможные дискретные комбинации этих параметров. Используя тщательно выбранные тестовые векторы , это можно сделать гораздо быстрее, чем исчерпывающий перебор всех комбинаций всех параметров путем «распараллеливания» тестов пар параметров. [1]
Обоснование
[ редактировать ]В большинстве случаев один входной параметр или взаимодействие между двумя параметрами являются причиной ошибок программы. [2] Ошибки, связанные с взаимодействием между тремя или более параметрами, становятся все менее распространенными. [3] а также становится все дороже в поиске — такое тестирование ограничивается тестированием всех возможных входных данных. [4] Таким образом, комбинаторный метод выбора тестовых примеров, такой как всепарное тестирование, является полезным компромиссом с точки зрения затрат и выгод, который позволяет значительно сократить количество тестовых примеров без радикального ущерба для функционального покрытия. [5]
Более строго, если мы предположим, что тестовый пример имеет параметры, указанные в наборе .Диапазон параметров определяется выражением .Давайте предположим, что .Заметим, что число всех возможных тестовых случаев равно . Если представить, что код имеет дело с условиями, принимающими только два параметра одновременно, это может уменьшить количество необходимых тестовых примеров. [ нужны разъяснения ]
Для демонстрации предположим, что существуют параметры X,Y,Z.Мы можем использовать предикат формы порядка 3, который принимает все 3 в качестве входных данных, или, скорее, три разных предиката порядка 2 в форме . можно записать в эквивалентной форме где запятая обозначает любую комбинацию. Если код написан как условия, принимающие «пары» параметров,тогда набор вариантов диапазонов может быть мультимножеством [ нужны разъяснения ] , поскольку может быть несколько параметров с одинаковым количеством вариантов.
является одним из максимумов мультимножества Количество парных тестовых случаев для этой тестовой функции будет следующим:
Следовательно, если и тогда количество тестов обычно равно O( nm ), где n и m — количество возможностей для каждого из двух параметров с наибольшим выбором, и оно может быть намного меньше, чем исчерпывающее число. ·
N-образное тестирование
[ редактировать ]N-образное тестирование можно рассматривать как обобщенную форму парного тестирования. [ нужна ссылка ]
Идея состоит в том, чтобы применить сортировку к множеству так что тоже заказывают.Пусть отсортированное множество представляет собой кортеж :-
Теперь мы можем взять набор и назовем это парным тестированием.Обобщая далее, мы можем взять множество и назовем это трехмерным тестированием.В конце концов, мы можем сказать Т-образное тестирование.
Тогда N-образное тестирование будет состоять из всех возможных комбинаций из приведенной выше формулы.
Пример
[ редактировать ]Учитывайте параметры, указанные в таблице ниже.
Имя параметра | Значение 1 | Значение 2 | Значение 3 | Значение 4 |
---|---|---|---|---|
Включено | Истинный | ЛОЖЬ | - | - |
Тип выбора | 1 | 2 | 3 | - |
Категория | а | б | с | д |
«Включено», «Тип выбора» и «Категория» имеют диапазон выбора 2, 3 и 4 соответственно. Исчерпывающий тест будет включать 24 теста (2 x 3 x 4). Умножение двух наибольших значений (3 и 4) показывает, что парные тесты будут включать 12 тестов. Ниже показаны попарные тестовые примеры, созданные с помощью инструмента Microsoft «pict».
Включено | Тип выбора | Категория |
---|---|---|
Истинный | 3 | а |
Истинный | 1 | д |
ЛОЖЬ | 1 | с |
ЛОЖЬ | 2 | д |
Истинный | 2 | с |
ЛОЖЬ | 2 | а |
ЛОЖЬ | 1 | а |
ЛОЖЬ | 3 | б |
Истинный | 2 | б |
Истинный | 3 | д |
ЛОЖЬ | 3 | с |
Истинный | 1 | б |
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Бергер, Берни (2003). «Эффективное тестирование со всеми парами» (PDF) . Корпорация TechWell . Проверено 21 ноября 2023 г.
- ^ Блэк, Рекс (2007). Прагматическое тестирование программного обеспечения: как стать эффективным и действенным специалистом по тестированию . Нью-Йорк: Уайли . п. 240. ИСБН 978-0-470-12790-2 .
- ^ Кун, Д. Ричард; Уоллес, Долорес Р.; Галло, Альберт М. младший (июнь 2004 г.). «Взаимодействие сбоев программного обеспечения и последствия для тестирования программного обеспечения» (PDF) . Транзакции IEEE по разработке программного обеспечения . 30 (6): 418–421. дои : 10.1109/TSE.2004.24 . S2CID 206778290 .
- ^ Кун, Д. Ричард; Какер, Рагху Н.; Ю Лей (октябрь 2010 г.). Практическое комбинаторное тестирование. СП 800-142 (Отчет). Национальный институт стандартов и технологий . дои : 10.6028/NIST.SP.800-142 .
- ^ IEEE 12. Материалы 5-й Международной конференции по тестированию и валидации программного обеспечения (ICST). Центр разработки программного обеспечения в Хагенберге. «Разработка тестов: извлеченные уроки и практические последствия» . 18 июля 2008 г., стр. 1–150. doi : 10.1109/IEEESTD.2008.4578383 . ISBN 978-0-7381-5746-7 .
{{cite book}}
:|journal=
игнорируется ( помогите )