当前位置: 首页 > 专利查询>康烁专利>正文

基于嵌入式软件仿真器的自动化测试方法技术

技术编号:20117313 阅读:26 留言:0更新日期:2019-01-16 11:59
基于嵌入式软件仿真器的自动化测试方法,包括:步骤S0:创建自动化测试脚本模块为测试需求做好准备工作;步骤S1:根据仿真器API模块提供的功能在自动化测试脚本模块中编写符合被测试软件的测试逻辑,仿真器API模块包括地址总线读写、寄存器读写、内存读写、程序断点、条件断点、获取符号表、仿真器控制、获取仿真时间、仿真定时器、和/或触发中断;步骤S2:把自动化测试脚本模块加载到仿真器软件中;步骤S3:启动仿真器软件并执行自动化测试脚本模块;步骤S4:验证自动化测试脚本模块代码逻辑的正确性并作出调整和修改;步骤S5:如步骤S4通过,则通过自动化测试脚本模块来执行并操作嵌入式软件自动化测试;步骤S6:测试完毕。使程序调试变得可控制,可更改,可快速定位程序逻辑错误。

Automated Testing Method Based on Embedded Software Simulator

Automated test methods based on embedded software simulator include: 0: creating automated test script module to prepare for test requirements; 6: writing test logic in automated test script module according to the functions provided by the simulator API module, including address bus read and write, register read and write, memory read and write, and so on. Program breakpoints, conditional breakpoints, acquisition of symbol tables, simulator control, acquisition of simulation time, simulation timer, and/or trigger interrupts; (2) Loading the automated test script module into the simulator software; (2) Starting the simulator software and executing the automated test script module; (4) Verifying the correctness of the code logic of the automated test script module and making adjustments and adjustments. Modification; (5) If 65507 Make program debugging controllable, changeable, and locate program logic errors quickly.

