Что такое попарное тестирование

Попарное тестирование: суть техники, инструменты и примеры

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

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

В этой статье пойдет речь о комбинаторной технике попарного тестирования (известной также как Pairwise testing или All-pairs testing).

Умное тестирование служит во благо экономии времени. Часто команда тестировщиков вынуждена работать в рамках жестких сроков 90% своего времени. По этой причине техники тест-дизайна должны быть эффективными, чтобы с их помощью можно было достичь максимально возможной степени покрытия тестами и вероятности обнаружения дефектов.

Что такое попарное тестирование?

Попарное тестирование — это техника тест-дизайна, которая обеспечивает полное тестовое покрытие.

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

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

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

Давайте посмотрим, как применять технику попарного тестирования на примере.

Пример применения попарного тестирования

Приложение для заказа автомобиля:

С помощью приложения можно покупать и продавать машины. Приложение должно поддерживать оказание услуг в Дели и Мумбаи.

В приложении должны содержаться регистрационные номера, которые могут быть валидными и невалидным. Оно должно разрешать продажу следующих марок автомобилей: BMW, Audi и Mercedes.

Доступны два типа бронирования: бронирование через интернет и в офлайн-магазине.

Заказы доступны к размещению только в рабочие часы.

Шаг 1. Перечислим задействованные переменные.

Категория заказа
а. Купить
б. Продать

Местоположение
а. Дели
б. Мумбаи

Марка автомобиля
а. BMW
б. Audi
в. Mercedes

Регистрационные номера
а. Валидные (5000)
б. Невалидные

Тип заказа
а. Заказ через Интернет
б. Заказ в магазине

Время заказа
а. Рабочие часы
б. Нерабочие часы

Если тестировать все возможные допустимые комбинации: 2 X 2 X 3 X 5000 X 2 X 2 = получаем 240 тысяч комбинаций 🙁 Кроме того, недопустимых комбинаций вообще может быть бесконечное количество.

Шаг №2: Давайте упростим

Используем умную репрезентативную выборку.

Используем классы эквивалентности и граничные значения, даже если данные — непрерывные.

Сокращаем регистрационные номера до двух типов:

Валидный регистрационный номер

Невалидный регистрационный номер

Теперь посчитаем количество возможных комбинаций: = 2 X 2 X 3 X 2 X 2 X 2 = 96

Шаг 3. Упорядочивание задействованных переменных и значений.

Когда мы классифицируем задействованные переменные и значения, то получим что-то вроде этого:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Теперь отсортируем переменные так, чтобы переменные с наибольшим количеством значений шли первыми, а с наименьшим — последними.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Шаг 4. Расставляем переменные для создания набора тестов.

