194
Для того, чтобы процесс проектирования был тестопригодным, необходимо
по возможности стремиться к простоте (принцип KISS), понимать архитектуру
системы и стараться проектировать ее так, чтобы в эту систему не только можно
было встроить тесты, но и чтобы процесс встраивания тестов был прост и
гармоничен. Необходимо также помнить, что в отличие от
систем общего
назначения, мы имеем дело не с изолированной идеальной системой, а с
комплексной, составной системой, включающей в себя объект управления,
аппаратное обеспечение, конструктив, целевое и инструментальное
программное обеспечение.
Исходя из вышесказанного, становится понятно, что классические средства
тестирования, применяемые при создании крупных программных продуктов,
могут быть применены лишь частично. Кроме того
, подобные средства в нашем
случае не решают всех задач. К примеру, разработчику программы для
встроенной системы могут заявить следующее: «твоя программа перестает
работать при температуре 57 градусов Цельсия» или «программа начинает
давать сбои при возникновении вибрации».
Из несвойственных для обычного программирования средств тестирования
можно отметить следующие:
z осциллографы и логические анализаторы;
z JTAG;
z программно-аппаратные отладочные стенды (testbench);
z инструментальные машины;
z климатические установки;
z установки для генерации электромагнитных помех;
z вибростенды.
В чем состоит сложность тестирования? К сожалению, тесты создают
дополнительные помехи в наблюдаемой системе, внося так называемую
инструментальную погрешность. Кроме того, система тестирования,
встроенная в целевую систему, «съедает», как правило, очень дорогие ресурсы,
которых, как известно, всегда не хватает. Поэтому приходится постоянно искать
компромисс между удобством тестирования, влиянием тестов на
работу
целевой системы и имеющимися ресурсами.
Необходимо понимать, что создание встроенной системы, готовой к
тестированию, – сложная, многоаспектная задача, к решению которой нужно
подходить очень серьезно.
Рассмотрим минимум, необходимый для создания тестопригодной
системы.
Во-первых, необходима какая-либо система регистрации наподобие