嵌入式软件自动测试系统及其测试方法

文档序号:6561663阅读:220来源:国知局
专利名称:嵌入式软件自动测试系统及其测试方法
技术领域
本发明涉及一种嵌入式软件测试技术,具体说,涉及一种嵌入式软件自 动测试系统及其测试方法。
背景技术
在嵌入式开发领域,大量的软件的开发与硬件的联系是很紧密的,在通常的开发模式下,只有等硬件的:&计完成之后,软件架于硬件之上,才能对 它进行功能以及可靠性的测试。怎样使软件脱离硬件进行功能的测试,变得 曰益重要。嵌入式软件的组成结构一般都是CPU加外围电路及芯片的方式,而对 这些硬件的操作,体现为对整个CPU地址空间内的一些寄存器的搡作。现 有方法是通常是将这些操作写入了打桩文件,对功能的验证要人工去查看打 桩文件进行验证,这样是繁瑣且不可记录的。发明内容本发明所解决的技术问题是提供一种嵌入式软件自动测试系统,将嵌入 式软件的功能转化为寄存器的操作,以文件的形式管理起来,通过监控组件 对打桩文件实时监控,实现待测软件的功能验证。技术方案如下嵌入式软件自动测试系统包括 待测试软件模块,用于存放待测试软件;打桩文件模块,用于存放打桩文件,所述打桩文件记录了 CPU操作了 的寄存器的值;规则生成组件,用于生成对寄存器操作的规则文件,并将该规则文件存
放在规则文件模块中,所述规则文件包含有至少一条规则,所述规则是对寄存器的独立的子操作;监控组件,在待测软件运行之前,先解析出打桩文件中的值与地址的对 应关系,待测软件在运行的过程中,监控组件实时载入规则文件,并进行解 析,判断打桩文件里面的信息是否通过规则,并输出是否通过的信息。优选的,所述规则的分类包括对寄存器进行值的设置、对寄存器的特 定位进行设置或者对寄存器的连续位进行才莫式变化。优选的,所述监控组件中,如果打桩文件里面的信息没有通过规则,输 出相关的寄存器的值在初始与当前的变化情况。优选的,规则的存储方式为子操作类型+起始地址+终止地址+ [是否进行位操作]+ [起始位]+ [终止位]+操作才莫式;其中,子l喿作类型用 于设置规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包 含位移、反转以及自定义的操作,起始位和终止位字段在进行位搡作时存在。本发明所解决的另外一个技术问题是提供一种嵌入式软件自动测试方 法,通过监控组件对桩文件实时的监控,实现待测软件的功能验证。4支术方案如下嵌入式软件自动测试方法步骤如下(1) 分析待测试软件的功能,规则生成组件将功能生成规则,并保存 为头见则文件;(2) 运行待测试的软件,实时操作打桩文件;(3) 打开监控组件,指定打桩文件;(4) 依次载入相应的规则文件,对在待测试软件的程序进行实时的监控。进一步,步骤(2)中,所述打桩文件中记录有操作了的所有寄存器的 值,格式是以"地址=值"的方式。进一步,步骤(4)中,根据监控组件反馈的未通过的规则的信息,对 待测试软件的代码进行的修改,直到最后通过所有的规则。
进一步,步骤(4)具体为(41) 指定一条新的规则文件;(42) 监控组件监控指定的规则文件;(43) 当指定的规则文件通过,则监控组件指定下一条规则文件进行监 控,直到待测试软件中的规则文件全部通过测试;当指定的规则文件中的规 则没有通过,则停止监控,修改待测试程序,并对修改后的规则文件继续进 行监控。进一步,步骤(43)具体为(431) 监控组件判断指定规则文件中的规则是否全部通过;通过,执 行步骤(432),否则,停止监控,修改待测试程序,执行步骤(42)。(432) 当指定的规则文件中的规则全部通过,判断待测试软件的规则 文件是否全部通过,当全部通过,测试完毕;当规则文件没有全部通过,执 行步骤(41)。进一步,规则的存储方式为子操作类型+起始地址+终止地址+ [是否进行位操作]+ [起始位]+ [终止位]+操作模式;其中,子操作类型用 于设置规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包 含位移、反转以及自定义的操作,起始位和终止位字段在进行位操作时存在。有益效果如下1、 将待测人员对打桩文件的验证工作用监控组件完全替代,减少了工 作量。2、 本方法将独立的功能分解为多条规则,并存为一个规则文件,可实 现软件的每个功能的独立测试。3、 本方法由于保存了所有的规则文件,可与需求一一对应起来,所以 在软件做出更改之后,方便回归测试。


