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

1.3. Процедуры и проблемы программного тестирования

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

1.3.1. ГЕНЕРАЦИЯ ТЕСТОВ

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

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

а) неопределенности, неполноты и некорректности массивов данных;

б) различий между элементами первичных и вторичных источ­ников данных;

в) разнообразия элементов, их сложности и частоты введения новых элементов;

г) большого объема тестовых данных, требуемых для провер­ки сложных устройств, особенно ЗУПВ и микропроцессорных эле­ментов;

д) недостаточности знаний о возможных дефектах устройства.

1.3.2. ОЦЕНКА ЭФФЕКТИВНОСТИ ТЕСТА

Эффективность тестовых наборов оценивается по заданному списку неисправностей.

Это обусловливает необходимость использовать только тща­тельно изученный прибор или субблок, в который могут быть фи­зически введены неисправности с целью оценки эффективности тестовой программы. С другой стороны, оценить уровень покры­тия неисправностей можно путем моделирования их поведения в программной модели схемы. Метод физического моделирования неисправностей ограничивается либо своими потенциальными возможностями ограниченного доступа к элементам схемы (как в устройстве, изготовленном в виде интегральной схемы), либо мо­делированием лишь тех неисправностей, которые не могут повлечь за собой постоянного повреждения схемы. Например, выход вен­тиля сепии ТТЛ можно заземлить, чтобы моделировать воздействие неисправности н-к-0, но для моделирования неисправности п-к-1 его нельзя соединять с источником питания напряжением —5 В ни непосредственно, ни через ограничивающее -*39сопротив­ление. Для любого значительного промежутка времени такой эксперимент может вызвать необратимое повреждение устройства.

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

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

1.3.3. РЕАЛИЗАИЯ ТЕСТОВОГО ДИАГНОСТИРОВАНИЯ

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

1.3.4. СТОИМОСТЬ ОСНОВНЫХ ПРОЦЕДУР

Подводя итог, основные затраты на выполнение различных тестовых процедур представим в виде следующих составляющих. Для генерации тестов:

а) на обеспечение процесса генерации новых тестовых прог­рамм для новых приборов или печатных плат, выполняемых вруч­ную или с помощью ЭВМ;

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

в) на ЭВМ, выполняющие программы генерации тестов;

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

д) на обслуживание и эксплуатационные расходы по п. а—г;

е) на содержание и непрерывное обучение инженеров, специ­ализирующихся в области программных методов тестирования.

Для оценки эффективности тестов:

а) на совершенствование или приобретение программ модели­рования неисправностей общего назначения и, как и выше, на использование ЭВМ;

б) на постоянное совершенствование соответствующих моде­лей приборов для использования в процедуре моделирования;

в) на машинное время выполнения программ моделирования (обычно рассматриваемая в качестве основной составляющей всех затрат);

г) на обслуживание и эксплуатационные расходы по п. а - в;

д) на обучение.

Для реализации тестового диагностирования:

а) на приобретение АДУ, на обслуживание, эксплуатацию и ремонт;

б) на реализацию интерфейса для каждого типа проверяемой схемы;

в) на реализацию процедуры тестирования, определяемые про­изводительностью: временем установки схемы на АДУ: средним временем обнаружения неисправности, средним временем восста­новления и повторной проверки;

г) на замену исправного элемента и последующее повторное тестирование как результата неправильного диагноза;

д) на отгрузку неисправного изделия заказчику как результа­та неполного покрытия неисправностей;

е) на обучение.

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

а) ожидаемым доходом и уровнем качества изделия;

б) стратегией тестирования на протяжении жизненного цик­ла, выражаемой комбинациями используемых АДУ и числом те­стеров каждого типа;

в) объемом и разнообразием различных проектов;

г) централизованной или децентрализованной эксплуатаци­онной службой и стратегией восстановления.