
Негативное и позитивное тестирование - что это такое и чем отличаются тесты
В этой статье специалисты ИТ-агентства WhiteTigerSoft® расскажут, что такое позитивное и негативное функциональное тестирование, для чего оно нужно и как проводить подобные сценарии проверки. Даже если функция работает по ожидаемому скрипту, это еще не означает, что она корректно обработает ошибочный ввод, необычное действие или данные за пределами дозволенных значений. Поэтому тестировщик проверяет не только то, как система должна функционировать, но и то, как она реагирует на ситуации, которые могут возникнуть при реальном использовании. Положительные и отрицательные тесты позволяют рассмотреть функциональность с обеих сторон и выявить проблемы, которые легко пропустить при оценке только основного сценария.
Что собой представляет позитивное тестирование
Это проверка цифрового продукта в условиях, которые отвечают принятым требованиям. Тестировщик использует допустимые данные и выполняет запланированные действия. Это нужно, чтобы убедиться, что функция работает так, как от нее ожидают.
Такой подход может включать несколько вариантов действий. Если одну операцию разрешено выполнить разными способами, тестировщик проверяет каждый значимый. Это позволяет убедиться, что функция корректно работает не только по одному стандартному скрипту.

Цели позитивного тестирования
Основная задача – подтвердить соответствие фактического поведения продукта требованиям. В ходе оценки специалист оценивает, осуществляется ли нужная операция и получает ли пользователь необходимый результат. Дополнительно можно проверить, сохраняются ли введенные данные, правильно ли обрабатываются допустимые значения, выполняются ли все запланированные действия, работают ли разные разрешенные варианты использования.
Какие входные сведения используют
Для положительных проверок выбирают валидные данные – значения, которые соответствуют правилам конкретной функции. Учитывают их формат, тип, размер и разрешенный диапазон.
Если требования предусматривают несколько вариантов данных, каждый из них включают в набор тестов. Например, для числового поля можно применять разные допущенные значения, а для текстового – предусмотренные форматы и длину.
Когда используется
Такой подход применим в проверочном процессе практически любых функциональных возможностей, которые должны выполнять определенную задачу. Они подходят для веб-сайтов, мобильных приложений, программного обеспечения и других цифровых продуктов.
Например, с его помощью проверяют:
- регистрацию нового пользователя;
- вход в личный кабинет;
- заполнение и отправку формы;
- создание и изменение данных;
- поиск информации;
- оформление заказа;
- оплату;
- загрузку файлов;
- переходы между разделами;
- работу отдельных функций.
Позитивный подход также используют после изменений в программе. Если разработчик изменил уже работающую опцию, оценка с корректными данными помогает убедиться, что она по-прежнему выполняет свою задачу.

Что собой представляет негативный подход
Это проверка поведения продукта в ситуациях, которые не соответствуют предусмотренному сценарию использования. Тестировщик намеренно создает условия, при которых опция не должна работать по обычному алгоритму, чтобы оценить реакцию системы.
Цели
Основная задача – проверить, что программа корректно обрабатывает ситуации, выходящие за установленные рамки использования. Такой подход помогает выявить случаи, когда система принимает недопустимые значения, выполняет запрещенную операцию или неправильно реагирует на ошибочный ввод.
При негативном тестовом процессе устанавливают:
- распознает ли программа некорректные данные;
- соблюдает ли заданные ограничения;
- сообщает ли об ошибке, если это предусмотрено;
- предотвращает ли недопустимую операцию;
- сохраняет ли работоспособность после обработки ошибочной ситуации.
Подобный тест при этом может завершиться успешно. Если программа правильно распознала недопустимые моменты и отреагировала так, как предусмотрено, проверка считается пройденной.
Услуги, которые могут быть вам полезны
Качественная проверка программ и устранение выявленных ошибок
Надежные и качественные программы для вашего бизнеса
Интегрируем программы с различными системами
Создаем программное обеспечение под задачи и процессы бизнеса
Какие невалидные сведения и действия проверяют
Их набор зависит от требований к конкретной опции. Обычно анализируют данные и сценарии, которые нарушают хотя бы одно установленное правило.
Например:
- пустое обязательное поле;
- неправильный формат;
- слишком короткое или длинное значение;
- число за рамками разрешенного диапазона;
- недопустимые символы;
- файл неподдерживаемого формата или документ, размер которого превышает установленный предел;
- попытку выполнить что-то без необходимых условий.
Отдельно проверяют неправильную последовательность действий. Например, пользователь пытается перейти к следующему этапу, не заполнив обязательную информацию.

