ПОПАРНОЕ ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

PAIRWISE SOFTWARE TESTING
Шевчук В.И.
Цитировать:
Шевчук В.И. ПОПАРНОЕ ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ // Universum: технические науки : электрон. научн. журн. 2023. 7(112). URL: https://7universum.com/ru/tech/archive/item/15767 (дата обращения: 24.11.2024).
Прочитать статью:
DOI - 10.32743/UniTech.2023.112.7.15767

 

АННОТАЦИЯ

Цель данной статьи – рассмотреть попарное тестирование, как один из методов тестирования программного обеспечения, направленный на сокращение количества тестовых примеров, необходимых для охвата всех возможных комбинаций входных параметров и значений. Он может быть применен к различным типам программных систем, таким как веб-приложения, встроенные системы или графические пользовательские интерфейсы. В статье описывается процесс практического применения данного метода. В завершение делаются выводы о преимуществах и недостатках попарного тестирования при проектировании тестов.

ABSTRACT

The goal of this article is to consider pairwise testing as one of the software testing methods aimed at reducing the number of test cases needed to cover all possible combinations of input parameters and values. It can be applied to various types of software systems, such as web applications, embedded systems, or graphical user interfaces. The article describes the process of practical use of this method. In summary, conclusions are drawn about the advantages and disadvantages of pairwise testing in test design.

 

Ключевые слова: попарное тестирование, двухстороннее тестирование, комбинация, входные данные, матрица, базовый параметр.

Keywords: pairwise testing, two-way testing, combination, input data, matrix, basic parameter.

 

Введение

Тестирование программного обеспечения является важным видом деятельности при разработке и обслуживании программного обеспечения, поскольку оно помогает обеспечить качество и надежность программных продуктов. В тоже время оно является дорогостоящим и трудоемким процессом, особенно когда программная система имеет большое количество входных параметров и значений. Иногда тестирование всех этих комбинаций нецелесообразно, если не неосуществимо, в большинстве случаев.

Одним из способов сократить количество тестовых примеров является использование комбинаторных методов тестирования, которые направлены на то, чтобы охватить все возможные взаимодействия между подмножеством входных параметров и значений. Среди этих методов парное тестирование (также известное как двухстороннее тестирование или тестирование всех пар) является одним из наиболее популярных и широко используемых.

Практическое применение

Попарное тестирование – это метод, который генерирует тестовые наборы, охватывающие все возможные пары значений входных параметров, а не все возможные комбинации [1, с. 242]. Он основан на эмпирическом наблюдении, что большинство сбоев в программных системах вызваны взаимодействиями между двумя парами (факторами), а не взаимодействиями более высокого порядка [2, с. 94-96]. Пара – это комбинация двух значений входных параметров. Например, если система имеет 10 параметров, каждый из которых имеет 10 возможных значений, то вам потребуется 10 миллиардов тестовых примеров, чтобы охватить все пары значений. Для попарного тестирования требуется всего 90 тестовых примеров [3].

Чтобы сгенерировать оптимальный набор тестовых примеров с помощью попарного тестирования, необходимо определить входные параметры и их возможные значения для функциональности, которую мы хотим протестировать. Представим, что у нас есть следующие входные параметры: браузер (Chrome, Firefox, Safari), операционная система или ОС (Windows, Linux, Mac), архитектура (x64, x86, arm64), язык (русский, английский, немецкий). Создадим таблицу или матрицу с входными параметрами в виде столбцов и возможными значениями в виде строк (таблица 1).

Таблица 1.

Пример таблицы с попарными входными параметрами

Браузер

ОС

Архитектура

Язык

Chrome

Windows

x64

русский

Firefox

Linux

arm64

русский

 

Выберем один параметр в качестве базового и присвоим каждой строке уникальное значение. Например, если мы выберем “Браузер” в качестве базового параметра, мы можем присвоить значение “Chrome” строке 1, а “Firefox” строке 2. Для каждого оставшегося параметра выберем значение, которое еще не сопоставлено со значением базового параметра в той же строке. Например, для “OS” выберем “Windows” для строки 1 и “Linux” для строки 2, поскольку они еще не сопоставлены с “Chrome” и “Firefox” соответственно. Повторяем этот шаг для всех остальных параметров до тех пор, пока не будут охвачены все пары значений. Итоговая таблица или матрица представляет собой оптимальный набор тестовых примеров, охватывающих все пары значений входных параметров (таблица 2).

Таблица 2.

Все пары значений

Браузер

ОС

Архитектура

Язык

Chrome

Windows

x64

русский

Chrome

Linux

x86

английский

Chrome

Mac

arm64

немецкий

Firefox

Linux

arm64

русский

Firefox

Mac

x64

английский

Firefox

Windows

x86

немецкий

Safari

Mac

x86

русский

Safari

Windows

arm64

английский

Safari

Linux

x64

немецкий

 

Таким образом, данный метод позволяет достичь высокого уровня обнаружения дефектов при относительно небольшом количестве тестовых примеров [4]. Попарное тестирование может быть применено к различным типам программных систем, таким как веб-приложения, встроенные системы или графические пользовательские интерфейсы, а также может сочетаться с другими методами тестирования, такими как случайное тестирование или тестирование на основе моделей.

Заключение

Попарное тестирование программного обеспечения – это метод, направленный на сокращение количества тестовых примеров, необходимых для охвата всех возможных комбинаций входных параметров и значений. Он основан на предположении, что большинство неисправностей вызвано взаимодействиями между двумя факторами. Наряду с сокращением количества тестовых примеров и времени выполнения, к преимуществам данного метода можно отнести увеличение охвата тестированием и коэффициента обнаружения дефектов. К недостаткам попарного тестирования относят сложность в составлении при возрастающем количестве входных данных, а также возможную неэффективность, если значения входных данных являются неподходящими или нерелевантными, либо пропускаются некоторые высоковероятные или критические комбинации.

 

Список литературы:

  1. Куликов, С. Тестирование программного обеспечения. – 2022. – С. 242-245
  2. Kuhn, D. R. “Combinatorial Software Testing”, Computer (Long. Beach. Calif). 42(8). – 2009. – С. 94-96.
  3. Kuhn, D.R. "Practical Combinatorial Testing: Beyond Pairwise," ITL Bulletin October. – 2010.
  4. software-testing.ru [Электронный ресурс]. – Режим доступа: URL: https://software-testing.ru/library/testing/test-analysis/1304-pairing (27.05.2023).
Информация об авторах

инженер по контролю качества программного обеспечения международная компания-разработчик программного обеспечения, «Yucca Digital», Беларусь, г. Витебск

Software quality assurance engineer, international software company «Yucca Digital», Belarus, Vitebsk

Журнал зарегистрирован Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), регистрационный номер ЭЛ №ФС77-54434 от 17.06.2013
Учредитель журнала - ООО «МЦНО»
Главный редактор - Ахметов Сайранбек Махсутович.
Top