Логические ошибки связаны с несоответствием программы алгоритму поставленной задачи. Для обнаружения логических ошибок нет формального аппарата, поэтому широко применяется метод тестирования (т.е. разработка контрольного примера).
Он заключается в том, что программа выполняется не на исходных данных, а на специально разработанных вариантах с известными ответами. Не совпадение ответов соответствует о наличии в программе логических ошибок.
Отладка программы на контрольном примере позволяет выявить значительные ошибки в коде программы, а также повысить её эффективность.
Основными разновидностями контроля программного обеспечения являются визуальный, статический и динамический контроли. Рассмотрим каждый из них:
· визуальный контроль — это проверка программ «за столом», без использования компьютера. Осуществляется чтение программы, причем особое внимание уделяется следующим ее элементам (комментариям и их соответствию тексту программы);
· статический контроль- это проверка программы по ее тексту (без выполнения) с помощью инструментальных средств. Наиболее известной формой статического контроля является синтаксический контроль программы с помощью компилятора, при котором проверяется соответствие текста программы синтаксическим правилам языка программирования. Вторая форма статического контроля – контроль правдоподобия программы, то есть выявление в ее тексте конструкций, которые хотя и синтаксически корректны, но, скорее всего, содержат ошибку или свидетельствуют о ней;
· динамический контроль программы — это проверка правильности программы при ее выполнении на компьютере, т.е. тестирование.