Редко на 100% гарантируется, что система будет использоваться только по назначению.Для команды важно понять, как система будет вести себя, если плохие данные «каким-то образом» попадут в систему.Подобные проблемы на самом деле могут быть очень важными, например, проблемы безопасности, которые могут привести к раскрытию личных данных клиентов, потому что никто не предназначен для ввода операторов SQL в это поле ;это должно было быть только для студенческих имен.Так что, да, я абсолютно проверяю, что происходит, когда система не используется «по назначению».Системы должны изящно выходить из строя, а неуместные сбои - это ошибки.Неподтвержденные сбои или сбои, которые сложно исследовать, также могут быть ошибками.
Точные шаги, которые я предпринимаю для взлома программного обеспечения, зависят от того, что тестируется.Как правило, наша команда делит функциональные тестовые примеры на 3 группы при создании оценок: «Тестирование по счастливому пути», которое просматривает каждую функцию один раз с наиболее простым «ожидаемым входным» вариантом использования, который может предложить тестер.«Странное» тестирование, которое представляет собой более тщательный обзор, охватывающий все крошечные кусочки логики, а также необычные допустимые случаи, о которых программисты могли и не задумываться (в первую очередь, граничное тестирование и тестирование классов эквивалентности).И, наконец, тестирование на «ошибки», которое заключается во введении неверных и неожиданных входных данных для попытки взлома кода и часто включает в себя, в частности, тестирование для регистрации, мониторинга и устранения ошибок.Как правило, тестирование «счастливого пути» довольно быстрое, но «странное» и «ошибочное» тестирование требует много времени.Это просто функциональное тестирование, и оно не включает другие типы тестирования, такие как тестирование интеграции или производительности.
Мы также обычно стараемся получить живые данные для тестирования, когда они доступны;тестировщики могут составить большой список возможных непреднамеренных применений, и при этом пропустить непреднамеренное использование, которое придет заказчику.