Методы тестирования программного обеспечения. Степанченко И.В. - 23 стр.

UptoLike

Составители: 

25
Если переменная sum содержит ноль, то делениенедопустимая
операция, хотя сам оператор синтаксически правилен. Прежде, чем про-
грамма обнаружит эту ошибку, ее необходимо запустить на выполнение.
Хотя данный тип ошибок называется «ошибками периода выполне-
ния», это не означает, что ошибки находятся только после запуска про-
граммы. Вы можете выполнять программу в
уме и обнаружить ошибки
данного типа, однако, понятно, что это крайне неэффективно.
Если проанализировать все типы ошибок согласно первой классифи-
кации, то можно прийти к заключению, что при тестировании приходит-
ся иметь дело с ошибками периода выполнения, так как первые два типа
ошибок определяются на этапе кодирования.
В теоретической информатике
программные ошибки классифици-
руют по степени нарушения логики на:
синтаксические;
семантические;
прагматические.
Синтаксические ошибки заключаются в нарушении правописания
или пунктуации в записи выражений, операторов и т. п., т. е. в наруше-
нии грамматических правил языка. В качестве примеров синтаксических
ошибок можно назвать:
пропуск необходимого знака пунктуации;
несогласованность скобок;
пропуск нужных скобок;
неверное написание зарезервированных слов;
отсутствие описания массива.
Все ошибки данного типа обнаруживаются компилятором.
Семантические ошибки заключаются в нарушении порядка опера-
торов, параметров функций и употреблении выражений. Например, па-
раметры у функции add (на языке Java) в следующем выражении указаны
в неправильном порядке:
GregorianCalendar.add(1, Calendar.MONTH).
Параметр, указывающий изменяемое поле (в примеремесяц), дол-
жен идти первым. Семантические ошибки также обнаруживаются компи-
лятором.
Надо отметить, что некоторые исследователи относят семантические
ошибки к следующей группе ошибок.
Прагматические ошибки (или логические) заключаются в непра-
вильной логике алгоритма, нарушении смысла вычислений и т. п. Они яв-
ляются самыми сложными и
крайне трудно обнаруживаются. Компилятор
может выявить только следствие прагматической ошибки (см. выше при-
мер с делением на ноль, компилятор обнаружит деление на ноль, но когда
и почему переменная sum стала равна нулюдолжен найти программист).
     Если переменная sum содержит ноль, то деление – недопустимая
операция, хотя сам оператор синтаксически правилен. Прежде, чем про-
грамма обнаружит эту ошибку, ее необходимо запустить на выполнение.
     Хотя данный тип ошибок называется «ошибками периода выполне-
ния», это не означает, что ошибки находятся только после запуска про-
граммы. Вы можете выполнять программу в уме и обнаружить ошибки
данного типа, однако, понятно, что это крайне неэффективно.
     Если проанализировать все типы ошибок согласно первой классифи-
кации, то можно прийти к заключению, что при тестировании приходит-
ся иметь дело с ошибками периода выполнения, так как первые два типа
ошибок определяются на этапе кодирования.
     В теоретической информатике программные ошибки классифици-
руют по степени нарушения логики на:
• синтаксические;
• семантические;
• прагматические.
     Синтаксические ошибки заключаются в нарушении правописания
или пунктуации в записи выражений, операторов и т. п., т. е. в наруше-
нии грамматических правил языка. В качестве примеров синтаксических
ошибок можно назвать:
• пропуск необходимого знака пунктуации;
• несогласованность скобок;
• пропуск нужных скобок;
• неверное написание зарезервированных слов;
• отсутствие описания массива.
     Все ошибки данного типа обнаруживаются компилятором.
     Семантические ошибки заключаются в нарушении порядка опера-
торов, параметров функций и употреблении выражений. Например, па-
раметры у функции add (на языке Java) в следующем выражении указаны
в неправильном порядке:
     GregorianCalendar.add(1, Calendar.MONTH).
     Параметр, указывающий изменяемое поле (в примере – месяц), дол-
жен идти первым. Семантические ошибки также обнаруживаются компи-
лятором.
     Надо отметить, что некоторые исследователи относят семантические
ошибки к следующей группе ошибок.
     Прагматические ошибки (или логические) заключаются в непра-
вильной логике алгоритма, нарушении смысла вычислений и т. п. Они яв-
ляются самыми сложными и крайне трудно обнаруживаются. Компилятор
может выявить только следствие прагматической ошибки (см. выше при-
мер с делением на ноль, компилятор обнаружит деление на ноль, но когда
и почему переменная sum стала равна нулю – должен найти программист).

                                 25