Тестирование методом "черного ящика"

отметили
6
человек
в архиве
Тестирование методом "черного ящика" — это простая технология, которая может оказать значительный эффект на качество кода. В этой статье Эллиотт Расти Харольд демонстрирует, что случается, когда он преднамеренно внедряет случайные неправильные данные в приложение и смотрит, что от этого работает неверно. Он также объясняет использование технологий создания безопасного кода: контрольных сумм, хранилищ данных XML и проверки кода, которые защищают программы от случайных данных. Завершается статья жизненно важной технологией защиты, а именно упражнением по имитации подходов взломщиков кода.

На протяжении многих лет меня поражает количество поврежденных файлов, которые могут вызвать сбой Microsoft Word. Несколько несоответствующих байтов — и работа приложения более невозможна. Раньше, в эпоху операционных систем без механизмов защиты памяти, из-за этого могла прекратиться работа и всего компьютера. Почему Word не может распознать, что полученные данные не годятся, и просто выдать сообщение об ошибке? Почему это приложение повреждает свой собственный стек и прочие области памяти только из-за того, что поменялись несколько битов? Вряд Word — это единственная программа, которая ведет себя столь ужасно при встрече с неверно сформированными файлами.

Эта статья знакомит с технологией, которая пытается предотвратить неприятности именно такого рода. При тестировании методом "черного ящика" вы атакуете программу случайными неверными данными (которые называются искажением (fuzz)), а затем ждете и смотрите, что сломалось. Хитрость такого метода заключается в том, что тестирование нелогично. Вместо того, чтобы пытаться угадать, какие данные могут спровоцировать ошибку (как обычно поступают люди, занимающиеся тестированием), автоматизированный тест просто выдает программе как можно более случайный "мусор". Ошибки, определяемые подобным тестированием, обычно шокируют программистов, поскольку ни один логически мыслящий человек не мог их даже ожидать.
Добавил IBM developer Works IBM developer Works 25 Декабря 2006
проблема (1)
Комментарии участников:
Alaska
0
Alaska, 25 Декабря 2006 , url
Докучи надо было дать методику белого ящика ;)
Grigoriy
0
Grigoriy, 25 Декабря 2006 , url
и про серый упомянуть — получится книжка )


Войдите или станьте участником, чтобы комментировать