【技术实现步骤摘要】
基于嵌入式软件仿真器的自动化测试方法
本专利技术涉及计算机软件的自动化测试方法,尤其涉及基于嵌入式软件仿真器的自动化测试方法。
技术介绍
目前,市面上的嵌入式软件仿真器在测试目标软件过程中只能手动地控制仿真器软件,例如手动执行程序的启动和停止等;在程序运行期间,如想改变某些外设的寄存器的数值或对某些内存地址注入故障以测试并观察系统执行行为,只能通过测试者手动修改的方式来实现;而如果想在某个特定时刻通过故障注入方式来测试软件,人为操作往往不能准确把控时间,会导致注入时间的偏差并影响测试的结果,通过人为控制的方式来测试目标软件存在效率低且操作繁琐的缺陷。针对现有技术中存在的嵌入式软件仿真器调试目标软件效率低和操作繁琐的问题,现有技术尚未提出有效的解决方法。
技术实现思路
本专利技术之目的在于提供一种基于嵌入式软件仿真器的自动化测试方法,以使对嵌入式软件的测试更加灵活、方便、快捷,并且能有效减少测试人员的测试工作,提高测试效率。为实现上述目的,本专利技术提供一种基于嵌入式软件仿真器的自动化测试方法,包括如下步骤:步骤S0:创建自动化测试脚本模块为测试需求做好准备工作;步骤S1:根据仿真器API模块提供的功能在自动化测试脚本模块中编写符合被测试软件的测试逻辑,所述仿真器应用程序编程接口(API,ApplicationProgrammingInterface)模块包括地址总线读写、寄存器读写、内存读写、程序断点、条件断点、获取符号表、仿真器控制、获取仿真时间、仿真定时器、和/或触发中断;步骤S2:把自动化测试脚本模块加载到仿真器软件中;步骤S3:启动仿真器软件并执行自动化测试脚本模块;步骤S4:验证自动化测试脚本模块代码逻辑的正确性并作出调整和修改;步骤S5:如果步骤S4通过,则可以通过自动化测试脚本模块来执行并操作嵌入式软件自动化测试;步骤S6:测试完毕得出结果。作为优选方式,执行步骤S0至步骤S4以通过仿真器API模块对指定的内存地址、全局变量和/或设备寄存器注册一个监视回调模块;并且,步骤S5包括:当嵌入式程序执行时访问到被监视的内存地址、全局变量和/或设备寄存器,则进入到监视回调模块;判断是什么类型的操作,根据不同的操作方式,可以在监视回调模块中处理不同的事情;当该操作为读操作时,监视回调函数给该内存地址、全局变量和/或设备寄存器返回指定的数值;当该操作写操作时,监视回调函数根据测试需求处理写操作;以及,被测试的嵌入式程序因为读到的内存地址、全局变量和/或设备寄存器被监视回调模块改变原本正常的数值,而改变原本的执行逻辑或执行代码分支。作为优选方式,执行步骤S0至步骤S4以通过仿真器API模块实时获取仿真运行时间,该仿真运行时间的单位可以设定为秒、毫秒、微妙或纳秒;并且,步骤S5包括:当仿真器时间执行到指定的数值时,进入到设定处理回调模块里;处理回调模块对指定的内存地址、全局变量和/或设备寄存器读取或写入指定数值;以及,嵌入式程序继续执行,下一个单位时间到达的时候,因为关键的内存地址、全局变量和/或设备寄存器的数值被动态更改而改变原本的执行逻辑或执行代码分支。作为优选方式,执行步骤S0至步骤S4以通过仿真器API模块设置程序断点或条件断点,并设置其断点监视回调模块;并且,步骤S5包括:当嵌入式程序执行到程序断点的位置或满足条件断点的情况下,进入到断点监视回调模块中,并根据测试需求做出相关的一些操作。本专利技术还提供一种计算机可读存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行前述的方法。本专利技术还提供一种电子设备,包括:处理器;以及存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行前述的方法。与现有技术相比,本专利技术的自动化测试方法可以通过自动化测试脚本配置来操控仿真器软件,动态地注入故障并监视故障的发生,然后根据测试需求操作仿真器注入测试数据。其中,故障的注入包括监视内存值或变量值得改变、获取仿真时间的毫秒值、仿真时间的条件故障、插入或删除条件断点、插入删除程序断点。因此,本专利技术可以改变传统方式对嵌入式软件的调试,使程序调试变得可控制,可更改,可快速定位程序逻辑错误。本专利技术可以更高效地调试目标软件。附图说明图1为本专利技术的基于嵌入式软件仿真器的自动化测试方法的结构示意图。图2为本专利技术的基于嵌入式软件仿真器的自动化测试方法的示例1的流程图。图3为本专利技术的基于嵌入式软件仿真器的自动化测试方法的示例2的流程图。图4是本专利技术嵌入式软件仿真器自动化测试方法的示例3的流程图。具体实施方式在下文中,将参照附图描述本专利技术的基于嵌入式软件仿真器的自动化测试方法的实施方式。在此记载的实施方式为本专利技术的特定的具体实施方式,用于说明本专利技术的构思,均是解释性和示例性的,不应解释为对本专利技术实施方式及本专利技术范围的限制。除在此记载的实施方式外,本领域技术人员还能够基于本申请权利要求书和说明书所公开的内容采用显而易见的其它技术方案,这些技术方案包括采用对在此记载的实施方式的做出任何显而易见的替换和修改的技术方案。本说明书的附图为示意图,辅助说明本专利技术的构思。图1为本专利技术的基于嵌入式软件仿真器的自动化测试方法的结构示意图。仿真器API模块,包括地址总线读写、寄存器读写、内存读写、程序断点、条件断点、获取符号表、仿真器控制、获取仿真时间、仿真定时器、触发中断等。通过上述仿真器API模块,可以提供以下功能:当指定内存地址、全局变量和寄存器被读前一刻,可进入相应的服务程序,对指定的内存地址、全局变量和寄存器的值进行修改;当指定内存地址、全局变量和寄存器被写后一刻,可进入相应的服务程序,对指定的内存地址、全局变量和寄存器的值进行读取;对指定的内存地址、全局变量及寄存器可实时读取和写入;提供获取全局变量地址接口;提供获取仿真运行时间接口;提供可读取、写入用户定义的文本文件接口;断点在函数中时,可获得局部变量地址;提供可实现系统重置功能接口;可在外部设备中实现定时器;当指定变量、地址的值满足指定条件时,产生回调处理函数;控制软件仿真器的执行、停止、注入程序断点;定时对CPU触发中断或对仿真外设注入数据。进一步地,该自动化测试方法还包括:测试人员可以编写自动化测试脚本模块来满足测试需求,自动化测试脚本模块可以调用仿真器API模块提供的功能,实现对嵌入式软件的自动化测试。再参见图1,本专利技术的基于嵌入式软件仿真器的自动化测试方法可以在不同的环境下运行,例如Windows、Linux、MacOS等。在该结构示意图中,数据层是一个概念意义上存在,一般指在设计自动化测试脚本中可能会使用到的数据和需要保存的数据。这些数据大多是测试逻辑中一些逻辑数据,或者是一些总线设备上的输入输出数据。自动化测试模块根据已有的仿真器API模块提供的接口,重新设计并包装出一些更加通用的接口,这些接口直接与自动化测试有关系,并提供这些接口给自动化测试脚本的调用;另一方面,自动化测试模块本身是可以带有程序逻辑的,所以可以很灵活的编写测试逻辑并能执行仿真器API模块,从而实现自动化测试脚本对仿真器的完全控制。在自动化测试模块中,当指定内存地址、全局变量和寄存器被读或写的前一刻,可进入相应的服务程序,修改指定的内存地址、全局变量和寄存器的值;本文档来自技高网...