图1是嵌入式软件自动测试系统的结构示意图2是嵌入式软件自动测试方法的流禾呈图。
具体实施方式
整个方案的实施的前提是嵌入式软件对底层的操作已经作用在打桩文 件之上。规则生成组件能生成出一系列对寄存器操作的规则文件,其中每一 个规则文件描述了嵌入式软件的单个功能要求。而每一个规则文件又包含了 多条规则,每一条规则是对寄存器的独立的子操作.规则(Rule)的分类有如下几种(1) 对一定范围内的寄存器进行值的设置。(2) 对一定范围内寄存器的特定位进行设置。(3) 对一定寄存器的连续位进行模式变化,比如,向左或向右的位移、 位反转以及特定的模式操作等。所有类型的寄存器操作都可分解为上述的子操作。监控组件在待测软件运行之前,先解析出打桩文件中的值与地址的对应 关系,待测软件在运行的过程中,监控组件实时栽入规则文件,并进行解析, 判断桩文件里面的信息是否通过了这些规则。每隔一段时间对每一条规则进 行判断,并输出是否通过的信息,如果没有通过,还需输出相关的寄存器的 值在初始与现在的变化情况,用户更改待测软件的功能,直到最终完全通过 规则。在做传输设备的过程中,单板上运行的都是MPC的嵌入式软件。我们 实现了将嵌入式软件的代码移植到PC上,并在PC上进行功能测试与调试。将驱动层对寄存器的读写操作的信息替换为对打桩文件的操作。该打桩 文件中记录了操作了的所有寄存器的值,格式是以"地址=值"的方式。在windows的环境下,实现规则生成组件,这个组件提供了UI接口, 可让用户编辑出一系列规则,并将它们生成规则文件。为了方便监控组件能方便地解析规则文件的信息,每一条规则采用如下 的方式存储子操作类型+起始地址+终止地址+ [是否进行位操作]+ [起始位]+ [终止位]+设置值(或操作模式)。这样设计有如下特点(1) 其中"于採作类型"的格式用来解析规则文件,简化了处理。(2) 多地址的操作与单地址在格式上保持统一。(3) 操作模式包含了位移、反转以及自定义的操作。(4) "起始位,,和"终止位"字段只有在进行位操作时才存在。 例如,可以有如下的身见则SETVALUE 0xl9be-0xl9be = Oxff SETVALUE 0xl9e7-0xl9e8 = Oxe OPERBIT 0xl9e7-0xl9e8 BIT 0xl-0x3 = SET SETBIT 0xl9e7-0xl9e8 BIT 0xl-0x3 = 0x7 OPERBIT 0xl9e7曙0xl9e8 BIT OxO-OxO = CLR OPERBIT 0x1002-0x1003 BIT 0x0-0x7 = REV在windows环境下实现运行监控组件,使得待测软件在运行的过程中, 能栽入规则文件,并利用它对打桩文件进行实时监控,并打印出每一个规则 是否通过的信息,如果没有通过,要打印出与这条规则相关寄存器的信息。如图l所示,结合附图对嵌入式软件自动测试系统作详细描述。嵌入式软件自动测试系统包括待测试软件模块11、监控组件12、规则 生成组件13、打桩文件才莫块14、规则文件模块。其中,待测试软件;溪块11用于存放待测试软件;打桩文件模块14用于 存放打桩文件,打桩文件记录了 CPU操作了的寄存器的值;规则生成组件 13用于生成对寄存器操作的规则文件,并将该规则文件存放在规则文件模 块中15中,该规则文件包含有多条规则,该规则是对寄存器的独立的子梯: 作;监控组件12在待测软件运行之前,先解析出打桩文件中的值与地址的 对应关系,待测软件在运行的过程中,监控组件12实时载入规则文件,并 进行解析,判断打桩文件里面的信息是否通过了规则,如果没有通过,输出 相关的寄存器的值在初始与变化情况。每隔一段时间,依次对每一条规则进 行判断,并输出是否通过的信息。 如图2所示,结合附图对待测软件的测试作详细描述。嵌入式软件自动测试方法的步骤如下步骤S201:将待测试软件的功能分解为多条规则。步骤S202:在规则生成组件13中,生成多条规则,并保存为规则文件。步骤S203:运行待测试软件,实时操作打桩文件。步骤S204:打开监控组件,指定桩文件。做完上述工作后,接下来,依次栽入相应的规则文件,对在待测试软件 的程序进行实时的监控,具体如下步骤S205:监控组件12指定一条新的规则文件。步骤S206:监控组件12对指定的规则文件进行监控。步骤S207:监控组件12判断指定的规则文件中的规则是否通过。如果指定的规则文件中的规则全部通过,执行步骤S210;如果指定的 规则文件中的某条规则没有通过测试,执行步骤S208。步骤S208:监控组件12暂时停止对指定的规则文件的监控。步骤S209:根据监控组件12反馈的未通过的规则的信息,对待测代码 进行^修改,直到最后通过所有的规则。步骤S210:判断待测软件中的规则文件是否全部通过检测。当规则文件没有全部测试完毕,执行步骤S205;当规则文件全部通过, 即待测软件中的所有规则文件中通过检测,则测试完毕,结束检测。MJ'J文件可保存下来,如果以后待测代码进行了更改,可以再次使用保 存的规则文件进行测试。
权利要求
1、 一种嵌入式软件自动测试系统,包括 待测试软件模块,用于存放待测试软件;打桩文件模块,用于存放打桩文件,所述打桩文件记录了 CPU操作了 的寄存器的值;其特征在于,还包括规则生成组件,用于生成对寄存器操作的规则文件,并将该规则文件存 放在规则文件模块中,所述规则文件包含有至少一条规则,所述规则是对寄 存器的独立的子操作;监控组件,在待测软件运行之前,先解析出打桩文件中的值与地址的对 应关系,待测软件在运行的过程中,监控组件实时栽入失见则文件,并进行解 析,判断打桩文件里面的信息是否通过规则,并输出是否通过的信息。
2、 根据权利要求1所述的嵌入式软件自动测试系统,其特征在于,所 述规则的分类包括对寄存器进行值的设置、对寄存器的特定位进行设置或 者对寄存器的连续位进行模式变化。
3、 根据权利要求1或者2任一项所述的嵌入式软件自动测试系统,其 特征在于,所述监控组件中,如果打桩文件里面的信息没有通过规则,输出 相关的寄存器的值在初始与当前的变化情况。
4、 根据权利要求3所述的嵌入式软件自动测试系统,其特征在于,规 则的存储方式为子操作类型+起始地址+终止地址+[是否进行位操作] + [起始位]+ [终止位]+操作模式;其中,子操作类型用于设置规则的类型, 多地址的操作与单地址在格式上保持统一,操作模式包含位移、反转以及自 定义的操作,起始位和终止位字段在进行位操作时存在。
5、 一种嵌入式软件自动测试方法,步骤如下(1 )分析待测试软件的功能,规则生成组件将功能生成规则,并保存为规则文件;(2) 运行待测试软件,实时搡作打桩文件;(3) 打开监控组件,指定打桩文件;(4) 依次栽入相应的规则文件,对在待测试软件的程序进行实时的监控。
6、 根据权利要求5所述的嵌入式软件自动测试方法,其特征在于,步 骤(2)中,所述打桩文件中记录有操作了的所有寄存器的值,格式是以"地 址-值"的方式。
7、 根据权利要求5所述的嵌入式软件自动测试方法,其特征在于,步 骤(4)中,根据监控组件反馈的未通过的规则的信息,对待测试软件的代 码进行的修改,直到最后通过所有的规则。
8、 根据权利要求5所述的嵌入式软件自动测试方法,其特征在于,步 骤(4)具体为(41) 指定一条新的规则文件;(42) 监控组件监控指定的规则文件;(43) 当指定的规则文件通过,则监控组件指定下一条规则文件进行监 控,直到待测试软件中的规则文件全部通过测试;当指定的规则文件中的规 则没有通过,则停止监控,修改待测试程序,并对修改后的规则文件继续进 行监控。
9、 根据权利要求7所述的嵌入式软件自动测试方法,其特征在于,步 骤(43)具体为(431)监控组件判断指定规则文件中的规则是否全部通过;通过,执 行步骤(432),否则,停止监控,修改待测试程序,执行步骤(42)。(432)当指定的规则文件中的规则全部通过,判断待测试软件的规则文件是否全部通过,当全部通过,测试完毕;当规则文件没有全部通过,执 行步骤(41)。
10、据权利要求5至9任一项所述的嵌入式软件自动测试方法,其特征 在于,规则的存储方式为子操作类型+起始地址+终止地址+[是否进 行位操作]+ [起始位]+ [终止位]+操作模式;其中,子操作类型用于设置 规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包含位移、 反转以及自定义的操作,起始位和终止位字段在进行位操作时存在。
全文摘要
本发明公开了一种嵌入式软件自动测试系统,包括待测试软件模块,用于存放待测试软件;打桩文件模块,用于存放打桩文件,所述打桩文件记录了CPU操作了的寄存器的值;规则生成组件,用于生成对寄存器操作的规则文件,并将该规则文件存放在规则文件模块中,规则文件包含有至少一条规则,规则是对寄存器的独立的子操作;监控组件,在待测软件运行之前,先解析出打桩文件中的值与地址的对应关系,待测软件在运行的过程中,监控组件实时载入规则文件,并进行解析,判断打桩文件里面的信息是否通过了规则,并输出是否通过的信息。本发明还公开了一种嵌入式软件自动测试方法。
文档编号G06F11/36GK101145126SQ20061012696
公开日2008年3月19日 申请日期2006年9月11日 优先权日2006年9月11日
发明者张志斌 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1