Тестирование встроенного ПО
Вопрос
Это следует за парой Другое вопросы (но я думаю, что я лучше уточнил свой вопрос).
Я хочу протестировать свой код прошивки, прежде чем устанавливать устройство.
Я понимаю, что многие люди пишут свой код, загружают, тестируют и т.д.Но я действительно хочу написать и протестировать перед загрузкой (главным образом потому, что я хочу автоматизировать множество сценариев).
Итак, каков наилучший способ сделать это.Если бы я писал чистое программное обеспечение, то есть вообще без прошивки, я бы сделал это с помощью cppunit (например).Но я немного запутался в этой прошивке.
Есть какие-нибудь идеи?
Спасибо
Решение
Ну, трудно сказать, не зная, как устроен ваш код, но в принципе вы могли бы протестировать программное обеспечение на уровне класса / функции точно так же, как и другое программное обеспечение.Любой код, который взаимодействует с устройством, скорее всего, потребуется протестировать с помощью эмуляции.
Другие советы
Я не думаю, что ответ, отмеченный как "правильный", вообще является правильным или полным.
Что касается кода прошивки, вы действительно ДОЛЖНЫ провести двусторонний тест, чтобы быть строгим.
Начальные тесты выполнены с помощью эмулятора.Это идеально, но предполагает, что вы можете получить хороший эмулятор для целевой платформы.
Тестируйте на реальном оборудовании, но в рамках тестового стенда.То есть вы тестируете на самом устройстве, но с дополнительным оборудованием (т.е.осциллограф, зонды) и другие соединения, позволяющие надлежащим образом отслеживать / отлаживать происходящее.
В случае с прошивкой часто самые сложные ошибки связаны со временем и проявляются только после того, как вы подключаетесь к реальному оборудованию.В худшем случае фактический процесс проверки может изменить тайминги таким образом, что ошибки не появятся - только в "производственной" версии.Тогда вам будет по-настоящему весело.
Ваше здоровье,
-Ричард
На многих встроенных устройствах доступны программные симуляторы, но это зависит от конкретного устройства.
Вам следует как можно чаще проводить модульное тестирование своих классов, но в конце концов вы должны запустить его и протестировать на оборудовании.
Чтобы протестировать свою прошивку на устройстве, напишите интерфейс отладки, чтобы вы могли использовать эмулятор терминала, например procomm ( прокомм ) чтобы поговорить с вашим устройством.Затем, когда вы пишете функцию, придумайте способ для вашего интерфейса отладки вызывать методы в вашем классе, таким образом, вы сможете специально протестировать свой код на самом устройстве.
Как только вы это сделаете, вы можете написать сценарии в своем эмуляторе терминала для автоматического выполнения тестов.