Отладка и тестирование приложений в среде Visual Studio 2005. Евсеева О.Н - 32 стр.

UptoLike

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

32
Статическое тестирование выявляет формальными методами анализа
без выполнения тестируемой программы неверные конструкции или неверные
отношения объектов программы (ошибки формального задания) с помощью
специальных инструментов контроля кода – CodeCheker.
Динамическое тестирование (собственно тестирование) осуществляет
выявление ошибок только на выполняющейся программе с помощью специаль-
ных инструментов автоматизации тестирования – Testbed или Testbench.
2.2. Организация тестирования
Тестирование осуществляется на заданном заранее множестве входных
данных X и множестве предполагаемых результатов Y – (X,Y), которые задают
пары соответствий (график) желаемой функции. Кроме того, должна быть за-
фиксирована процедура Оракул (oracle), которая определяет, соответствуют ли
выходные данныеY
В
(вычисленные по входным даннымX) желаемым ре-
зультатамY, т. е. принадлежит ли каждая вычисленная точка (x,y
в
) графику
желаемой функции (X,Y).
Оракул дает заключение о факте появления неправильной пары (x,y
в
) и
ничего не говорит о том, каким образом она была вычислена или каков пра-
вильный алгоритмон только сравнивает вычисленные и желаемые результа-
ты. Оракулом может быть даже Заказчик или Программист, производящий со-
ответствующие вычисления в уме, поскольку Оракулу нужен какой-либо аль-
тернативный способ получения функции (X,Y) для вычисления эталонных зна-
чений Y.
В процессе тестирования Оракул последовательно получает элементы
множества (X,Y) и соответствующие им результаты вычислений (X,Yв) для
идентификации фактов несовпадений (test incident).
При выявлении (x,y
в
)(X,Y) запускается процедура исправления ошибки,
которая заключается во внимательном анализе (просмотре) протокола проме-
жуточных вычислений, приведших к (x,y
в
), с помощью следующих методов:
«Выполнение программы в уме» (deskchecking).
Вставка операторов протоколирования (печати) промежуточных результатов
(logging).
Пошаговое выполнение программы (single-step running).
Выполнение с заказанными остановками (breakpoints), анализом трасс
(traces) или состояний памятидампов (dump).
реверсивное (обратное) выполнение (reversible execution)