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

Содержание:

Anonim

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

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

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

В этом руководстве вы узнаете:

  • Что такое отрицательное тестирование?
  • Пример отрицательного тестирования
  • Зачем нужно отрицательное тестирование?
  • Как проводить отрицательное тестирование
  • Преимущества отрицательного тестирования
  • Недостатки отрицательного тестирования

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

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

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

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

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

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

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

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

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

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

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

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

Зачем нужно отрицательное тестирование?

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

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

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

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

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

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

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

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

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

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

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

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

Как провести отрицательное тестирование

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

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

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

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

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

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

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

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