Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету .doc
Скачиваний:
7
Добавлен:
13.08.2019
Размер:
317.44 Кб
Скачать
  1. Оценка количества ошибок в программе.

Модель Миллса – N естественных ошибок в программе, М искусственных ошибок внесем, обнаружено n естественных и m искусственных, тогда:

(N-n) – количество необнаруженных ошибок.

n/N=m/M

Модель Миллса достаточно проста, ее слабое место – предположение о равновероятности нахождения ошибок, требование отыскать все искусственные ошибки.

Парная оценка – требует тестирования двумя независимыми специалистами, обнаружение всех ошибок считаем равновероятным, не требует искусственного внесения ошибок

Предположим, что в программе N естественных ошибок

Эффективность работы: E1=N1/N, E2=N2/N

Доля всех ошибок, найденных первой группой, равна N1/N. Доля ошибок, найденных первой группой среди тех ошибок, которые были найдены второй группой равна N12/N2. Согласно рассуждениям, эти две величины должны быть равны:

количество ненайденных ошибок = N1*N2N12-N1-N2+N12

Исторический опыт – использование опыта предыдущих программ, после написания текста программы в ней содержится 4-8 ошибок на 100 операторов, по окончании автономной отладки остается 1 ошибка на 100 операторов

  1. Мера доверия к миллсовой модели оценки количества ошибок в программе. Оценка количества необходимых тестов.

N естественных ошибок в программе, М искусственных ошибок внесем

Если мы нашли 100% искусственных ошибок, мы нашли бы 100% естественных (а если внесем только 1 ошибку?)

Предположим, что в программе N естественных ошибок, будем тестировать пока не найдем все ошибки, к моменту, когда найдено n естественных ошибок, мера доверия к модели составляет…

С=1, при n>NMM+N+1при n≤N

С – мера доверия к модели

Если предположить что N=0, внесем 4 ошибки, если не обнаружили естественных ошибок, мера доверия = 80% = (4/(4+0+1)), чтобы быть уверенными до 95% необходимо внести 19 ошибок

Оценка количества необходимых тестов – P=k=0n-11N-kk=0N-11N-k

Чем больше ошибок в программе, тем дороже обойдется поиск последних ошибок. Речь идет о доле числа тестов (чем сложнее программа, тем больше будет тестов)

  1. Отладка. Отладочные операторы.

Отладка – процесс локализации места ошибки и внесение изменений в программу.

По каким-то внешним признакам можно найти только место проявления ошибки, место нахождения ошибки можно определить только путем содержательного анализа текста программы

Отладочные операторы - операторы печати, которые выполняют полную или частичную трассировку значений нужных переменных, трасса может выдаваться на экран или записываться в файл.

Информация, выводимая на экран, может быстро «убежать» с него, поэтому следует делать паузы.

Метод «грубой силы» - полученная информация записывается в файл, копится там «авось пригодится» и потом невозможно разобраться

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

Для того чтобы отделять обычные комментарии от отладочных (можно временно ненужные отладочные операторы комментировать), нужно использовать разные виды скобок

Еще один инструмент отладки – встраивание в текст утверждений о том, каким ограничениям должны удовлетворять те или иные переменные

Отладочные флаги – как правило логические переменные, описанные в программе, отладочные операторы могут быть включены в одной части программы, но выключены в другой, могут существовать наборы таких операторов, управляющих одним и тем же флагом (вкл/выкл одновременно) и отслеживающих одну и ту же переменную

Уровень отладки – меняя значение соответствующей переменной (число) можно регулировать подробность трассировочной таблицы

Отладочные операторы увеличивают размер исходной программы, время трансляции, размер кода, время выполнения

Изменение отладочных операторов /удаление /добавление может внести ошибки в код