Давайте начнем заполнять таблицу столбец за столбцом. Изначально таблица выглядит примерно таким образом. Три значения в столбце «Марка авто» (переменная с наибольшим количеством значений) напишем дважды каждое (потому что следующая переменная, «Категория заказа», содержит два значения.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Столбец «Категория заказа» содержит два значения. И именно столько раз нам надо вставить значения первого столбца «Марка авто».

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Для каждого набора значений в первом столбце мы помещаем оба значения второго столбца. Повторяем то же самое для третьего столбца.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Теперь у нас есть Покупка&Дели, но нет Покупка&Мумбаи. Есть Продажа&Мумбаи, но нет Продажа&Дели. Давайте поменяем значения из второго набора в третьем столбце.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Так уже выглядит получше.

Повторим шаги для столбцов 3 и 4.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Если сравнить столбцы 3 и 4, каждое значение из столбца 3 имеет пару с обоими значениями из столбца 4. Но если сравнить второй и четвертый столбец, у нас есть комбинации Покупка&Валидный и Продажа&Невалидный, но нет комбинаций Покупка&Невалидный и Продажа&Валидный. Следовательно, нам надо поменять местами последний набор значений в четвертом столбце.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

С шестым столбцом (Время заказа) у нас проблемка: не хватает пар Покупка&Нерабочие часы и Продажа&Рабочие часы. Нам не удастся получить недостающие пары, поменяв значения местами, поскольку мы ранее уже поменяли местами все строки, и если мы снова начнём их менять, то есть риск пропустить другие возможные пары. Поэтому добавим еще два тестовых случая, которые содержат эти пары. Заполним пустые строки!

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

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

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Итого мы получили всего 8 тест-кейсов вместо 96.

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

Однако эта техника имеет и некоторые ограничения. Она не сработает, если:

выбранные для тестирования значения некорректны;

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

взаимодействие между переменными недостаточно изучено.

Инструменты попарного тестирования:

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

PICT Попарное независимое комбинаторное тестирование от Microsoft Corp.

IBM FoCuS Единое решение для функционального покрытия от IBM.

ACTS Расширенная комбинаторная система тестирования от NIST, агентства правительства США.

Pairwise от Inductive AS

VPTag бесплатный инструмент попарного тестирования

Заключение:

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

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

Материал подготовлен в рамках специализации «QA Automation Engineer».

Всех желающих приглашаем на бесплатное demo-занятие «Теория тестирования: виды тестирования». Чтобы быть хорошим специалистом, нужно понимать, какие виды тестирования бывают. На этом занятии мы:
— обсудим, по каким направлениям можно протестировать наш программный продукт;
— узнаем, что скрывается за белыми и черными ящиками;
— а также обсудим, чем отличаются стресс тесты от нагрузочных.

>> РЕГИСТРАЦИЯ

Источник

Что такое попарное тестирование

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Что пишут в блогах

Стоимость в цвете — 2500 рублей самовывозом (доставка еще 500-600 рублей, информация по ней будет чуть позже)

Заказать — https://shop.testbase.ru/buy/book. Пока самовывоз (см ниже где и когда!!). С почтой разберемся чуть позже.

Где: Кострома / онлайн

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

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Онлайн-тренинги

Что пишут в блогах (EN)

Blogposts:

Разделы портала

Про инструменты

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

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

Представьте себе, что вам нужно протестировать систему с большим числом параметров, влияющих на её работу. Ярким примером такого рода может быть конфигурационное тестирование: например проверка работы системы под различными операционными системами или работа сайта в различных браузерах. Кто знает, какое сочетание параметров приведет к сбою? Каждый тестировщик знает, что все комбинации не проверить. К примеру, для проверки всех сочетаний 10 параметров с 10 значениями каждый, потребуется 10,000,000,000 тестов, в то время как метод перебора пар позволяет реализовать сравнимое по качеству тестирование (учитывая количество и критичность найденных в результате багов) используя всего 177 тестов.

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

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

Рассмотрим как происходит оптимизация. Возьмем для примера таблицу параметров и значений следующего вида:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Переберем значения первого параметра со вторым (строки №1-4), первого с третьим (строки №5-8) и второго с третьим (строки №9-12). Удалив повторяющиеся наборы параметров (выделены серым), получим следующую таблицу тестов:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Зеленым выделены уникальные пары всех параметров в таблице. Теперь начинается самое интересное, значения выделенные белым не являются необходимыми для перебора всех пар в таблице, поэтому могут быть заменены на любое другое значение. Поэтому заменив их, мы можем оптимизировать тесты, добавив проверку пар из 5, 6 и 7 строк во вторую и третью строки, получим:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

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

Применение

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

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

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

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

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

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

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

Упрощенно, параметры и их значения при записи диска можно представить в виде:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Вы наверняка обратили внимание, что параметр «Скорость записи» имеет значения, недопустимые для “DVD”, как же быть?. У этой маленькой задачки, есть несколько вариантов решения, одно из которых – это разделить таблицу на две. Стоит учитывать, что на практике параметров в этом сценарии гораздо больше, и несостыковок, было бы значительно больше.

Итак, поделив таблицу по типу носителя получим:

Источник

Метод попарного тестирования

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Nov 19, 2018 · 4 min read

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Что же такое pairwise testing?

Pairwise testing — техника тест-дизайна, а именно метод обнаружения дефектов с использованием комбинационного метода из двух тестовых случаев. Он основан на наблюдениях о том, что большинство дефектов вызвано взаимодействием не более двух факторов (дефекты, которые возникают при взаимодействии трех и более факторов, как правило менее критичны). Следовательно, выбирается пара двух тестовых параметров, и все возможные пары этих двух параметров отправляются в качестве входных параметров для тестирования. Pairwise testing сокращает общее количество тест-кейсов, тем самым уменьшая время и расходы, затраченные на тестирование. Техника известна уже больше 20 лет, но только последние 5 лет мы можем наблюдать ее активное использование.

Дл я Pairwise testing используют алгоритмы, которые базируются на построении ортогональных матриц, или алгоритмы All-Pairs.

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

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

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Для того, чтобы построить ортогональную матрицу для этого примера необходимо сделать так, чтобы два любые столбика (в нашем случае это параметры 1, 2 и 3) содержали в себе все возможные комбинации только один раз.

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

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Как мы видим, в столбцах 1 и 3 есть все возможные комбинации: (x,x),(x,y),(y,y),(y,x). Для других пар столбцов это правило работает аналогично.

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

Аll-pairs testing — комбинаторный метод тестирование программного обеспечения, который проверяет все возможные дискретные комбинации параметров для каждой пары входных параметров системы. Исходя из этого, мы получим меньшее число комбинаций, чем при использовании ортогональных матриц.

Рассмотрим пример. Предположим, нам необходимо протестировать приложение для покупки/продажи б/у ноутбуков, мы имеем следующие переменные:

Если мы захотим протестировать все возможные комбинации, то мы должны составить 2 х 2 х 3 х 2 х 2 х 2 = 96 тест-кейса. Не многовато ли работы для тестирования формы?

Далее нам необходимо организовать переменные и значения.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Т.е. для каждого набора в столбце 1 мы помещаем оба значения столбца 2. То же самое мы повторяем с 3 столбцом.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

У нас есть комбинация покупка&Киев и продажа&Харьков, но нету комбинации продажа&Киев и покупка&Харьков. Исправим это, поменяв местами значения во втором наборе третьего столбца.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Повторяем такие же манипуляции для колонок 4 и 5.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Колонка Доставка является более проблематичной, ведь нам не хватает комбинаций на покупка&встреча и продажа&почтой чтобы не нарушать отсортированные данные, нужно ввести еще 2 тестовых случая для этих комбинаций. Значком тильды “

” мы маркируем переменные, которые выступают произвольными. Таким образом мы получаем следующую таблицу.

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Таким образом, мы получили готовые 8 тест-кейсов вместо 96.

Утилиты для автоматизации pairwise testing

Существует ряд ПО, которые помогут вам не только качественно, но и быстро создать тест-кейсы из большого количества параметров, самые популярные из них:

Заключение

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

Источник

Что такое попарное тестирование

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Что пишут в блогах

Стоимость в цвете — 2500 рублей самовывозом (доставка еще 500-600 рублей, информация по ней будет чуть позже)

Заказать — https://shop.testbase.ru/buy/book. Пока самовывоз (см ниже где и когда!!). С почтой разберемся чуть позже.

Где: Кострома / онлайн

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

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Онлайн-тренинги

Что пишут в блогах (EN)

Blogposts:

Разделы портала

Про инструменты

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

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

Представьте себе, что вам нужно протестировать систему с большим числом параметров, влияющих на её работу. Ярким примером такого рода может быть конфигурационное тестирование: например проверка работы системы под различными операционными системами или работа сайта в различных браузерах. Кто знает, какое сочетание параметров приведет к сбою? Каждый тестировщик знает, что все комбинации не проверить. К примеру, для проверки всех сочетаний 10 параметров с 10 значениями каждый, потребуется 10,000,000,000 тестов, в то время как метод перебора пар позволяет реализовать сравнимое по качеству тестирование (учитывая количество и критичность найденных в результате багов) используя всего 177 тестов.

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

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

Рассмотрим как происходит оптимизация. Возьмем для примера таблицу параметров и значений следующего вида:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Переберем значения первого параметра со вторым (строки №1-4), первого с третьим (строки №5-8) и второго с третьим (строки №9-12). Удалив повторяющиеся наборы параметров (выделены серым), получим следующую таблицу тестов:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Зеленым выделены уникальные пары всех параметров в таблице. Теперь начинается самое интересное, значения выделенные белым не являются необходимыми для перебора всех пар в таблице, поэтому могут быть заменены на любое другое значение. Поэтому заменив их, мы можем оптимизировать тесты, добавив проверку пар из 5, 6 и 7 строк во вторую и третью строки, получим:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

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

Применение

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

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

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

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

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

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

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

Упрощенно, параметры и их значения при записи диска можно представить в виде:

Что такое попарное тестирование. Смотреть фото Что такое попарное тестирование. Смотреть картинку Что такое попарное тестирование. Картинка про Что такое попарное тестирование. Фото Что такое попарное тестирование

Вы наверняка обратили внимание, что параметр «Скорость записи» имеет значения, недопустимые для “DVD”, как же быть?. У этой маленькой задачки, есть несколько вариантов решения, одно из которых – это разделить таблицу на две. Стоит учитывать, что на практике параметров в этом сценарии гораздо больше, и несостыковок, было бы значительно больше.

Итак, поделив таблицу по типу носителя получим:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *