Тестиpование и отладка пpогpамных комплексов
------------------T-----------T-----------------T-----...
Тестиpование и отладка пpогpамных комплексов
------------------T-----------T-----------------T-----...
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ГОРНЫЙ УНИВЕРСИТЕТ
кафедра
вм
Курсовик
“Программа сложной структуры с использованием меню”
ВЫПОЛНИЛ:
Пикулин Е. Г.
принял: Солодовников А. Д.
ã мОСКВА 1996 год
ОГЛАВЛЕНИЕ.
1. ВИДЫ КОНТРОЛЯ
ПРОГРАММ 3
2. ЦЕЛИ, ПРИНЦИПЫ И ЭТАПЫ ТЕСТИРОВАНИЯ
3. СТРУКТУРНОЕ ТЕСТИРОВАНИЕ
4. СОВМЕСТНОЕ ТЕСТИРОВАНИЕ МОДУЛЕЙ
5. ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ
6. ТЕСТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА В ЦЕЛОМ
7. ОТЛАДКА ПРОГРАММ
ВИДЫ КОНТРОЛЯ ПРОГРАММ
Программный комплекс - это совокупность программных
модулей, предназначенных для решения одной задачи и составляющих
одно целое.
Основными
разновидностями контроля программного обеспечения являются визуальный,
статический и динамический.
Визуальный
контроль - это проверка программ “ за столом “ , без использования компьютера.
На первом этапе визуального контроля осуществляется чтение программы, причем
особое внимание уделяется следующим ее элементам:
комментариям и их соответствию тексту программы ;
условиям в операторах условного выбора ( IF, CASE ) и цикла;
сложным логическим выражениям;
возможности незавершения итерационных циклов ( WHILE, REPEAT, LOOP ).
Второй
этап визуального контроля - сквозной контроль программы
(
ее ручная прокрутка на нескольких заранее подобранных простых тестах).
Распространенное мнение , что более выгодным является перекладывание большей
части работы по контролю программных средств на компьютере, ошибочно. Основной
довод в пользу этого таков : при работе на компьютере главным образом совершенствуются
навыки в использовании клавиатуры, в то время как программистская квалификация
преобретается прежде всего за столом.
Статический
контроль- это проверка программы по ее тексту (без выполнения) с
помощью инструментальных средств. Наиболее известной формой статического
контроля является синтаксический контроль программы с помощью компилятора , при
котором проверяется соответствие текста программы синтаксическим правилам языка
программирования.
Сообщения
компилятора обычно делятся на несколько групп в зависимости от уровня тяжести
нарушения синтаксиса языка программирования :
- информационные сообщения и предупреждения , при обнаружении которых
компилятор, как правило, строит корректный объектный код и дальнейшая работа с
программой (компоновка, выполнение) возможна (тем не менее сообщения этой
группы также должны тщательно анализироваться, так как их появление также может
свидетельствовать об ошибке в программе - например, из-за неверного понимания
синтаксиса языка);
- сообщения об ошибках, при обнаружении которых компилятор пытается их
исправить и строит объектный код, но его корректность маловероятна и дальнейшая
работа с ним скорее всего не возможна;
3
- сообщения о серьезных ошибках , при
наличии которых построенный
компилятором объектный код заведомо некорректен и его дальнейшее использование
невозможно;
- сообщения об ошибках , обнаружение
которых привело к прекращению синтаксического контроля и построения объектного
кода .
Однако, практически любой компилятор пропускает некоторые
виды синтаксических ошибок. Место обнаружения ошибки может находиться далеко по
тексту программы от места истинной ошибки, а текст сообщения компилятора может
не указывать на истинную причину ошибки. Одна синтаксическая ошибка может
повлечь за собой генерацию компилятором нескольких сообщений об ошибках
(например, ошибка в описании переменной приводит к появлению сообщения об
ошибке в каждом операторе программы, использующем эту переменную).
Второй формой синтаксического контроля может быть
контроль структурированности программ, то есть проверка выполнения соглашений и
ограничений структурного программирования. Примером подобной проверки может
быть выявление в тексте программы ситуаций, когда цикл образуется с помощью
оператора безусловного перехода (использования оператора GOTO для перехода
вверх по тексту программы ). Для проведения контроля структурированности могут
быть созданы специальные инструментальные средства, а при их отсутствии эта
форма статического контроля может совмещаться с визуальным контролем .
Третья форма статического контроля - контроль
правдоподобия программы, то есть выявление в ее тексте конструкций, которые
хотя и синтаксически корректны, но скорее всего содержат ошибку или
свидетельствуют о ней. Основные неправдоподобные ситуации :
- использование в программе
неинициализированных переменных (то есть переменных, не получивших начального
значения) ;
- наличие в программе описаний элементов,
переменных, процедур, меток, файлов, в дальнейшем не используемых в ее тексте;
- наличие в тексте программы фрагментов,
никогда не выполняющихся;
- наличие в тексте программы переменных,
ни разу не используемых для чтения после присваивая им значений;
- наличие в тексте программы заведомо
бесконечных циклов ;
Даже если присутствие в тексте программы неправдоподобных
конструкций не приводит к ее неправильной работе, исправлени |