Основные виды контроля:
- Статический
- Динамический
- Визуальный
Визуальный контроль – это проверка программы без использования компьютера. На первом этапе визуального контроля выполняется чтение программы, при этом особое внимание уделяется следующим элементам:
- Комментарии и их соответствие к тексту программ.
- Проверка всех условий в условных операторах и циклы.
- Проверяется сложность логических выражений.
- Возможность не завершения итерационных циклов.
Сквозной контроль программы – насколько корректно написана программа.
Статический контроль – проверка программы по ее тексту без выполнения с помощью инструментальных средств. Синтаксический контроль – выполняется компилятором. Проверка ошибок компилятора, необходимо проверять структурированность программ. Проверка соглашений, возможностей и т. д.
Контроль правдоподобия программы – выявление в тексте программы конструкций, в которых будучи синтаксически корректные могут содержать ошибку.
Основные неправдоподобные ситуации:
- Использование в программе неинициализированных переменных.
- Наличие в программе описание элементов, переменных, процедур, функций, меток, файлов в дальнейшем неиспользованных.
- Наличие в тексте программы переменных, которые ни разу не использовались для чтения, после присвоения их значения.
- Наличие в программе заведомо бесконечных циклов.
- Верификация программ. Аналитическое доказательство их корректности. Здесь нужно отличать понятие надежность и корректность. Говоря о надежности обычно допускают небольшую вероятность ошибки. И поэтому оценивают вероятность появления таких ошибок. Надежность можно описано следующими характеристиками:
1. Целостность программного средства, т.е. способность его к защите от отказа.
2. «Живучесть» - способность входного контроля данных и их проверки в ходе работы.
3. Завершенность - это бездефектность готового программного средства.
4. Работоспособность – это способность программных средств к восстановлению после сбоев.
С учетом специфики появления ошибок в программе можно выделить 2 стороны понятия корректности.
- Корректность, как точное соответствие цели разработки программы. При условии ее завершения.
- Завершение программы, т.е. достижение программой конечной точки.
Динамический контроль – проверка правильности программы и ее выполнение на компьютере.