Негативные проверки в тестировании

В распоряжении тестировщика (QA-специалиста) имеется много разных методов для проведения проверок программного обеспечения. Сегодня поговорим про один из самых интересных – негативные тесты.

Тестировщик » QA-блог » Методы » Негативные проверки в тестировании

Negative testing: как это работает в QA

Допустим, тестировщик сделал ряд проверок программного обеспечения и убедился, что при вводе корректных исходных данных на выходе получаются корректные результаты. Но будет ли этого достаточно, чтобы сделать общий вывод о качестве ПО? Нет, потому что проверки проведены только на корректных данных – это Positive testing.

На изображении негативные проверки тестирования - Негативное тестирование.

А если вдруг пользователь введет исходные данные, которые ПО не должно принимать и обрабатывать, а оно их примет и обработает? Это будет дефект. Чтобы проверять наличие таких дефектов, придуман метод негативных тестов (Negative testing).

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

Негативное (отрицательное) тестирование – это метод тестирования программного обеспечения, когда проверяется, как ведет себя программа при получении недопустимых или неожиданных входных данных. Предполагается, что если данные лежат вне разрешенного диапазона, то ПО должно по крайней мере не обращаться с ними как с обычными значениями. В идеале программа должна сообщить пользователю о том, что данные некорректны.

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

Примеры проверок для негативного тестирования

Negative testing можно продемонстрировать следующими проверками:

  • В названии электронной почты обязательно должен быть символ @ – поэтому негативным тестом будет ввод адреса без этого символа;
  • Простой арифметический калькулятор для ввода должен принимать только числа – значит, здесь негативным тестом будет ввод букв и других не-цифровых символов;
  • Если пользователю предлагается ввести в поле латинские буквы, то негативным тестом будет ввод кириллических букв, цифр или других специальных символов;
  • Регистрация требует заполнения всех полей – тогда негативным тестом будет попытка зарегистрироваться, не заполнив хотя бы одно поле (или все поля).

Чем позитивное тестирование отличается от негативного

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

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

Какие могут быть результаты в негативных тестах

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

  1. Блокировка обработки значений и вывод сообщения для пользователя о том, что он ввел некорректные данные и как он может это поправить – самый лучший вариант;
  2. Просто блокировка обработки значений – так себе вариант, т.к. ПО вроде не пострадало, но пользователь не получил информацию о том, что он ошибся, поэтому может и дальше «тупить»;
  3. Сбой ПО (программа зависает или вырубается) – плохой вариант, т.к. это может спровоцировать потерю других, ранее введенных данных.
  4. Программа обрабатывает введенные значения и в итоге выдает заведомо неправильный результат – самый плохой вариант, т.к. может привести к принятию пользователем ошибочных решений.

Резюме

Негативное тестирование проводится, чтобы проверить, что программа может справляться с вводом недопустимых или неожиданных данных. Для составления такого теста QA-специалист может использовать некорректные значения (т.е. запрещенные в требованиях к ПО). Чтобы попрактиковаться в составлении негативных тестов – выбирайте онлайн-школы и записывайтесь на курсы тестировщиков!

на изображение автор Михаил Кулешов

Автор Михаил Кулешов

Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.

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

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