Отладка и тестирование программы

Страницы работы

Содержание работы

Министерство образования и науки РФ

ГОУВПО «Комсомольский-на-Амуре государственный технический университет»

Кафедра МОП ЭВМ

Лабораторная работа №13

«ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ»

                                                               Выполнил: Рогозин В.А.

Группа: 4ВС-1

Проверил: Петров Ю.А.

Комсомольск-на-Амуре

2005

Цель работы:

·  Научиться выбирать и обосновывать модели памяти при разработке программы;

·  Научиться выполнять тестирование программ;

·  Научиться определять критерии качества созданной программы.

      Задание 1: Ранее разработанную программу (по своему усмотрению), откомпилировать в двух различных моделях памяти: Small и Large. Разработать для них структуру моделей памяти, дать сравнительную характеристику. Привести объемы памяти для исходных, объектных и исполняемых кодов.

     Примечание. Для получения карты размещения компонентов программы используйте map – файл.

      Задание 2: Выполнить тестирование разработанной в задании 1 программы. Перечислить виды ошибок, с которыми можно встретиться при разработке программы. Какие из этих видов ошибок не обнаруживает компилятор? Какие ситуации возможны при выдаче неверных результатов? Опишите процесс отладки этой программы с помощью отладчика ВС++.

      Задание 3: Определить критерии качества разработанной в задании 1программы. Какие из них являются функциональными, какие конструктивными? К каким видам метрик они относятся? Укажите критерии качества, используемые на этапе проектирования программы. Укажите критерии качества, используемые на этапах эксплуатации и сопровождения программ.

Программа взята из 12 лабораторной работы, 2 задание.

Задание 1:

 


Модель

Имя файла

Размер файла (байт)

Small

L_12_2.cpp

1004

L_12_2.obj

1916

L_12_2.exe

15977

Large

L_12_2.cpp

1004

L_12_2.obj

2129

L_12_2.exe

18348

Small:

Start  Stop   Length Name               Class

00000H 028B4H 028B5H _TEXT              CODE

028C0H 028C0H 00000H _FARDATA           FAR_DATA

028C0H 028C0H 00000H _FARBSS            FAR_BSS

028C0H 028C0H 00000H _OVERLAY_          OVRINFO

028C0H 028C0H 00000H _1STUB_            STUBSEG

028C0H 02DC3H 00504H _DATA              DATA

02DC4H 02DC5H 00002H _CVTSEG            DATA

02DC6H 02DCBH 00006H _SCNSEG            DATA

02DCCH 02DCCH 00000H _CONST             CONST

02DCCH 02DD7H 0000CH _INIT_             INITDATA

02DD8H 02DD8H 00000H _INITEND_          INITDATA

02DD8H 02DD8H 00000H _EXIT_             EXITDATA

02DD8H 02DD8H 00000H _EXITEND_          EXITDATA

02DD8H 02E1BH 00044H _BSS               BSS

02E1CH 02E1CH 00000H _BSSEND            BSSEND

02E20H 02E9FH 00080H _STACK             STACK

Program entry point at 0000:0000

Large:

Start  Stop   Length Name               Class

00000H 02ED4H 02ED5H _TEXT              CODE

02ED5H 030C0H 001ECH L_12_2_TEXT        CODE

030D0H 030D0H 00000H _FARDATA           FAR_DATA

030D0H 030D0H 00000H _FARBSS            FAR_BSS

030D0H 030D0H 00000H _OVERLAY_          OVRINFO

030D0H 030D0H 00000H _1STUB_            STUBSEG

030D0H 0360DH 0053EH _DATA              DATA

0360EH 0360FH 00002H _CVTSEG            DATA

03610H 03615H 00006H _SCNSEG            DATA

03616H 03616H 00000H _CONST             CONST

03616H 03621H 0000CH _INIT_             INITDATA

03622H 03622H 00000H _INITEND_          INITDATA

03622H 03622H 00000H _EXIT_             EXITDATA

03622H 03622H 00000H _EXITEND_          EXITDATA

03622H 036A5H 00084H _BSS               BSS

036A6H 036A6H 00000H _BSSEND            BSSEND

036B0H 0372FH 00080H _STACK             STACK

Program entry point at 0000:0000

Задание 2

При разработки программы можно встретиться с следующими видами ошибок:

  • ошибки в описании задачи
  • ошибка в выборе алгоритма
  • ошибки анализа
  • ошибки общего характера (недостаточное знание языка)
  • физические ошибки

Не обнаруживаемые компилятором ошибки:

  • пропуск части программы
  • преждевременный выход (взрыв) из программы и вывод сообщения об ошибке
  • зацикливание

Из вышеперечисленных видов ошибок при разработке программы я столкнулся со следующими:

  • синтаксическими
  • физическими ошибками(случайный пропуск операторов)
  • зацикливание
  •  

Меню DEBUG

  • Inspect - показывает значение введенного объекта, его тип и адресc в памяти
  • Evaluate\Modify - позволяет просмотреть и изменить параметры объектов
  • Call stack - выводит список всех вызванных функций и их параметры
  • Watches - показывает в отдельном окне текущие значения выбранных объектов
  • Toggle Breakpoint - устанавливает контрольную точку, на которой приостанавливается выполнение программы
  • Breakpoints - выводит список всех контрольных точек

Задание 3

Критерии качества программы:

  • Работоспособность (Нормальная) - функциональный критерий
  • возможность обучения (нет) - функциональный критерий
  • коммуникативность (нет) - конструктивный критерий
  • объем ввода \ вывода (ввод осуществляется пользователем с клавиатуры - объем очень малый, вывод на экран - зависит от введенного числа) — функциональный критерий
  • скорость ввода \ вывода (скорость вывода большая, ввода - зависит от пользователя) - функциональный критерий
  • регулирование \ контроль доступа (нет) - функциональный критерий
  • эффективность использования памяти (память используется эффективно) конструктивный критерий
  • завершенность программы (логически завершена) - функциональный критерий
  • точность результатов (при правильном вводе - абсолютная точность) - функциональный критерий
  • устойчивость к ошибкам (средняя устойчивость) - функциональный критерий
  • краткость \ простота (да) - конструктивный критерий
  • мобильность (нет) - конструктивный критерий
  • машино-независимость (да) - функциональный критерий

Виды метриков:

1) интервальная шкала(скорость и объем ввода \ вывода, краткость)

2) порядковая шкала(точность результатов, эффективность использования памяти)

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

Критерии качества, используемые на этапе проектирования программы:

  • работоспособность
  • эффективность использования памяти
  • точность результатов
  • скорость ввода\вывода
  • простота
  • корекность
  • трудоемкость

Критерии качества, используемые на этапах эксплуатации и сопровождения программ:

  • мобильность
  • машино-независимость
  • устойчивость к ошибкам
  • трудоемкость изучения
  • способность к модернизации
  • надежность

Похожие материалы

Информация о работе