Что такое отрицательное тестирование? Тестовые случаи с примером

Отрицательное тестирование

Отрицательное тестирование — это тип тестирования программного обеспечения, используемый для проверки программного приложения на предмет непредвиденных входных данных и условий. Неожиданные данные или условия могут быть любыми: от неправильного типа данных доtronг хакерская атака. Целью отрицательного тестирования является предотвращение сбоя программного приложения из-за отрицательных входных данных и повышение качества и стабильности.

Просто проводя положительные тесты, мы можем только убедиться, что наша система работает в нормальных условиях. Мы должны убедиться, что наша система способна справиться с непредвиденными условиями, чтобы обеспечить 100% безотказную работу системы.

Пример отрицательного тестирования

Рассмотрим случай подъема, который обычно считается примером отрицательного тестирования.

Все мы знаем, как работает лифт. Это будет считаться требованиями лифта, например, нажатие номера этажа заставляет лифт подняться на этот конкретный этаж.

Дверь открывается автоматически, как только лифт достигает указанного этажа и так далее.

Теперь давайте рассмотрим некоторые негативные сценарии роста. Некоторые из них,

Отрицательное тестирование Положительное тестирование
Что произойдет, если количество человек (вес) превысит указанный лимит? Предполагается, что в лифт войдет только указанное количество человек.
Что произойдет, если кто-то закурит или устроит пожар внутри лифта? Внутри лифта не будет ни дыма, ни огня.
Что произойдет, если произойдет сбой в подаче электроэнергии во время operaТион? Во время работы лифта не будет сбоев в электроснабжении.

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

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

Тот же случай применяется и в программном обеспечении. Что касается отрицательного теста, мы отклонились от нормального operaционная процедура. Давайте рассмотрим несколько примеров.

Рассмотрим, например, форму регистрации.

Отрицательное тестирование Положительное тестирование
Попробуйте ввести неверный email идентификатор в электроннойmail поле Действует только электронная почтаmail идентификаторы будут введены в электроннуюmail поле
Попробуйте ввести неверный номер телефона в поле номера телефона (символы). В поле номера будет введен только номер
Загрузить изображение, размер которого выходит за указанные границы. Будут загружены только изображения, размер которых меньше указанной границы.
Загрузите недопустимые файлы, например XMLфайлы , SQL и т. д. в поле загрузки изображения. Загружайте только допустимые форматы изображений, такие как jpg.png и т. д.

Как мы говорили ранее, мы должны быть уверены, что во всех этих негативных случаях наша система будет работать правильно. Рассмотрим случай, когда кто-то пытается ввести символ в числовое поле, а система не может обработать неожиданные данные, поскольку ожидает число, и, наконец, система выходит из строя. Или что, если кто-то попытается сделать SQL-инъекция и сотрите все наши данные из базы данных. Мы не можем нести такие потенциальные потери. Поэтому отрицательный результат теста важен.

Зачем проводить негативное тестирование?

Поскольку тестирование — это трудоемкая и затратная задача, очень важно решить, «что», «как» и «сколько» тестировать. Мы должны выбрать wiseВопрос о том, нужно ли нам проводить отрицательное тестирование в нашей системе или нет. Итак, давайте посмотрим на важность отрицательного теста.

Перспектива организации

Ответственность за предоставление качественного продукта своему клиенту лежит на организации. Для этого необходимо провести отрицательный тест.

В рамках подтверждения отказа организация должна провести отрицательное тестирование.

Возможно, мы не сможем построить систему, на 100% свободную от ошибок, но мы должны убедиться, что мы сделали все, чтобы предотвратить сбой, а для этого нам следует провести отрицательное тестирование.

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

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

Еще одна вещь, о которой нам следует позаботиться, это то, что существует множество черных хакеров, которые ищут возможностьunity чтобы разрушить систему. Взлом — важный случай, охваченный отрицательным тестированием

Взгляд клиента

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

Если это конфиденциальный продукт, такой как электронная коммерция, онлайн-акции и т. д., то безопасность и отрицательное тестирование являются обязательными.

Единственное, что беспокоит клиента в отношении отрицательного теста, — это стоимость. Но как только влияние проанализировано, клиент должен решить, проводить или нет отрицательное тестирование.

Как сделать отрицательный тест

Чтобы сделать отрицательный тест, мы должны рассмотреть все возможные случаи. То есть, если это возможно, мы должны рассмотреть это в Тестовый кейс независимо от того, является ли это неправильным способом его использования. Например, если мы видим email поле подумайте обо всех возможных входных данных, которые мы можем туда ввести, кроме правильного email формат. Точно так же, когда мы видим опцию загрузки изображения, мы должны протестировать ее со всеми возможными файлами.

При создании отрицательных тестовых примеров мы должны расставить приоритеты в отношении других входных данных.wise, случаев будет много. Например, для поля изображения, куда должны вводиться только файлы «.png», у нас может быть множество вариантов загрузки, таких как «jpeg», «xml», «xls» и т. д. Поэтому нам нужно расставить приоритеты для параметров. как XML и SQL может иметь большее влияние, чем jpeg и xls, поэтому нам следует сначала позаботиться о случаях SQL и XML. Таким образом, нам приходится расставлять приоритеты перед выполнением, чтобы сэкономить время и затраты на тестирование.

Плюсы и минусы отрицательного теста

Как и у всех других методов тестирования, у отрицательного тестирования есть свои плюсы и минусы, в основном основанные на том, «где», «когда» и «как» его использовать. Давайте посмотрим на это.

Преимущества отрицательного тестирования

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

Недостатки отрицательного тестирования

  • В разработке программного обеспечения негативное тестирование в некоторых случаях становится пустой тратой времени и энергии. Во многих случаях нет необходимости в чрезмерно отрицательном тестировании. Например, если приложение создано для использования одним человеком, то нам не нужно рассматривать случай, когда системой одновременно пользуются 100 пользователей. Поэтому решающие условия в отрицательных тестовых случаях очень важны. Будут времена, когда нам не придется проводить отрицательное тестирование конкретной системы.
  • Требуйте квалифицированных и опытных людей для создания отрицательных тестовых случаев.
  • Для клиента отрицательные результаты тестирования — это еще одна вещь, которая приводит к ненужной задержке выпуска и увеличению затрат.
  • Вероятность того, что команда потратит больше времени и энергии на отрицательные тесты. Существует вероятность того, что тестировщики потратят много времени и энергии на отрицательные тесты, что приведет к снижению концентрации при положительных тестах.