主权项 |
一种模拟航天器设备异常的软件测试方法,其特征在于:它包含以下步骤:(1)、定义硬件管理器和硬件适配器,硬件管理器和硬件适配器通过配置文件相互联系;(2)、硬件管理器中建立基于CBaseDriver的硬件适配器列表,并定义硬件适配器接口;CBaseDriver的主要成员见下表;<tables num="0001" id="ctbl0001"><table><tgroup cols="3"><colspec colname="c001" colwidth="33%" /><colspec colname="c002" colwidth="33%" /><colspec colname="c003" colwidth="33%" /><tbody><row><entry morerows="1">序号 </entry><entry morerows="1">接口成员 </entry><entry morerows="1">函数意义 </entry></row><row><entry morerows="1">1 </entry><entry morerows="1">Virtual void read(addr,buffer)=0; </entry><entry morerows="1">读取硬件端口的值到缓冲区 </entry></row><row><entry morerows="1">2 </entry><entry morerows="1">Virtual void write(addr,buffer)=0; </entry><entry morerows="1">将缓冲区内容写入到端口 </entry></row><row><entry morerows="1">3 </entry><entry morerows="1">Virtual void handle()=0; </entry><entry morerows="1">硬件的操作 </entry></row><row><entry morerows="1">4 </entry><entry morerows="1">String ID; </entry><entry morerows="1">硬件的ID编号 </entry></row></tbody></tgroup></table></tables>硬件适配器列表以关键字ID编号为标识,并把标识信息写入配置文件driver.xml中,硬件管理器使用ID编号查找某一硬件适配器,通过该硬件适配器的接口函数操作具体硬件或虚拟设备;(3)、将配置文件中的真实设备类改为虚拟设备类,定义虚拟设备类的信息处理函数;(4)、进行无污染的运行前异常注入,并用虚拟硬件模拟航天器设备;(5)、将对真实硬件的操作或对虚拟硬件的操作封装到硬件适配器中,经过硬件适配器信息处理函数和ID唯一性编号;(6)、硬件管理器根据统一分配的硬件ID号查找相应硬件适配器;(7)、通过硬件适配器接口执行具体硬件操作;所述的硬件适配器列表为一对多的结构形式。 |