Главная > Отладка и тестирование приложений в среде Visual Studio 2005
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

2. ОСНОВНЫЕ ПОНЯТИЯ ТЕСТИРОВАНИЯ

2.1. Терминология

Отладка (debug, debugging) - процесс поиска, локализации и исправления ошибок в программе.

Термин «отладка» в отечественной литературе используется двояко: для обозначения работы по поиску ошибок (собственно тестирование), по нахождению причин их появления и исправлению, или работы по локализации и исправлению ошибок.

Тестирование обеспечивает выявление (констатацию наличия) фактов расхождений с требованиями (ошибок).

Как правило, на фазе тестирования осуществляется и исправление идентифицированных ошибок, включающее локализацию ошибок, нахождение причин ошибок и соответствующую корректировку программы тестируемого приложения (Application (AUT) или Implementation Under Testing (IUT)).

Если программа не содержит синтаксических ошибок (прошла трансляцию) и может быть выполнена на компьютере, она обязательно вычисляет какую-либо функцию, осуществляющую отображение входных данных в выходные. Это означает, что компьютер на своих ресурсах доопределяет частично определенную программой функцию до тотальной определенности. Следовательно, судить о правильности или неправильности результатов выполнения программы можно, только сравнивая спецификацию желаемой функции с результатами ее вычисления, что и осуществляется в процессе тестирования.

Пример поиска и исправления ошибки

Отладка обеспечивает локализацию ошибок, поиск причин ошибок и соответствующую корректировку программы.

Рассмотрим простую функцию вычисления степени числа.

// Метод вычисляет неотрицательную степень n числа x
static public double Power(double x, int n) {
         double z=1;
         for (int i=1;n>=i;i++) {
            z = z*x;
         }
         return z;
}

Если вызвать метод Power с отрицательным значением степени n Power(2,-1), то получим некорректный результат - 2.

Исправим метод так, чтобы ошибочное значение параметра (недопустимое по спецификации значение) идентифицировалось специальным сообщением, а возвращаемый результат был равен 1.

// Метод вычисляет неотрицательную степень n числа x
static public double PowerNonNeg(double x, int n) {
         double z=1;
         if (n>0) {
            for (int i=1;n>=i;i++) {
                        z = z*x;
            }
         }
         else Console.WriteLine("Ошибка ! Степень числа n должна быть больше 0.");
         return z;
}

Если вызвать скорректированный метод PowerNonNeg(2,-1) с отрицательным значением параметра степени, то сообщение об ошибке будет выдано автоматически.

Судить о правильности или неправильности результатов выполнения программы можно только, сравнивая спецификацию желаемой функции с результатами ее вычисления.

Тестирование разделяют на статическое и динамическое.

Статическое тестирование выявляет формальными методами анализа без выполнения тестируемой программы неверные конструкции или неверные отношения объектов программы (ошибки формального задания) с помощью специальных инструментов контроля кода - CodeCheker.

Динамическое тестирование (собственно тестирование) осуществляет выявление ошибок только на выполняющейся программе с помощью специальных инструментов автоматизации тестирования - Testbed или Testbench.

 

Categories

1
Оглавление
email@scask.ru