Что такое попарное тестирование и почему оно является эффективной техникой тест-дизайна? Статья предназначена для начинающих специалистов по тестированию. Если вы сидите рядом с кем-то, и этот кто-то играет ведущую роль в ваших диалогах в течение сессии тестирования – то это что угодно, только не парное тестирование.
Но системы никогда не бывают такими простыми, существует огромное количество входных и выходных значений с неизвестной взаимозависимостью между различными модулями. Если сравнить столбцы 3 и 4, каждое значение из столбца 3 имеет пару с обоими значениями из столбца 4. Но если сравнить второй и четвертый столбец, у нас есть комбинации Покупка&Валидный и Продажа&Невалидный, но нет комбинаций Покупка&Невалидный и Продажа&Валидный. Следовательно, нам надо поменять местами последний набор значений в четвертом столбце. Давайте посмотрим, как применять технику попарного тестирования на примере.
ЛУЧШИЕ ИНСТРУМЕНТЫ ТЕСТИРОВАНИЯ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ В 2022 ГОДУ ДЛЯ ANDROID И IOS
Техника также полезна для опытных тестировщиков, если они раньше не работали в этой отрасли –они быстрее познакомятся с бизнес-спецификой. Во время парной сессии тестировщики должны много разговаривать – не меньше, чем тестировать – с целью добиться общего понимания, что они, собственно, делают, и что еще важнее – зачем это вообще делается. В результате мы имеем достаточно специфичную методику с четко выраженной областью применения. Не слишком гибкую и слабо применимую при большом количестве зависимостей между параметрами, но в умелых руках весьма эффективную. Разумеется, тестировщик является неотъемлемым участником пары, которого не получится заменить никаким другим сотрудником. В целом, разработчики и тестировщики работают достаточно изолированно.
- Тестируя вдвоем, вы найдете баги, которые никогда не нашли бы в одиночку.
- В этой небольшой заметке я бы хотел рассмотреть инструмент для попарного тестирования от Microsoft – PICT (Pairwise Independent Combinatorial Testing).
- Попарное тестирование — это техника тест-дизайна, которая обеспечивает полное тестовое покрытие.
- Аll-pairs testing — комбинаторный метод тестирование программного обеспечения, который проверяет все возможные дискретные комбинации параметров для каждой пары входных параметров системы.
В качестве параметров могут выступать как настройки самой программы, так и внешние факторы. Поэтому метод следует использовать лишь на стабильном функционале, когда текущие тесты уже теряют свою эффективность. Как уже упоминалось, в процессе заводятся баги и пишутся более-менее детальные репорты, которые затем представляются стейкхолдерам как результат сессии. Необязательно воспроизводить баги сразу же, что может быть затратно по времени и утомительно — важно просто узнать об их наличии в тех или иных местах, и получить опыт коллаборации.
ВИДОВ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ – ПОЛНЫЙ СПИСОК
Когда я как разработчик занимался парным тестированием, то зачастую молчал, создавая код. По большей части я в это время что-то искал, а мой напарник чувствовал себя ненужным, потому что не знал. Когда он пожаловался на это, я начал описывать, что именно я хочу сделать, и он смог советовать мне, на какие секции кода обратить внимание. Сейчас я работаю над экспериментом в парном тестировании, цель которого парное тестирование (Pair Testing) – донести знания о тестировании до членов Agile-команд в моей организации. Ниже – краткое содержание изученного мной материала про парное тестирование, который будет полезен желающим внедрить эту практику у себя в компании. Составлять тесты по методу парного тестирования без использования технических средств крайне сложно, поэтому чтобы упростить себе жизнь, следует воспользоваться программными решениями.
Что важно нам, так это то, что велосипед изобретать не нужно, и методы, по которым мы можем сформировать оптимальное покрытие, давно изобретены. Парное тестирование позволяет использовать сильные стороны участников пары. Мы в наших тестах проверяем отдельно работу каждого поля, не задумываясь о том, что различные комбинации Логина/Пароля могут сломать систему. Тогда нам необходимо рассмотреть все возможные комбинации значений между полей. Для нашего примера это означает, что добавится еще один тест. В этой небольшой заметке я бы хотел рассмотреть инструмент для попарного тестирования от Microsoft – PICT (Pairwise Independent Combinatorial Testing).
Use case тестирование
Pairwise testing сокращает общее количество тест-кейсов, тем самым уменьшая время и расходы, затраченные на тестирование. Техника известна уже больше 20 лет, но только последние 5 лет мы можем наблюдать ее активное использование. Попарное тестирование значительно экономит время и ресурсы, так как количество тестовых случаев уменьшается по сравнению с тройными или более сложными комбинациями. Чем больше параметров включается в тестирование, тем больше тестовых случаев необходимо создать и выполнить. В результате увеличения количества комбинаций возрастает время и затраты на тестирование. Парное тестирование – это метод на основе P&C, при котором для тестирования системы или приложения для каждой пары входных параметров системы проверяются все возможные дискретные комбинации параметров.
Ниже показаны парные тестовые примеры, созданные с помощью инструмента Microsoft «pict». На вход программа принимает простой текстовый файл с параметрами и их значениями, называемый Моделью, а на выход выдает сгенерированные тестовые сценарии. Согласно статье, опубликованной на Combinatorial testing, экспериментальные данные показывают, что почти 60-95% проблем возникают из-за взаимодействия между двумя параметрами. С помощью парного тестирования, если мы проверяем двусторонние комбинации, мы можем обнаружить высокий процент ошибок. В этой статье пойдет речь о комбинаторной технике попарного тестирования (известной также как Pairwise testing или All-pairs testing).
Ваши усилия могут оказаться совершенно бесполезными, если вы не найдете правильный набор переменных.
При попарном тестировании создание и анализ тестовых сценариев является менее сложным, чем при использовании тройного или более сложных комбинаций. Тестировщики могут быстрее разработать и оценить тестовые случаи, упрощая процесс тестирования. Более того, это позволяет сосредоточиться на взаимодействии между компонентами, где вероятность нахождения ошибок наивысшая. С помощью парного тестирования мы можем избежать такой сложности. Это эффективная методика разработки тестовых сценариев, которая объединяет два разных параметра для создания нескольких перестановок и комбинаций для наилучшего охвата. Это методика, при которой два сотрудника компании работают вместе на одном компьютере, при этом делятся идеями, обсуждают тестируемый софт и пишут тестовые сценарии, делают заметки и репорты.
Можно использовать прямой вывод и сохранение тест кейсов в Excel. Можно добавить еще два тестовых примера, чтобы создать больше возможностей. В этом случае невозможно провести исчерпывающее тестирование.
Pairwise Generator
Можно использовать бесплатные простые инструменты управления багами. Любой проектной команде и вообще любой ИТ-компании нужна рабочая среда, в которой поощряется сотрудничество. Парное тестирование известно также как бадди-тестинг, «тестирование с другом», то есть с коллегой. Известно, что такой подход улучшает культуру сотрудничества в компании, укрепляя связи внутри департамента, и между департаментами. Научиться всем методам и нюансам тестирования вы сможете на наших курсах QA.
Подводя итоги: стоит ли использовать попарное тестирование?
«~» означает что вместо указанного значения может быть использовано любое, так как оно не составляет пары в данном тесте. Применить алгоритм, составляющий оптимальное число тестов с полным перебором пар. На данном этапе следуют спросить себя, какие параметры сценария могут повлиять на его выполнение?