СПОСОБ МУТАЦИОННОГО ТЕСТИРОВАНИЯ РАДИОЭЛЕКТРОННОЙ АППАРАТУРЫ И ЕЕ УПРАВЛЯЮЩЕГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
METHOD FOR MUTATION TESTING OF RADIO-ELECTRONIC EQUIPMENT AND CONTROL SOFTWARE THEREOF

Изобретение относится к компьютерным системам, основанным на специфических вычислительных моделях с использованием электронных средств.
Известен способ (патент РФ №2109329), реализуемый при помощи устройства диагностирования дискретных блоков. Способ реализует алгоритм диагностирования цифровой электронной схемы путем последовательного невероятностного сокращения размерности множества подозреваемых неисправностей. Данный способ включает имитацию целевой аппаратуры и ее аппаратных неисправностей на электронных схемах (макетирование), автоматизированное управление процессом тестирования, отображение информации в удобном для пользователя виде, хранение результатов тестирования. Недостатками данного устройства являются отсутствие реконфигурируемой при помощи языков описания аппаратуры аппаратной части тестового устройства и обязательное присутствие при тестировании целевой аппаратуры, что увеличивает время тестирования и усложняет оборудование тестового комплекса.
Известен способ, реализуемый при помощи устройства для имитации отказов и внутрисхемного тестирования элементов дискретной аппаратуры (патент РФ №2093885). Способ применяется для отладки и контроля дискретной аппаратуры, а также непосредственно как средство поиска дефектов в цифровых узлах. Способ позволяет имитировать неисправности как на отдельных, так и на нескольких выводах цифровых элементов путем аппаратного макетирования. Обеспечивает возможность работы с элементами, имеющими двунаправленные шины, а также предусматривает
использование устройства в качестве цифрового внутрисхемного тестера за счет создания аппаратно-программной защиты каналов устройства от перегрузки. Позволяет осуществлять автоматизированное управление процессом тестирования. Недостатками данного устройства также являются отсутствие реконфигурируемой при помощи языков описания аппаратуры аппаратной части тестового устройства и обязательное присутствие при тестировании целевой аппаратуры, что увеличивает время тестирования и усложняет оборудование тестового комплекса.
Наиболее близким (прототипом) является способ анализа безопасности устройств с использованием метода внесения неисправностей, основанного на языках описания аппаратуры (патент US №  8418012 В2). Способ заключается в том, что получают базовый проект целевого электронного устройства на языке описания аппаратуры. Создают математические модели неисправностей для особой конфигурируемой интегральной схемы целевого устройства. Описывают эти неисправности на языке описания аппаратуры. Вносят описанные неисправности в базовый проект особой конфигурируемой интегральной схемы целевого устройства, содержащий как минимум один неисправный сигнал. Проводят несколько экспериментов по внесению неисправностей в созданную модель, где каждый эксперимент включает неисправность, по крайней мере, одного сигнала. Недостатками данного способа являются: невозможность имитации неисправностей устройств, не имеющих конфигурируемой при помощи языков описания аппаратуры составляющей, по причине того, что неисправности вносятся в конфигурируемую схему самого целевого устройства, по этой же причине при проведении тестирования обязательно присутствие целевой аппаратуры; отсутствие возможности динамического (без перекомпиляций проекта) управления включением/выключением неисправностей в моделях при помощи программного обеспечения (ПО) высокого уровня; аппаратная избыточность при осуществлении способа ввиду разделения устройства
моделирования неисправностей и устройства управления тестовым комплексом.
Метод мутационного тестирования основывается на намеренном внесении неисправностей (мутаций) в объект тестирования (в целевую радиоэлектронную аппаратуру) с последующим тестированием их наличия (ikithttp://ikit.sfo-kras.ru/files/ikit/7_Mutacionnoe_testirovanie.pdf - сайт Сибирского федерального университета; Budd Т.A. Mutation Analysis of Program Test Data. PhD thesis. - New Haven CT, Yale University, 1980). Термин «целевая аппаратура» необходимо понимать как реальный продукт, практически создаваемый для конечного потребителя. Например, бортовая радиоэлектронная аппаратура космических аппаратов, отрабатываемая на Земле перед запуском в космос. Нельзя понимать под этим термином аппаратно-программные тестовые комплексы для целевой аппаратуры, но заявляемый способ применим в том числе для их тестирования. Причем в этом случае отпадает необходимость присутствия целевой аппаратуры: ее можно смоделировать в программируемой логической интегральной схеме (ПЛИС) тестового устройства.
Задачей изобретения является устранение указанных недостатков, что позволит имитировать неисправности не программируемых на языках описания аппаратуры электронных устройств и проводить тестирование в отсутствие целевой аппаратуры (неисправности вносятся в модели целевой аппаратуры).
Поставленная задача изобретения решается тем, что в проекты ПЛИС, реализованные на языках описания аппаратуры, намеренно вносят модели неисправностей; затем проводят тестирование с целью оценки вероятности обнаружения внесенных моделей неисправностей тестируемой аппаратурой или ПО; на языке описания аппаратуры создают проект исправной модели целевого устройства, имитирующей поведение каналов ввода-вывода объекта испытаний (целевого разрабатываемого устройства); записывают получившийся проект модели в ПЛИС устройства имитации неисправностей, встроенного в устройство управления процессом тестирования и содержащего интерфейсные каналы ввода-вывода; проводят тестирование на этой модели; результаты тестирования заносят в протокол при помощи устройства управления процессом тестирования; на языках описания аппаратуры создают проект модели объекта тестирования с неисправностями, причем предусматривают возможность их динамического (без перекомпиляции проекта) включения/выключения в процессе тестирования, при помощи управляющего ПО высокого уровня; записывают получившийся проект модели в ПЛИС того же самого устройства имитации неисправностей, встроенного в устройство управления процессом тестирования; при помощи устройства управления процессом тестирования формируют массив управляющих воздействий, поочередно включающих неисправности, реализованные в модели и указанные в массиве; проводят тестирование на этой модели; результаты тестирования заносят в протокол при помощи устройства управления процессом тестирования; при помощи устройства управления тестированием сравнивают результаты тестирования от исправной и неисправной моделей на каждой неисправности из заданного массива, если в процессе тестирования исправной модели неисправностей не обнаруживают, а при тестировании неисправной обнаруживают весь массив внесенных неисправностей, то тестируемую аппаратуру или ПО считают прошедшими тестирование; если в процессе тестирования исправной модели обнаруживают неисправности, то определяют коэффициент первого этапа R1=1/о, где о - количество обнаруженных неисправностей; если в процессе тестирования неисправной модели обнаруживают не все неисправности, то определяют коэффициент второго этапа R2=ov/oo, где ov - количество внесенных в модель неисправностей, оо - количество обнаруженных неисправностей.
Способ осуществляют следующим образом.
На языке описания аппаратуры создают проект исправной модели целевого устройства, имитирующей поведение каналов ввода-вывода объекта испытаний (целевого разрабатываемого устройства или его частей), связывающих устройство имитации неисправностей с устройством управления, содержащим устройства контроля. Записывают получившийся проект в ПЛИС устройства имитации неисправностей, встроенного в устройство управления процессом тестирования и содержащего интерфейсные каналы ввода-вывода. Реализация модели на ПЛИС позволяет исключить моделирование временных промежутков, так как современные ПЛИС поддерживают такой же уровень скоростей, как и целевая аппаратура. В то же время на ПЛИС можно реализовывать любые устройства, требуемые для тестирования, путем простого перепрограммирования, что занимает гораздо меньше времени, чем аппаратное макетирование, которое требует получения реальной элементной базы электроники и сложного процесса ее монтажа на печатные платы (причем количество неисправностей и их комбинаций, при макетировании, будут ограничены размерами плат и топологиями схем, и может потребоваться изготовление нескольких макетов, что усложнит тестирование). Далее проводят тестирование модели. Результаты тестирования автоматически заносятся в протокол устройством управления процессом тестирования. На языке описания аппаратуры создают проект модели объекта тестирования с неисправностями, причем предусматривают возможность их динамического включения/выключения в процессе тестирования, при помощи управляющего ПО высокого уровня, что сильно сокращает количество перекомпиляций проектов ПЛИС. Например, необходимо имитировать 10 различных неисправностей, причем ввести их в процесс тестирования во всех возможных комбинациях. На каждую комбинацию потребуется переделать проект ПЛИС и провести его перекомпиляцию. Допустим, что наличие неисправности это 1, а отсутствие 0, это значит, что количество перекомпиляций (исключая исправную модель)
двоичная
десятичная
составит 1023 (1111111111=1023). В предлагаемом способе в проекте ПЛИС модели предусматривают возможность включения/выключения каждой отдельной неисправности путем введения программируемой логической структуры «ЕСЛИ», которая управляется ПО высокого уровня формированием массива управляющих воздействии включения/выключения. Таким образом, при имитации всего 10 неисправностей количественное соотношение перекомпиляций в предлагаемом способе и в прототипе составит 1/1023. Далее записывают получившийся проект в ПЛИС того же самого устройства имитации неисправностей, встроенного в устройство управления процессом тестирования. При помощи устройства управления процессом тестирования формируется массив управляющих воздействий, автоматически поочередно включающих неисправности, реализованные в модели и указанные в массиве. Проводят тестирование на этой модели. Результаты тестирования автоматически заносятся в протокол устройством управления процессом тестирования. Автоматически, при помощи устройства управления тестированием, сравнивают результаты тестирования от исправной и неисправной моделей на каждой неисправности из заданного массива. Если в процессе тестирования исправной модели неисправностей не обнаружено, а также обнаружен весь массив внесенных неисправностей в неисправную модель, то аппаратура или ее управляющее ПО считаются прошедшими тестирование. Если в процессе тестирования исправной модели обнаруживают неисправности, то определяют коэффициент первого этапа R1=1/о, где о - количество обнаруженных неисправностей. Если в процессе тестирования неисправной модели обнаруживают не все неисправности, то определяют коэффициент второго этапа R2=ov/oo, где ov - количество включенных в модель неисправностей, оо - количество обнаруженных неисправностей. Для тестирования предлагаемым способом отпадает обязательная потребность использования реальной целевой аппаратуры, так как любые неисправности любой аппаратуры вносятся в специальное
универсальное устройство, содержащее модели высокой степени реконфигурируемости, реально существующей целевой аппаратуры и реально существующих неисправностей.
Описанный способ осуществим также с реализацией исправной и неисправной моделей в двух отдельных одинаковых устройствах. В этом случае тестирование исправной и неисправной моделей можно проводить одновременно, что дополнительно сократит время тестирования.
Устройство управления процессом тестирования реализовано в крейт-шасси, управляемом крейт-контроллером, к которому подключаются манипуляторы (мышь и клавиатура). Данные о процессе тестирования выводятся на монитор. Управление крейт-контроллером обеспечивают операционная система и пакет прикладных программ. Также при помощи пакета прикладных программ задается массив неисправностей для неисправной модели. Данные, полученные в процессе тестирования, протоколируются, и результаты сравниваются. Вычисляются коэффициенты покрытия неисправностей проведенного тестирования (R1 и R2). Устройство имитации неисправностей в модульном исполнении, содержащее ПЛИС и каналы ввода-вывода для соединения с устройством управления, встраивают в крейт-шасси устройства управления. Таким образом, по внутреннему интерфейсу объединяют устройство управления и устройство имитации неисправностей, что упрощает конструкцию. При помощи вышеописанного пакета прикладных программ оператор задает, какие неисправности и в какой последовательности включать в тестирование, и запускает процесс. Для каждой комбинации неисправностей автоматически поочередно проводится тестирование. Результаты автоматически анализируются и заносятся в протокол, содержащийся в памяти крейт-контроллера устройства управления.
Таким образом, заявляемым способом достигается:
- повышение функциональности тестирования радиоэлектронной аппаратуры и ее управляющего ПО путем реализации возможности проведения тестирования в отсутствие целевой аппаратуры (применяются модели аппаратуры на ПЛИС);
- уменьшение времени, затрачиваемого на тестирование по сравнению с аппаратной имитацией неисправностей (макетированием), ввиду применения программного моделирования на языках описания аппаратуры;
- уменьшение количества требуемых перекомпиляций проектов моделей с неисправностями путем реализации в моделях возможности управления включением/выключением неисправностей при помощи программного обеспечения высокого уровня;
- уменьшение количества аппаратуры, требуемой для тестирования радиоэлектронной аппаратуры или ее управляющего ПО, путем объединения устройства имитации неисправностей и устройства управления тестированием.