【技术保护点】
1.一种基于嵌入式软件仿真器的自动化测试方法,包括如下步骤:步骤S0:创建自动化测试脚本模块为测试需求做好准备工作;步骤S1:根据仿真器API模块提供的功能在自动化测试脚本模块中编写符合被测试软件的测试逻辑,所述仿真器API模块包括地址总线读写、寄存器读写、内存读写、程序断点、条件断点、获取符号表、仿真器控制、获取仿真时间、仿真定时器、和/或触发中断;步骤S2:把自动化测试脚本模块加载到仿真器软件中;步骤S3:启动仿真器软件并执行自动化测试脚本模块;步骤S4:验证自动化测试脚本模块代码逻辑的正确性并作出调整和修改;步骤S5:如果步骤S4通过,则通过自动化测试脚本模块来执行并操作嵌入式软件自动化测试;步骤S6:测试完毕得出结果。

【技术特征摘要】
1.一种基于嵌入式软件仿真器的自动化测试方法,包括如下步骤:步骤S0:创建自动化测试脚本模块为测试需求做好准备工作;步骤S1:根据仿真器API模块提供的功能在自动化测试脚本模块中编写符合被测试软件的测试逻辑,所述仿真器API模块包括地址总线读写、寄存器读写、内存读写、程序断点、条件断点、获取符号表、仿真器控制、获取仿真时间、仿真定时器、和/或触发中断;步骤S2:把自动化测试脚本模块加载到仿真器软件中;步骤S3:启动仿真器软件并执行自动化测试脚本模块;步骤S4:验证自动化测试脚本模块代码逻辑的正确性并作出调整和修改;步骤S5:如果步骤S4通过,则通过自动化测试脚本模块来执行并操作嵌入式软件自动化测试;步骤S6:测试完毕得出结果。2.根据权利要求1所述的自动化测试方法,其中,执行步骤S0至步骤S4以通过仿真器API模块对指定的内存地址、全局变量和/或设备寄存器注册一个监视回调模块;并且步骤S5包括:当嵌入式程序执行时访问到被监视的内存地址、全局变量和/或设备寄存器,则进入到监视回调模块;判断是什么类型的操作,根据不同的操作方式,可以在监视回调模块中处理不同的事情;当该操作为读操作时,监视回调函数给该内存地址、全局变量和/或设备寄存器返回指定的数值;当该操作写操作时,监视回调函数根据测试需求处理写操作;以及被测试的嵌入式程序因为读...

【专利技术属性】
技术研发人员:康烁
申请(专利权)人:康烁
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1