2.8. Классификация по принципам работы с приложением
·
Позитивное
тестирование (positive testing) направлено на исследование приложения в
ситуации, когда все действия выполняются строго по инструкции без каких бы то ни
было ошибок, отклонений, ввода неверных данных и т.д. Если позитивные тест-кейсы
завершаются ошибками, это тревожный признак — приложение работает неверно даже в
идеальных условиях (и можно предположить, что в неидеальных условиях оно
работает ещё хуже). Для ускорения тестирования несколько позитивных тест-кейсов
можно объединять (например, перед отправкой заполнить все поля формы верными
значениями) — иногда это может усложнить диагностику ошибки, но существенная
экономия времени компенсирует этот риск.
·
Негативное
тестирование (negative testing, invalid testing) — направлено на
исследование работы приложения в ситуациях, когда с ним выполняются
(некорректные) операции и/или используются данные, потенциально приводящие к
ошибкам (классика жанра — деление на ноль). Поскольку в реальной жизни таких
ситуаций значительно больше (пользователи допускают ошибки, злоумышленники
осознанно «ломают» приложение, в среде работы приложения возникают проблемы и
т.д.), негативных тест-кейсов оказывается значительно больше, чем позитивных
(иногда — в разы или даже на порядки). В отличие от позитивных негативные
тест-кейсы не стоит объединять, т.к. подобное решение может привести к неверной
трактовке поведения приложения и пропуску (необнаружению) дефектов.