Что такое отрицательное тестирование?
- Очевидно, что тестирование программного обеспечения только с положительными сценариями гарантирует, что программное обеспечение работает должным образом, но не гарантирует, как оно будет работать в непредвиденных ситуациях. Как тестер, основной мотив тестирования - найти как можно больше дефектов и убедиться, что приложение должно работать правильно даже в нечетных ситуациях. С этой целью в картину вошло отрицательное тестирование, которое охватывает все сценарии, которые необходимо проверить на неожиданное поведение человека и неверный ввод от пользователя.
- Это обычно известно как тестирование пути ошибок или тестирование ошибок. Это тип тестирования программного обеспечения, который выполняется для того, чтобы гарантировать, что программное приложение не должно ломаться и корректно обрабатывать ситуации непредвиденных сценариев, таких как неправильный ввод данных пользователем, потеря сетевого подключения, отсутствие обязательных полей и т. Д.
- Когда приложение передается конечным пользователям, это не так, что они будут выполнять только сценарии положительного тестирования, человеческий разум пытается разыграть трюки и выполняет несколько нелогичных и неуместных задач, чтобы протестировать приложение или для некоторых личных неэтичных средства.
- Поэтому очень важно протестировать приложение с каждой перестановкой и комбинацией данных, чтобы проверить, как приложение реагирует. Например, при написании алфавита или специальных символов в поле номера телефона, отправке формы без заполнения обязательных реквизитов и т. Д. Такие ситуации должны быть аккуратно обработаны предупреждающим сообщением. Это делается с целью проверки стабильности программного приложения.
Зачем нам нужно отрицательное тестирование?
Есть несколько причин для проведения отрицательного тестирования. Некоторые из них упомянуты ниже:
- Несмотря на то, что невозможно предоставить конечному пользователю 100% безошибочное программное обеспечение, его выполнение и охват максимально негативных сценариев может гарантировать, что приложение сможет справиться с непредвиденными ситуациями.
- На рынке есть много хакеров, которые ищут возможность взломать приложение и злоупотребить личными данными клиента, чтобы избежать таких ситуаций нарушения безопасности, отрицательное тестирование очень важно.
- Разверните лазейки в приложении, выполнив его, чтобы предотвратить непредвиденное поведение.
- Обеспечьте стабильность приложения для выхода за пределы лимита, необычных и неверных данных.
- Чтобы предоставить клиенту уязвимое и надежное приложение, необходимо провести отрицательное тестирование.
Как проводится отрицательное тестирование?
Так как требует как времени, так и затрат. Отдельная команда тестировщиков требуется для выполнения расширенного отрицательного тестирования.
- Отрицательные тестовые случаи, указывающие несколько тестовых сценариев, должны быть созданы для каждой функциональности.
- Отрицательные сценарии со всеми возможными недействительными данными должны быть проверены в соответствии с приоритетом отрицательных данных.
Есть два метода, обычно используемых тестерами для отрицательного тестирования, которые упомянуты ниже:
1. Граничный анализ стоимости
В анализе граничных значений отрицательные контрольные примеры предназначены для значений за пределами границ, чтобы проверить, как система работает для них. Например, если текстовое поле в форме принимает данные из 5-30 символов, граничные пределы будут 5 и 30, и, следовательно, эти значения будут проверены.
2. Эквивалентное разбиение
При разделении по эквивалентности входные значения делятся на различные разделы эквивалентных данных, и только несколько значений каждого раздела проверяются, чтобы проверить весь раздел. Если данные переданы, то весь раздел считается пропущенным, иначе произошел сбой. Для приведенного выше примера, для текстового поля, принимающего данные между 5-30, разбиения будут 0-5, 5-30, 30-100, для отрицательного тестирования будут проверяться разбиения 0-5 и 30-100.
Преимущества и недостатки отрицательного тестирования
Ниже приведены преимущества и недостатки отрицательного тестирования:
преимущества
- Для обеспечения уязвимого и качественного программного обеспечения, отрицательное тестирование является обязательным.
- Чтобы защитить программное приложение от киберпреступности и неэтичного взлома, тестирование безопасности для негативных сценариев играет важную роль.
- Это дает им уверенность в том, что приложение протестировано по всем негативным сценариям и, следовательно, более надежно.
- Это гарантирует, что все ошибки или плохие ситуации корректно обрабатываются программным приложением.
Недостатки
- Иногда в некоторых приложениях это становится пустой тратой времени. Интенсивное покрытие всех негативных сценариев множеством отрицательных тестовых данных не всегда требуется. Временами тестеры вовлекаются в это настолько сильно, что тщательное положительное тестирование (базовое функционирование приложения) не выполняется.
- Для подробностей в проекте требуется отдельная команда тестировщиков, что может вызвать проблемы с большим бюджетом проекта.
- Цикл выпуска приложения иногда задерживается.
- Для отрицательного тестирования требуются опытные люди.
Инструменты, используемые для отрицательного тестирования
Хотя на рынке нет специальных инструментов. Тестовые случаи для охвата всех негативных сценариев могут выполняться либо вручную, либо с помощью сценариев автоматизации. Самое главное при его выполнении - это максимальное количество перестановок тестовых данных, которые можно протестировать для тестового примера. Ручное тестирование тестового примера с каждой тестовой информацией может быть немного скучным и трудоемким, но эту задачу можно облегчить с помощью автоматического тестирования. Сценарии автоматизации могут быть созданы с помощью простых инструментов автоматизации, доступных на рынке, таких как Selenium, TestComplete, Appium, Cucumber и т. Д. Сценарии автоматизации могут быть полезны для покрытия, поскольку все данные теста могут храниться в одном файле для каждого теста и скрипт может быть выполнен снова и снова для каждого теста данных.
Вывод
Отрицательное тестирование не включено и никогда не является частью положительного тестирования, так как положительное тестирование гарантирует, что система работает в соответствии с требованиями и как указано в документах (SRS), в то время как оно указывает на надежность, уязвимость и высококачественный стандарт програмное обеспечение. Отрицательное тестирование так же важно, как и положительное тестирование, поскольку оба имеют разные намерения тестировать программное обеспечение. Чем больше программа проходит тестирование, тем меньше вероятность того, что риск на рынке сделает приложение более стабильным и надежным.
Рекомендуемые статьи
Это руководство по отрицательному тестированию. Здесь мы обсуждаем введение в отрицательное тестирование, зачем нам это тестирование, а также его преимущества и недостатки. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Модульное тестирование
- Статическое Тестирование
- Тестирование системной интеграции
- Тестирование черного ящика
- Методы испытаний черного ящика