Когда очень важен негативный подход
Подобные проверки нужны практически для любой функциональности, но особенно там, где ошибка может оказать неблагоприятное влияние. К таким областям относятся авторизация, регистрация, платежи, загрузка изображений и документов, формы с жесткими ограничениями.
Количество и состав тестов определяют с учетом требований и особенностей функции. Не нужно проверять все возможные ошибки – достаточно охватить существенные варианты, которые могут проявиться при реальном использовании или нарушении заданных условий.
В чем разница
Оба подхода проверяют одну и ту же функциональность, но анализируют ее при разных ситуациях.
Отличия в целях и скриптах
Positiv-подход рассматривает штатное применение функции. Тестировщик выполняет предусмотренные действия и проверяет получение необходимого результата.
Negative-подход моделирует ситуацию, в которой нарушено хотя бы одно установленное условие. Проверяется не выполнение основной операции, а реакция на такое нарушение.
Разница во входных параметрах
В позитивных тестах используют валидные сведения, соответствующие запросам функции. В негативных – значения, которые нарушают заданные правила по формату, типу, размеру, диапазону или другим параметрам.

Разница в результатах
Итог зависит от того, какое условие проверяется. Для Positive ожидается выполнение предусмотренной операции, а для Negative – корректная обработка недопустимой ситуации. Например, система может отклонить значение, показать сообщение об ошибке, запретить дальнейшее действие или предложить изменить данные. Конкретная реакция должна соответствовать требованиям.
Сравнительная таблица
Эти 2 подхода дополняют друг друга: первый рассматривает штатное использование функции, второй – ситуации с нарушением заданных условий.
| Критерий | Положительный | Отрицательный |
|---|---|---|
| Сценарий проверки | Соблюдаются установленные правила | Нарушается хотя бы одно из них |
| Задача | Оценить выполнение функции в предусмотренных условиях | Проверить обработку недопустимой ситуации |
| Поведение пользователя | Ожидаемое | Ошибочное или выходящее за заданные ограничения |
| Тип результата | Функция выполняется | Продукт корректно обрабатывает нарушение |
| Что считается удачным прохождением | Система сработала штатно | Есть ли нужная реакция на ошибки |
| Связь с требованиями | Оценивается корректность выполнения функции | Проверяются ограничения и поведение сервиса в нештатных ситуациях |
| Роль | Подтверждает работоспособность при корректном использовании | Помогает выявить проблемы при нестандартных условиях |
Как составлять тест-кейсы
Они должны описывать конкретную проверку и позволять однозначно сопоставить полученный результат с ожидаемым. Рассмотрим порядок их составления.
Определить требования и поведение системы
Сначала необходимо понять, что именно должна делать опция и при каких условиях. Для этого анализируют требования, ограничения, разрешенные значения и возможные реакции.
Важно зафиксировать не только основной результат, но и правила обработки исключительных ситуаций. Например, если поле принимает значения от 1 до 50, в требованиях должно быть понятно, что происходит при вводе числа за пределами этого диапазона.

Выделить классы
После изучения требований входные параметры разделяют на группы, внутри которых ПО обязано вести себя одинаково. Такой подход при позитивном и негативном виде тестирования называют разбиением на классы эквивалентности.
Для каждой группы выбирают характерные значения. Отдельно формируют:
- Валидные классы. Они соответствуют правилам функции.
- Невалидные. Содержат данные, которые нарушают логику валидации.
Это помогает не создавать отдельную проверку для каждого возможного параметра, если они проверяют одно и то же условие.
Изучить граничные значения
Отдельно оценивают показатели, которые находятся на границе допустимого диапазона и сразу за ней. Например, если поле принимает числа от одного до ста, можно проверить 1, 100, 0 и 101.
Цифры в допустимом диапазоне относятся к положительному типу. Значения 0 и 101 недопустимы, поэтому являются отрицательными сценариями. Такой подход помогает убедиться, что ПО правильно определяет, что можно принять, а что нужно отклонить.
Описать шаги и ожидаемый результат
В кейсе указывают, что необходимо сделать, какие сведения использовать и что программа обязана выдать в итоге. Описание должно быть понятным, чтобы другой тестировщик мог повторить тест и получить сопоставимый результат.
Примеры позитивного и негативного тестирования
Рассмотрим их ниже.
Форма регистрации
Предположим, она требует указать имя, адрес почты и пароль.
При Positive Testing специалист заполняет все обязательные поля допустимыми сведениями и отправляет форму. Если требования выполнены, учетная запись создается.
При Negative пользователь оставляет обязательное поле пустым или вводит email в неправильном формате. Программа должна показать предусмотренное оповещение и не продолжать регистрацию с некорректными сведениями.

