Ответ
Тест-анализ предполагает оценку продукта по нескольким критериям качества (атрибутам) для выявления областей тестирования:
1. Функциональная пригодность Проверка соответствия требованиям. Анализируются:
- Позитивные сценарии: работает ли функция как задумано.
- Негативные сценарии: как система обрабатывает неверные или граничные данные.
2. Надежность Способность системы работать стабильно и восстанавливаться после сбоев.
- Обработка ошибок: понятные сообщения, корректное завершение операций.
- Доступность: время безотказной работы.
3. Производительность
- Время отклика: скорость реакции системы на действия пользователя.
- Нагрузочная способность: поведение под пиковой нагрузкой (проверяется инструментами вроде JMeter).
4. Удобство использования (Usability)
- Интуитивность интерфейса: логичность навигации, понятные элементы управления.
- Доступность (Accessibility): поддержка пользователей с ограниченными возможностями.
5. Совместимость
- Кросс-браузерность и кроссплатформенность: работа на разных ОС, браузерах, устройствах.
- Интеграция: корректное взаимодействие с внешними системами (API, базы данных).
6. Безопасность Поиск потенциальных уязвимостей:
- OWASP Top-10: инъекции (SQL, NoSQL), межсайтовый скриптинг (XSS), небезопасная десериализация.
- Контроль доступа: проверка прав и ролей пользователей.
Пример анализа для функции валидации пароля:
# Критерии: функциональность (валидность) + безопасность (сложность)
def test_password_validation():
# Позитивный сценарий: сложный пароль
assert validate_password("Str0ngP@ss!") == True
# Негативные сценарии
assert validate_password("123") == False # Слишком короткий
assert validate_password("password") == False # Нет цифр и спецсимволов
assert validate_password(" ") == False # Пустая строка
Анализ всегда дополняется оценкой бизнес-рисков и приоритетов.