itmo_conspects

Лекция 3. Проектирование тестов

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

Как правило, одно требование может включать множество аспектов (например, авторизация пользователя, ограничение на ввод)

Для этого из каждого требования нужно извлечь тестовые условия - конкретные аспекты (свойства, правила, состояния, результаты) компонента или системы, который должен быть проверен в ходе тестирования. Например, у требования:

Авторизованный пользователь может добавить в корзину от 1 до 10 единиц доступного товара

есть 4 тестовых условия, которые нужно проверить:

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


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

Если тестовое условие отвечает на вопрос “что проверяется?”, то тестовый сценарий отвечает на вопрос “в какой именно ситуации это проверяется?”. Тестовые сценарии описывают варианты поведения, в которых нужно проверять одно конкретное тестовое условие

Разные тестовые сценарии появляются из-за вариативности, которая создается благодаря:


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

Тест-кейс состоит из 6 элементов:

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

На основе сравнения ожидаемого и реального результатов образуется вердикт проверки:


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

Чек-лист хорошо подходит вместо тест-кейсов, если:

Обычно для одного продукта чек-листы и тест-кейсы комбинируются для проверки разного функционала


Тестирование можно разделить на два вида:

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


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