Какие негативные сценарии обязательны
1️⃣ Как кратко ответить
Негативные сценарии, которые обязательны для тестирования, включают: ввод некорректных данных, проверка поведения системы при отказе внешних сервисов, тестирование на отказоустойчивость, проверка на обработку ошибок и исключений, тестирование на безопасность, а также проверка на устойчивость к нагрузкам и стресс-тестирование.
2️⃣ Подробное объяснение темы
Негативные сценарии тестирования — это тесты, которые проверяют, как система ведет себя в условиях, отличных от нормальных. Они помогают выявить слабые места в системе и гарантировать, что она будет работать корректно даже в случае неожиданных ситуаций. Рассмотрим основные типы негативных сценариев, которые обязательны для тестирования.
-
Ввод некорректных данных:
- Проверка системы на ввод данных, которые не соответствуют ожидаемым. Например, ввод букв в поле, где ожидаются только цифры, или ввод слишком длинных строк.
- Зачем это нужно: помогает убедиться, что система корректно обрабатывает ошибки ввода и не допускает некорректных данных в базу.
-
Отказ внешних сервисов:
- Тестирование поведения системы при недоступности внешних API или сервисов, от которых она зависит.
- Зачем это нужно: гарантирует, что система сможет корректно обработать ситуацию, когда внешние сервисы недоступны, и не приведет к сбоям.
-
Тестирование на отказоустойчивость:
- Проверка, как система справляется с отказами компонентов, например, при отключении базы данных или сервера.
- Зачем это нужно: позволяет убедиться, что система может продолжать функционировать или корректно восстанавливаться после отказов.
-
Обработка ошибок и исключений:
- Проверка, как система обрабатывает различные ошибки и исключения, например, деление на ноль или обращение к несуществующему элементу массива.
- Зачем это нужно: помогает убедиться, что система не падает при возникновении ошибок и предоставляет пользователю понятные сообщения об ошибках.
-
Тестирование на безопасность:
- Проверка системы на уязвимости, такие как SQL-инъекции, XSS-атаки и другие.
- Зачем это нужно: защищает систему от потенциальных атак и утечек данных.
-
Устойчивость к нагрузкам и стресс-тестирование:
- Проверка, как система ведет себя под высокой нагрузкой или в условиях, превышающих нормальные.
- Зачем это нужно: позволяет убедиться, что система может справляться с пиковыми нагрузками и не выходит из строя.
Пример кода для тестирования ввода некорректных данных:
def test_invalid_input():
# Предположим, у нас есть функция, которая принимает только целые числа
def process_input(value):
if not isinstance(value, int):
raise ValueError("Invalid input: integer expected")
return value * 2
try:
# Пытаемся передать строку вместо числа
process_input("string")
except ValueError as e:
# Проверяем, что выбрасывается корректное исключение
assert str(e) == "Invalid input: integer expected"
def test_invalid_input():— определяем тестовую функцию для проверки некорректного ввода.def process_input(value):— функция, которая принимает только целые числа.if not isinstance(value, int):— проверяем, является ли входное значение целым числом.raise ValueError("Invalid input: integer expected")— выбрасываем исключение, если входное значение не является целым числом.process_input("string")— пытаемся передать строку, чтобы вызвать ошибку.except ValueError as e:— ловим исключение и проверяем его сообщение.assert str(e) == "Invalid input: integer expected"— убеждаемся, что выбрасывается корректное исключение с ожидаемым сообщением.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться