logo search
Лекции_ПиОА[1]

6.2. Принципы и виды отладки пс

Успех отладки предопределяет рациональная организация тестирования. При отладке ПС отыскиваются и устраняются те ошибки, наличие которых установлено посредством тестирования. Тестирование не доказывает правильность средства, оно демонстрирует наличие в нем ошибки. Нельзя гарантировать, что в результате тестирования ПС на ограниченном наборе тестов, будут установлены все ошибки. В связи с этим возникают две задачи. Первая – подготовить такой набор тестов, чтобы обнаружить по возможности большее число ошибок. Однако чем дольше продолжается процесс тестирования (и отладки в целом), тем больше стоимость ПС. Отсюда вторая задача: определить момент окончания отладки ПС или отдельной его компоненты. Признаком окончания отладки является полнота охвата тестами ситуаций, возникающих при выполнении программ, и относительно редкое проявление ошибок на конечном отрезке тестирования. Последнее определяется согласно требуемой степени надежности ПС.

Д ля подготовки оптимального набора тестов необходимо заранее его планировать и использовать рациональную стратегию его проектирования. Проектирование тестов начинается сразу после завершения этапа внешнего описания ПС. Возможны разные подходы к выработке стратегий проектирования, которые размещаются между двумя крайними подходами (рис. 14). Левый крайний подход заключается в том, что тесты проектируются только на основе изучения спецификаций средства (внешнего описания, описания архитектуры и спецификаций модулей). Строение модулей не учитывается, они рассматриваются как черные ящики. Такой подход требует полного перебора всех наборов входных данных, так как в противном случае некоторые участки программ могут оказаться не задействованными при пропуске неполного набора тестов, вследствие чего содержащиеся в них ошибки не будут обнаружены. Однако тестирование программного средства полным множеством наборов входных данных практически неосуществимо. Правый крайний подход заключается в том, что тесты проектируются на основе изучения текстов программ с целью тестирования путей их выполнения. Если принять во внимание наличие в программах циклов с переменным числом повторений, то различных путей выполнения программ может оказаться чрезвычайно много, так что их полное тестирование также будет практически неосуществимо.

Рациональная стратегия проектирования тестов располагается между этими крайними подходами, но ближе к ее левому краю. Она включает проектирование значительной части тестов по спецификациям, а остальной - по текстам программ. При этом стратегия проектирования по спецификациям базируется на принципах: 1) на каждую используемую функцию или возможность  хотя бы один тест, 2) на каждую область и на каждую границу изменения какой-либо входной величины  хотя бы один тест, 3) на каждую особую ситуацию, указанную в спецификациях,  хотя бы один тест.

В то время как стратегия проектирования по текстам программ базируется на принципе: каждая команда каждой программы должна проработать хотя бы на одном тесте.

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

Различают два основных вида отладки ПС: автономную и комплексную. Автономная отладка означает последовательное раздельное тестирование различных частей программ, с поиском и исправлением фиксируемых ошибок. Фактически отладка включает раздельную отладку программных модулей и их сопряжений. Комплексная отладка означает тестирование ПС в целом с поиском и исправлением фиксируемых при тестировании ошибок во всех документах, включая тексты программ. К таким документам относятся: определение требований к ПС, его спецификация качества, функциональная спецификация, описание архитектуры и тексты программ.