HomeBlogIT ОбразованиеТест-дизайн Техника попарного...

Тест-дизайн Техника попарного тестирования Школа седого тестировщика

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

Ниже приведены одни из лучших на рынке инструментов тестирования всех пар.

Попарное тестирование ПО

На pairwise testing первый взгляд выглядит достаточно просто, добавился всего один тест.

  • Попарное тестирование – это метод, который генерирует тестовые наборы, охватывающие все возможные пары значений входных параметров, а не все возможные комбинации [1, с.
  • Если бы в параметрах были числовые значения (например, количество цветов в букете), то возможных значений и комбинаций было бы на порядки больше.
  • Сайт “Петрович” – это огромная система с кучей различных товаров, вариантов доставки на любой вкус и цвет по разным регионам и самых разных услуг, где абсолютно каждый пользователь может выбрать что-то для себя.
  • С большим количеством входных переменных у нас будет больше сценариев для проверки.
  • Иногда тестирование всех этих комбинаций нецелесообразно, если не неосуществимо, в большинстве случаев.

Каковы Преимущества парного тестирования?

Попарное тестирование ПО

Однако эта задача решаема, в чем мы убедимся в последствии. Зная эту информацию мы можем воспользоваться опцией /r , которая позволит пикту минимизировать кол-во тестов, не теряя при этом в тестовом покрытии. Запустите инструмент с этим флагом несколько раз и выберите тот набор, где количество тестов минимальное. Ранее я говорил, что PICT генерирует каждый раз новые комбинации тестов и процесс генерации сильно зависит от начальных условий. Тем не менее каждый созданный набор гарантировано покрывает все необходимые комбинации, но некоторые комбинации пикт формирует https://deveducation.com/ более эффективно. Так мы упразднили остальные столбцы, где данных было слишком мало и которые, к примеру, ограничивались ответом «Да/Нет».

Преимущества и недостатки попарного тестирования

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

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

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

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

Попарное тестирование ПО

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

Такое тестирование будет малоэффективным и потребует большое количество ресурсов. Вот здесь на помощь приходит техника попарного тестирования, которая позволяет сократить количество тестов во много раз. Применение парного тестирования сократило количество тестовых случаев с 18 до 9, обеспечив эффективную проверку взаимодействия параметров. Выберем один параметр в качестве базового и присвоим каждой строке уникальное значение. Например, если мы выберем “Браузер” в качестве базового параметра, мы можем присвоить значение “Chrome” строке 1, а “Firefox” строке 2. Для каждого оставшегося параметра выберем значение, которое еще не сопоставлено со значением базового параметра в той же строке.

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

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

Если мы их добавим, то в результате использования метода можем получить кейс в котором на нулевом объёме данных будет проверяться к примеру пара Файловой системы ISO и начала мультисесии. В результате, успешно убедившись в корректной обработке попытки записи пустого диска, мы упустим проверку пары ISO-начать мультисесию. Как показывает опыт, метод эффективен лишь на поздних этапах разработки, либо дополненный основными функциональными тестами. Попарное тестирование (Pairwise testing) – это техника тест-дизайна, при которой проверяются отдельные всевозможные комбинации каждой пары входных параметров.

В своей прошлой статье я рассказывал о тестировании оплат, техниках тест-дизайна, которые использовал, и всячески открещивался от попарного тестирования. Но вот злой рок дошел до меня, и сегодня я хочу рассказать о недавнем опыте использования “попарки” на практике. Согласно статье, опубликованной на Combinatorial testing, экспериментальные данные показывают, что почти 60-95% проблем возникают из-за взаимодействия между двумя параметрами. С помощью парного тестирования, если мы проверяем двусторонние комбинации, мы можем обнаружить высокий процент ошибок. Мы увидели, насколько эффективной может быть техника попарного тестирования. Она здорово повышает шансы найти баги, при этом сохранив время.