Тест дизайн - это этап процесса тестирования ПО, на которому проектируют и создают тестовые случаи (тест кейсы), согласно определенных ранее критериев качества и целей тестирования.
Роли QA, ответственные за тест дизайн:
Эквивалентное распределение (Equivalence Partitioning - EP). Тестовые данные разбиваются на определенные классы допустимых значений. В пределах каждого класса выполнение теста с любым значением тестовых данных приводит к эквивалентному результата.
Пример. У вас есть диапазон допустимых значений от 1 до 10, вы должны выбрать одно правильное значение внутри интервала, скажем, 5, и одно неправильное значение вне интервала - 0.
Анализ граничных значений (Boundary Value Analysis - BVA). Техника тест-дизайна, которая направлена на проверку поведения системы на граничных значениях входных данных (пределах классов эквивалентности).
Очень важно проверять именно предельные значения, потому что часто возникают ошибки именно на границах классов эквивалентности. На каждом пределе диапазона нужно проверить 3 значения: граничное значение, значение до и после предела.
Таким образом, у нас из примера выше, остается 4 положительных тест – кейсы из возможных 100 (0 – 99):
Таблица принятия решений - это удобный инструмент для фиксирования требований и описания функциональности приложения. Таблицами удобно описывать бизнес-логику приложения и они могут служить отличным основанием для тест-кейсов.
Таблицы принятия решений описывают логику приложения, основываясь на условиях системы, характеризующих ее состояния. Каждая таблица должна описывать одно состояние системы.
Нам следует создать по одному тест – кейсу для каждого из предполагаемых действий.
Это техника тестирования метода черного ящика, направленная на уменьшение количества тестов путем одновременной проверки множества разных положительных значений. Эта техника базируется на одновременном использовании техник эквивалентного разбиения и анализа граничных значений.
Тестировщик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы "предсказать" при каких входных условиях система может выдать ошибку.
Например, спецификация гласит: "Пользователь должен ввести код". Тест аналитик будет думать: "Что, если я не введу код?", "Что, если я введу неправильный код? ", и так далее". Это и есть предсказание ошибки.
Введение комбинаций условий (причин), для получение ответа от системы (следствие).
Например, вы проверяете возможность добавлять клиента, используя определенную экранную форму. Для этого вам необходимо будет ввести несколько полей, таких как "Имя", "Адрес", "Номер телефона", а затем нажать кнопку "Добавить" – это "Причина". После нажатия кнопки "Добавить", система добавляет клиента в базу данных и показывает его номер на экране – это "Следствие".
Исчерпывающее тестирование (Exhaustive Testing - ET): в рамках этой техники вы должны проверить все возможные комбинации входных значений, и в принципе это должно найти все проблемы. На практике применение этого метода невозможно, из-за огромного количества входных значений.
Это перечень действий, сценарий, по которому пользователь взаимодействует с приложением или программой для выполнения какого-либо действия и достижения конкретной цели.
Тестирование по юзкейсам проводится для того, чтобы выявить дополнительные логические пробелы и баги в web-приложении, которые сложно найти под время тестирования отдельных индивидуальных модулей или частей этого web-приложения.
Система переходит в то или иное состояние в зависимости от того, какие действия над ней выполняются. Техника для визуализации ТЗ. Она наглядно показывает, как какой-то объект переходит из одного состояния в другое.
Метод парного тестирования (Pairwise) - это техника тест-дизайна, обеспечивающая полное тестовое покрытие. ISTQB определяет попарное тестирование как технику тест-дизайна методом черного ящика, при которой тест-кейсы создают таким образом, чтобы выполнить все возможные отдельные комбинации каждой пары входных параметров.
Основное правило pairwise — покрытие всех пар значений параметров при минимальном числе уникальных наборов тестовых данных.
Техника попарного тестирования очень помогает при разработке тестов для приложений, включающих множество параметров.
Приложения для Pairwise:
Результат работы приложения зависит от многих факторов, например, входных параметров, переменных состояний и конфигураций среды. Для определения возможных значений могут быть полезными такие техники, как анализ предельных значений и использования классов эквивалентности. Однако тестировать все возможные комбинации значений для всех факторов – непрактично. Поэтому, чтобы удовлетворить все факторы, генерируется подмножество комбинаций.
Тесты разрабатываются таким образом, что для каждой пары входных параметров существуют все возможные комбинации этих параметров. Тестовые наборы (тест-сьюты, Test suite) охватывают все комбинации. Поэтому техника хоть и не обеспечивает исчерпывающего тестирования, но все же эффективна для поиска ошибок.