Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


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.

 



<< ПредыдущаяОглавлениеСледующая >>