Скачиваний:
24
Добавлен:
26.09.2019
Размер:
774.14 Кб
Скачать

7.2.Задачи отладки программ

Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требующимися характеристиками в задан­ной области входных данных. В результате отладки программа должна соответствовать определенной фиксированной совокупности правил и показателей качества, принимаемой за эталонную для данной программы. Процесс отладки программ включает:

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

статическую проверку текстов разработанных программ и данных на выполнение всех заданных правил построения без исполнения объектного кода;

тестирование программы с ее исполнением в объектном ко­де и с разными уровнями детализации: детерминированное, стохастическое и тестирование в реальном времени;

диагностику и локализацию причин отклонения результатов тестирования от заданных эталонных значений или правил; изменение программы с целью исключения причин отклонения результатов от эталонных.

Основным методом обнаружения ошибок при отладке прог­рамм является их тестирование.

В технической диагностике тест - это последовательность наборов сигналов (исходных данных), которые подаются на вход изделия, и соответствующие им наборы эталонных правиль­ных сигналов (результирующих данных), которые должны быть получены на выходе. Для каждого тестового набора указывают­ся координаты (точки) ввода исходных данных и координаты (точки) контроля результатов. Кроме того, при тестировании необходимо задавать допуски на отклонение результирующих дан­ных от эталонных, в пределах которых следует, что полученные результаты соответствуют эталонным. Степень отклонения полу­чаемых результатов от эталонов используется для оценки ка­чества изделий и соответствия их техническим требова­ниям.

Программы, как объекты тестирования, имеют ряд особен­ностей, которые отличают процесс тестирования от традиционно­го, применяемого для проверки аппаратуры и других техничес­ких изделий. Для сложных КП практически всегда отсутствует полностью определенный и точный эталон для всех тестовых наборов. В связи с этим для тестирования в качестве эталонов используется ряд косвенных данных, которые не полностью отражают функции и характеристики отлаживаемых программ.

Для сложных программ недостижимо исчерпывающее их тес­тирование, гарантирующее абсолютно полную их проверку. Поэ­тому тестирование проводится в объемах, минимально необходи­мых для проверки программ в некоторых ограниченных пре­делах изменения параметров и условий функционирования. Огра­ниченность ресурсов тестирования привела к необходимости упорядочения применяемых методов и конкретных значений параметров с целью получения при тестировании наибольшей глубины проверок программ.

В ряде случаев процесс исполнения программ и получаемые результаты зависят от непредсказуемого изменения входных и промежуточных данных, а также от реального времени. Вслед­ствие этого невозможно создать единственный универсальный метод тестирования и приходится применять ряд значительно различающихся категорий тестов. Каждая категория тестов отличается целевыми задачами, проверяемыми компонен­тами программы и методами оценки результатов. Только совмест­ное и систематическое применение различных методов тести­рования позволяет достигать высокого качества функциони­рования сложных КП. Целесообразно выделить три стадии тес­тирования: для обнаружения ошибок в программе; для диагнос­тики и локализации причин обнаруженных искажений результа­тов; для контроля выполненных корректировок программ и дан­ных.

Основная цель тестирования для обнаружения ошибок­ выявление всех отклонений результатов функционирования ре­альной программы от заданных эталонных значений. Задача состоит в обнаружении максимального числа ошибок, в качестве которых принимается любое отклонение от эталонов. Чем больше ошибок выявляется на этой стадии при каждой операции тести­рования, тем выше эффективность тестов и обоснованность затрат на их выполнение. С этих позиций тесты, не способ­ствующие обнаружению ошибок и только подтверждающие корректность функционирования программ, являются неэффек­тивными, так как приводят к бесполезным затратам.

После тестирования для обнаружения ошибок применяется тестирование для их диагностики и локализации. Основная зада­ча - точно установить место искажения программы или данных, явившегося причиной отклонения результатов от эталонных. Затраты оправданы, и тестирование выполнено успешно, если оно приводит к полной локализации первичных ошибок, подлежа­щих исправлению.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]