Jump to content

    
Sign in to follow this  
syoma

Как писать или генерировать тест - кейсы(векторы) для автоматического тестирования встроенной электроники?

Recommended Posts

Сорри за дубляж, попробую тут задать. Ограничусь электроникой.

 

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

 

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

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

То есть должно быть возможным написание тестовых векторов, которые бы в итоге покрыли 100% электроники тестами. Вопрос - как это сделать, чтобы количество таких тестов было более-менее оптимальным? Возможно ли автоматизировать написание таких тестов, если их надо будет достаточно много?

 

Спасибо.

Share this post


Link to post
Share on other sites
А в составе тестируемого устройства есть ПЛИС? Доступ к памяти?

Только микроконтроллер. Помимо него на плате куча различных оптронных развязок и мультиплексоров.

Share this post


Link to post
Share on other sites
...как можно применить данный стенд ...

 

одна из задач при тестировании(любом) - детектирование не правильного поведения на РАННИХ ЭТАПАХ разработки. Т.е. стенд - это один из ПОСЛЕДНИХ этапов (если как чёрный ящик). Более ранние этапы = юнит тесты, функциональные и т.д...

 

удачи вам

(круглый)

 

Share this post


Link to post
Share on other sites
То есть должно быть возможным написание тестовых векторов, которые бы в итоге покрыли 100% электроники тестами.

Вы сами ответили на свой вопрос. 100% покрытие электроники. Анализируете схему и составляете такие наборы входных

воздействий, чтобы были задействованы все цепи и узлы.

Ну и как в софте, каждая цепь тестируется на валидное значение в рабочем диапазоне, граничные значения, запрещенные значения, случайные значения.

 

И их комбинация на все цепи электроники. Чтобы выташить взаимное влияние.

Я бы сделал так.

Share this post


Link to post
Share on other sites
Только микроконтроллер. Помимо него на плате куча различных оптронных развязок и мультиплексоров.

 

Тогда, в Вашем случае, придется относится к устойству как к «черному ящику», и писать тесты на ATE пользуясь лишь поведенческой моделью. Для ПЛИС можно было бы сгенерировать тесты из САПР, память сравнивать с прошивкой. Но и тогда это не будет 100 % тестовым покрытием, т.к. не будет перебора всех возможных комбинаций. Сконцентрируйтесь на измерении электрических параметров, измерьте ток потребления в различных режимах работы, сравните полученные значения по партии Ваших устройств.

Share this post


Link to post
Share on other sites

Тема интересная, я например делаю аналогичные кейсы для тестирования микросхем автопрома.

Но там закладываем изначально при проектировании чипа возможность доступа к блокам внутри

микросхемы и тестирования по "белому ящику". В этом случае покрытие может сильно приближаться

к 100%.

 

В вашем случае, если вы имеете доступ к самой программе сигнализации (возможность перепрошивки,

настройки и т.д.) - то как вариант разбейте на функциональные блоки и закройте их несложными тестами.

Если у вас "черный ящик" - то согласен с предыдущими постами. Может температурой еще поиграться,

чтобы сигнализацию пожарить или поморозить при тестах...

 

Share this post


Link to post
Share on other sites
которые бы в итоге покрыли 100% электроники тестами. Вопрос - как это сделать, чтобы количество таких тестов было более-менее оптимальным? Возможно ли автоматизировать написание таких тестов, если их надо будет достаточно много?
Вещи противоречат друг другу. Или 100% тестирование. Или оптимальное по времени.

 

100% тестирование для устройства с более чем 100 триггерами не возможно ибо количество состояние которые нужно проверить = 2^100. Если триггеров больше то само собой степень растёт.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this