Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 400161.doc
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
1.66 Mб
Скачать

4.4.2. Использование динамического сжатия тестов

Старческое сжатие тестовых наборов — способ уменьшения общего числа тестов совмещением отдельных тестовых наборов после их генерации. Другой подход, используемый только в про­цедуре PODEM, заключается в попытке максимизировать прира­щение уровня покрытия неисправностей в процессе генерации каждого теста. Этот метод, названный динамическим сжатием тестов, представлен в общих чертах на рис. 4.15.

Как только в процедуре PODEM завершается генерация тес­тового набора, подсчитывается число первичных входов, остаю­щихся недоопределенными. Если это число составляет приемлемую часть (в процентах) от общего числа первичных входов (в каче­стве приемлемого предполагается 15% и выше), производится поиск каких-либо непокрытых неисправностей, которые могли бы обнаруживаться в результате доопределения этих неопределен­ных первичных входов на рассматриваемом тестовом наборе. По­иск основан на нахождении Х-значного узла, представляющего непокрытую неисправность, который расположен на Х-пути к первичному выходу с неопределенным логическим состоянием. Если поиск успешен, то устанавливается исходный целевой узел, в котором создаются условия проявления этой новой вторичной неисправности, и процедурой PODEM. осуществляется попыгка дальнейшего доопределения, обеспечивающего генерацию теста для обнаружения этой неисправности.

Рис. 4.15. Динамическое сжатие тестов в процедуре PODEM

Эта попытка может быть успешной или неуспешной, так как логические значения некото­рых первичных входов и внутренних узлов были уже определены в предыдущем цикле программы PODEM. Если попытка успеш­на, то осуществляется возврат к условию, проверяющему число оставшихся недоопределенных первичных входов. Если попытка неуспешна, то возможно несколько вариантов решения. Пер­вый — возврат к выбору вторичной неисправности и анализ воз­можности существования другой вторичной неисправности. Вто­рой — отказ от попытки и выход из подпрограммы после произвольного доопределения первичных входов с неопределенными состояниями. Один из способов выбора решения связан с наблю­дением за временем, расходуемым на построение вторичной неис­правности, и сравнение его с временными затратами на основную часть теста (для исходной неисправности). Когда длительность вторичного цикла превышает, скажем, 50% времени основного цикла, то принимается отказ от попытки выполнения вторичного цикла.

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