Авторизация
Для входа вводятся логин и пароль.
При позитивной проверке используются правильные данные. Если они соответствуют зарегистрированной учетной записи, пользователь входит в систему.
При негативном тестировании во время теста вводится неправильный пароль или несуществующий логин. Сервис обязан отказать во входе и показать предусмотренную реакцию на ошибочные сведения.
Поле с числовым диапазоном
Предположим, интернет-магазин позволяет указать количество товаров для добавления в корзину.
В рамках Positive Testing вводится валидное значение, после чего выбранный объем продукции успешно резервируется для покупки.
При Negative он вводит отрицательное число или пытается указать значение, которое не может использоваться для этой операции. Программа должна обработать такой ввод в соответствии с установленными правилами.
Загрузка файла
Предположим, форма позволяет прикрепить его к заявке.
Позитивная проверка – пользователь выбирает подходящий документ и успешно прикрепляет его.
Негативная – человек пытается отправить форму без обязательного файла, если его наличие предусмотрено требованиями. Система должна сообщить о необходимости добавить его и не завершать отправку до выполнения этого условия.
Как сочетать оба подхода
При оценке какой-либо функции используют отрицательное и положительное тестирование, чтобы не ограничиваться только одним способом ее работы. Сначала можно проверить основные действия пользователя, а затем добавить случаи, которые отличаются условиями выполнения или ожидаемой реакцией.
Например, для формы заказа проверяют не только успешное оформление, но и отмену операции, повторную отправку данных, отсутствие обязательной информации и другие предусмотренные ситуации. Такой набор позволяет проверить функциональную возможность с разных сторон без создания большого количества одинаковых тестов.
При подготовке набора проверок важно учитывать назначение функции и ее требования. Для простой опции может быть достаточно нескольких тестирований, а для сложной операции потребуется больше вариантов.

Распространенные ошибки
Рассмотрим их ниже.
Проверять только основной пользовательский сценарий
Если тестировщик проходит лишь стандартный путь, часть проблем остается незамеченной. Например, функция может работать при обычном использовании, но неправильно реагировать на повторное действие или нарушение последовательности шагов. Поэтому в набор включают не только основной вариант работы, но и другие существенные случаи, предусмотренные требованиями.
Считать негативную проверку неуспешной
Название такого тестирования не означает, что программа обязана завершиться ошибкой. Оно считается успешным, если система правильно обработала ситуацию, которая не должна приводить к обычному результату. Например, если пользователь вводит невалидный адрес электронной почты, а ПО не принимает эту информацию и показывает предусмотренное сообщение, тест пройден.
Использовать некорректный ожидаемый результат
Он должен соответствовать требованиям к функциональности. Если сформулирован неверно, тестировщик может принять нормальную работу программы за ошибку или, наоборот, пропустить настоящий дефект.
Перед выполнением тестирования нужно заранее определить, какое поведение считается правильным. Это особенно важно для нестандартных ситуаций, где программа может не выполнить основную операцию, а вывести сообщение, отменить действие или предложить пользователю исправить информацию.
Создавать избыточные и повторяющиеся проверки
Несколько test-кейсов могут отличаться входными данными, но проверять одно и то же правило. В результате увеличивается объем тестовой документации и усложняется ее дальнейшее обновление.
Чтобы этого избежать, перед добавлением очередного сценария его сравнивают с уже существующими. Если он не проверяет новое условие и не дает дополнительной информации о работе, отдельная оценка может быть не нужна.

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







