Собственно вопрос такой - допустим у вас есть разработанное управляющее встроенное устройство, работающее по определенной программе. Как упрощенный пример - управляющий блок автомобильной сигнализации: входы для датчиков, выходы на блокировку зажигания, управления центральным замком, сиреной, поворотниками, брелок для дистанционной блокировки/разблокировки (допустим в целях тестирования эти сигналы тоже электрически доступны). Внутри есть программа, обычная для сигнализации - режим охраны/тревоги/снятой с охраны, помигать поворотниками три раза, снятие/постановка/блокировка и т.д.
Допустим у вас есть автоматический испытательный стенд, к которому подключается данный блок и который может сгенерировать любую комбинацию входных сигналов и прочитать то, что выдает тестируемый блок в ответ. При этом, ессно, следующая комбинация может зависеть от того, что выдал блок. Можно играться питанием блока, например менять питающее напряжение программно.
Ну то есть фактически стенд может имитировать все, что угодно, даже реальный автомобиль, что и используется при разработке и отладке ПО, но больше интересует, как можно применить данный стенд для автоматического разностороннего тестирования производимых блоков на этапе производства, чтобы выявить возможные дефекты сборки, компонентов или ПО.
То есть должно быть возможным написание тестовых векторов, которые бы в итоге покрыли 100% ПО и электроники тестами. Вопрос - как это сделать, чтобы количество таких тестов было более-менее оптимальным? Возможно ли автоматизировать написание таких тестов, если их надо будет достаточно много?
Спецификаций на ПО или функциональность изделия, как таковых, нет, а точнее функциональность ушла от них далеко вперед.
Спасибо.