Динамическое тестирование черного ящика против статического тестирования белого ящика

Если бы нам пришлось выбирать между динамическим тестом черного ящика и статическим тестом белого ящика, какой из них нам лучше выбрать? Динамическое тестирование Blackbox - это тестирование без понимания базового кода, тогда как тестирование статического белого ящика - это проверка кода без его выполнения.

2 ответа

Решение

Если вам абсолютно необходимо сделать выбор, пройдите тестирование черного ящика. Это не поможет, если код в идеальной форме, если он делает что-то не так. Тестирование также должно подтвердить, что продукт действительно может быть использован для решения проблем клиентов.

Тем не менее, я не понимаю, почему вы должны (или могли) когда-либо ограничивать тестирование только одним типом. Разные стратегии выявляют разные проблемы, и лучше делать немного каждого, чем тратить все время на выполнение одной вещи.

Это зависит от требований, но предпочтительным является статическое тестирование белого ящика из-за следующих моментов:

В целом, "белая коробка" выявляет более высокую распространенность многих категорий, что можно объяснить более низкими показателями FN(ложноотрицательные). Статика лучше, чем динамика в 5 из 7 категорий:

  • Прогноз учетных данных / сеанса
  • SQL-инъекция
  • Обход пути
  • Недостаточная авторизация
  • ОС командование

Внедрение SQL, обход пути и управление ОС, вероятно, лучше обнаруживаются статическим, потому что это хорошие методы для статического с его 100% покрытием кода.

Другие вопросы по тегам