пятница, 31 октября 2014 г.

Урок 5. Слайд 217-218

Поехали:

Слайд 217
Во время подготовки к этой лекции вы, вероятно, анализировали функцию, читающую 32-битное слово из памяти и интерпретирующую как положительный integer и возвращающую квадратный корень этого числа.
Больше 4 миллиардов возможных значений на входе в этом примере. Все они валидны. Неважно, что вы намерены хранить в этой области памяти: буквы, отрицательные числа, числа с плавающей точкой - все это функция прочтет как положительный 32-битный integer.
Если вы прочтете не одно, а 2 слова, то у вас будет 2 в 64 степени возможных значений.
У нас есть возможность выбрать для теста небольшой набор примеров - в сравнении с количеством возможных значений даже 1000 тестов это очень мало. Неважно, как вы оптимизируете этот набор, мы не можем быть уверены, что обнаружим все баг, а следовательно мы не можем рассматривать этот набор как полное тестирование.
Позвольте мне сказать пару слов опытным тестировщикам. Вы могли бы использовать техники по выборке данных наподобие тестирования доменов, анализа границ или классов эквивалентности - и протестировать все значения, которые потребуют проверить эти техники - и это, скорее всего, будет хороший набор тестов. Но он не будет полным.

Слайд 218
Doug Hoffman проиллюстрировал это в отчете по тестированию математических функций компьютера MASPAR. MASPAR это сверхбыстрый компьютер с 64 тысячами параллельными процессорами.
Архитекторы MASPAR ожидают, что этот компьютер будет использоваться для критичных задач безопасности. Одно из приложений - целеуказание для ядерных боеголовок. Было бы неплохо, если бы математика на нем работала правильно.

Комментариев нет:

Отправить комментарий