Открытый вебинар «Метод Pairwise Testing в Black Box тестировании»

    Всем доброго времени суток!

    Предлагаем вашему вниманию подробное описание открытого урока, посвящённого попарному тестированию. Мероприятие прошло всего пару дней назад и было приурочено к запуску курса «QA-специалист».

    Преподаватель — Нина Деваева — Senior Tester, Team Leader и ISTQB-сертифицированный тестировщик, эксперт по направлению Quality Assurance.

    На открытом уроке поговорили о необходимости такого вида техники тест-дизайна, как попарное тестирование (pairwise testing). Изучили кейсы применения на практике и подробно рассмотрели инструментарий, доступный для работы.


    Перед началом вебинара поставили следующие цели:

    • узнать, что из себя представляет попарное тестирование;
    • узнать, в каких случаях допустимо применение попарного тестирования;
    • научиться работать с инструментами попарного тестирования.

    Несколько слов о тест-дизайне

    Тест дизайн – это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест-кейсы) в соответствии с определёнными ранее критериями качества и целями тестирования. Некоторые испытывают затруднение, когда их спрашивают, зачем нужен тест-дизайн. Между тем, ответ кроется в одном из принципов тестирования, а именно: исчерпывающее тестирование недостижимо. И это действительно так за исключением каких-либо тривиальных случаев, когда входных данных очень мало. Да и по большему счёту мало какой бюджет «потянет» все возможные проверки, которыми можно покрыть наш продукт.

    Тестирование методом черного ящика

    Хорошо известный метод, не требующий длительных разъяснений. Если вкратце, то black box testing — это функциональное или нефункциональное тестирование, которое выполняется без знания внутренней структуры компонента или системы. Метод основан на работе исключительно с внешними интерфейсами тестируемой системы.

    Техники тест-дизайна при использовании метода черного ящика, включают:

    • классы эквивалентности;
    • анализ граничных значений;
    • таблицы решений;
    • диаграммы изменения состояния;
    • попарное тестирование.

    Если говорить о попарном тестировании, то существуют исследования, которые показывают, что большинство багов возникает при комбинации 2 каких-либо параметров. Именно поэтому в условиях ограниченных ресурсов и при огромном количестве входных данных имеет смысл использовать попарное тестирование.

    Так что же такое попарное тестирование?

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

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

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

    Orthogonal array testing — систематический подход к тестированию всех парных комбинаций переменных с использованием ортогональных массивов. Такой подход значительно уменьшает количество комбинаций переменных при проверке всех парных комбинаций.

    Ортогональный массив по сути — это таблица, где m — число строк, n — число столбцов, которое соответствует числу входных параметров, k — количество вариантов значений элементов таблицы. Таблица обладает следующими свойствами:

    1. любые два столбца таблицы содержат все комбинации значений этих столбцов;
    2. если какая-либо пара значений двух столбцов встречается несколько раз, то все возможные парные комбинации значений этих столбцов должны встретиться столько же раз.

    Например: — это ортогональный массив с четырьмя строками и тремя столбцами (по количеству переменных). Цифра 2 означает, что все переменные принимают только два значения – 1 и 2.



    Например, у нашего приложения есть 3 входных параметра, причем каждый бинарный (принимает значение «1» или «2»). Таким образом, все возможные комбинации входных данных можно представить так:



    Для наглядности давайте предположим, что у нас есть приложение «Фонарик», которое:

    • работает с iOS и Android;
    • имеет ночной и дневной режим подсветки;
    • позволяет светить постоянно или мигать в режиме стробоскопа.

    В общем, у нас есть три параметра, которые принимают бинарные значения.



    Теперь давайте посмотрим, как будет выглядеть наша выборка после перевода в ортогональный массив:



    Как видим, мы сократили число кейсов с 8 до 4 при 3 разных параметрах, принимающих бинарное значение. Это реальный выигрыш, который положительно отразится и на бюджете, и на ресурсах, которые мы используем.

    All-Pairs Algorithm

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

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

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

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

    Тулзы для попарного тестирования

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

    1. pairwise.teremokgames.com — сайт с понятным интерфейсом, работа с которым не требует специфических знаний.
    2. PICT — свободный инструмент, разработанный Microsoft, для Pairwise Testing'а. Скачивается по следующей ссылке.

    Разумеется, есть ещё Allpairs и VPTag, но разговор о них вышел за рамки прошедшего вебинара.

    Практика и ещё раз практика

    Теперь давайте попробуем, как эти инструменты работают на деле. Итак, постарайтесь выполнить два простых задания:

    1. С помощью pairwiseTool произведите выборку комбинаций исходных параметров и скиньте ссылку на скриншот результата в комментарии. Берётся условный сайт, который должен открываться на Win 7, Win 8 и Win 10. Поддерживаемые браузеры — Google Chrome, Opera, Microsoft Edge, Mozilla Firefox, Яндекс.Браузер. Пользователи могут использовать или не использовать AdBlock.
    2. С помощью программы PICT сделайте выборку комбинаций исходных параметров и скиньте ссылку на скриншот результата в комментариях. Необходимо провести конфигурационное тестирование со следующими комплектующими:

    • видеокарты: GeForce GT 730, GeForce GT 1030, GeForce GTX 1080, GeForce RTX 2070;
    • процессоры: Intel Core i5, Intel Core i7, AMD Ryzen 7, Intel Core i9;
    • память: 8GB, 16GB.

    На этом, пожалуй, всё. Более подробно ознакомиться с нюансами попарного тестирования можно, посмотрев вебинар полностью. И, да, не пропустите День открытых дверей курса «QA специалист»!
    OTUS. Онлайн-образование
    340,00
    Авторские онлайн‑курсы для профессионалов
    Поделиться публикацией

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое