Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Попарное тестирование all-pairs testing pairwise testing кратко

Лекция



попарное тестирование или попарный анализ (англ. pairwise testing) — это методика систематической комбинаторики тестов , обеспечивающая эффективное снижение количества тестов для проверки реакции системы на возможные комбинации значений ее входных параметров. Методика основана на статистическом предположении, что достаточно проверить все возможные значения пар входных параметров, чтобы выявить большинство дефектов системы зависимых от входных параметров. Для попарного тестирования используются алгоритмы, основанные на построении ортогональных массивов или на алгоритме всех пар (англ. All-Pairs). Они основываются на теоретических исследованиях в области комбинаторных алгоритмов, алгоритмов дискретной математики, в частности, латинских квадратов.Это метод, который позволяет уменьшить количество тестовых сценариев при проверке взаимодействия функций или параметров. Когда в системе много параметров, проверять все возможные комбинации слишком долго и дорого. Парное тестирование позволяет протестировать наиболее вероятные ошибки, используя минимум тест-кейсов.

Попарное тестирование  all-pairs testing  pairwise testing

Пример

Допустим, у нас есть форма регистрации, где нужно ввести:

  • Браузер: Chrome, Firefox, Edge
  • Операционная система: Windows, macOS, Linux
  • Тип пользователя: Новый, Зарегистрированный

Если тестировать ВСЕ возможные комбинации, получится:
3 × 3 × 2 = 18 тестов

Парное тестирование сокращает количество тестов

Оно учитывает, что многие баги возникают не из-за всех параметров вместе, а из-за их отдельных сочетаний. Достаточно убедиться, что каждая пара параметров проверяется хотя бы раз.

Пример набора тестов по Pairwise Testing:

Тест Браузер ОС Тип пользователя
1 Chrome Windows Новый
2 Chrome macOS Зарегистрированный
3 Chrome Linux Новый
4 Firefox Windows Зарегистрированный
5 Firefox macOS Новый
6 Firefox Linux Зарегистрированный
7 Edge Windows Новый
8 Edge macOS Зарегистрированный
9 Edge Linux Новый

Теперь каждая ОС тестируется с каждым браузером хотя бы раз, но тестов всего 9 вместо 18!

Ортогональные массивы

Ортогональный массив (ортогональная таблица) — это таблица со следующими свойствами:

  • каждому входному параметру системы соответствует столбец таблицы,
  • любые два столбца содержат все возможные комбинации значений этих параметров только один раз

Ортогональный массив — это упорядоченная матрица чисел или символов, используемая для систематического анализа влияния нескольких факторов в экспериментах. Этот метод особенно полезен в планировании экспериментов (DOE), так как помогает исследователям выявлять взаимосвязи между переменными. Основной особенностью ортогонального массива является равномерное распределение комбинаций факторов, что обеспечивает сбалансированное представление всех возможных вариантов.

В смешанных ортогональных массивах параметры могут иметь разное количество значений.

Ортогональные массивы являются основой статистического планирования тестов методом Тагучи (англ. Taguchi methods, япон.

Тестирование с использованием ортогональных массивов

Для тестирования с использованием ортогональных массивов выполняют следующие шаги:

· определяют переменные для входных данных в комбинациях. К примеру, это могут быть названия опций, параметров настроек, допустимых конфигураций оборудования и т.д. П.

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

· строят ортогональный массив, который имеет столбец для каждой переменной. Обычно для этого используется любая программа, например STATISTICA.

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

All-Pairs алгоритм

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

Тестирование с использованием All-Pairs

Для тестирования с использованием All-Pairs алгоритма выполняют следующие шаги:

  • аналогично, как для ортогональных массивов, определяют таблицу всех переменных и их значений
  • оставляют в таблице только все возможные уникальные комбинации пар переменных значений

Описание метода

Предположим, что необходимо протестировать систему с огромным числом характеристик, влияющих на ее работу. Примером такой задачи может быть проверка работы программного обеспечения на компьютерах различных конфигураций, например с разными операционными системами, или работа веб-страниц в разных браузерах. Чтобы проверить все возможные комбинации 10 входных параметров, каждый из 10 значения нужно выполнить Попарное тестирование  all-pairs testing  pairwise testingтестов, что потребует значительных затрат времени и других ресурсов. Учитывая количество и критичность найденных дефектов можно используя метод парного тестирования и реализовать проверку достаточного качества используя всего 177 тестов.

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

Если нет необходимости проверять все пары, возможно оптимизировать ортогональные массивы и комбинируя проверки нескольких пар в одном тесте определить минимум тестов.

При оптимизации сложность задачи возрастает в зависимости от числа параметров, поскольку нужно учитывать их возможные взаимодействия.

Применение

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

Поэтому метод следует использовать только на стабильном функционале, когда текущие тесты теряют свою эффективность.

Для того чтобы воспользоваться методом, необходимо выполнить несколько простых шагов:

1. Определиться с функциональностью для проверки;

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

2. Исследовать выбранный сценарий и выявить его параметры и их значение

Определить, какие параметры сценария могут повлиять на его выполнение.

3. Применить алгоритм, составляющий оптимальное число тестов с полным перебором пар.

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

Пример использования All-pairs

В качестве входных данных для программы используется файл .txt с таблицей параметров, столбцы которой разделены табуляцией. Для создания такого файла удобнее всего использовать MS Excel – там есть возможность хранить «текстовые файлы с разделителями табуляции (*.txt)».

TEST CASES

case

OS

SQL version

Use of Java

pairings

1

Win XP

SQL 2003

w Java

3

2

Win XP

SQL 2005

w/o Java

3

3

Win Vista

SQL 2003

w/o Java

3

4

Win Vista

SQL 2005

w Java

3

PAIRING DETAILS

var1

var2

value1

value2

appearances

cases

OS

SQL version

Win XP

SQL 2003

1

1

OS

SQL version

Win XP

SQL 2005

1

2

OS

SQL version

Win Vista

SQL 2003

1

3

OS

SQL version

Win Vista

SQL 2005

1

4

OS

Use of Java

Win XP

w Java

1

1

OS

Use of Java

Win XP

w/o Java

1

2

OS

Use of Java

Win Vista

w Java

1

4

OS

Use of Java

Win Vista

w/o Java

1

3

SQL version

Use of Java

SQL 2003

w Java

1

1

SQL version

Use of Java

SQL 2003

w/o Java

1

3

SQL version

Use of Java

SQL 2005

w Java

1

4

SQL version

Use of Java

SQL 2005

w/o Java

1

2

Пара - количество уникальных пар в тест-кейсе.

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

Появление — количество раз, сколько та или иная пара фигурирует в Кейсе

Случаи – номера Кейс, где фигурирует данная пара

Когда использовать Попарное тестирование?

  • Когда много входных параметров
  • Когда невозможно протестировать все комбинации
  • Когда нужно быстро выявить основные ошибки
  • Не подходит, если важен полный охват всех вариантов

Вывод: Парное тестирование экономит время, проверяя самые важные комбинации параметров, которые чаще всего приводят к багам.

См. раздел также

  • Тестирование программного обеспечения
  • Ортогональность
создано: 2025-03-07
обновлено: 2025-04-07
101



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Качество и тестирование программного обеспечения. Quality Assurance.

Термины: Качество и тестирование программного обеспечения. Quality Assurance.