一种嵌入式应用软件测试的过程监控方法技术

技术编号:2849033 阅读:231 留言:0更新日期:2012-04-11 18:40
一种嵌入式应用软件测试的过程监控方法,在一台含有脚本解释器的计算机与移动数字终端所构成的测试平台上实现,包括:初始化程序环境;定义一个或多个包含一条或若干条由状态代码、被监控数据的特征(包含事件源和事件类型)、触发条件、触发操作、下一状态代码组成的记录的状态表;运行监控程序接收被监控数据并与状态表中定义的被监控数据特征和触发条件相比较,如符合则在执行触发操作后转向下一状态继续监控。该发明专利技术可提高脚本程序重用率和测试效率。

【技术实现步骤摘要】

本专利技术属于嵌入式设备的应用软件测试领域,特别涉及移动数字终端的应用层自动测试。
技术介绍
当前移动数字终端(如手机、PDA等)已逐渐发展为由嵌入式操作系统支持的智能化移动平台,运行于其上的应用软件越来越丰富,也越来越复杂。使用手工测试已经不能满足嵌入式应用软件测试的需要,因而提出了自动化测试的要求。对软件功能的测试通常以黑盒测试为基础,黑盒测试的原理是将被测系统看成一个黑盒,其内部结构对测试者来说是未知的,测试者通过黑盒与外界的接口界面向被测黑盒发送激励信号,并接收被测黑盒发出的响应信号,通过对这些响应信号进行分析,来判断黑盒的工作情况。如图1所示,在对移动数字终端的应用软件采用黑盒测试时,脚本程序对被测系统发送激励信号,并接收被测系统发回的响应信号,通过对接收到的响应信号进行处理和分析,检测被测系统是否存在缺陷。目前,作为世界上最具代表性的嵌入式软件测试工具之一——美国TestQuest公司的TestQuest Pro,通过脚本解释器执行测试人员编写好的测试脚本程序,借助于计算机与移动数字终端之间的接口,完成移动数字终端上应用软件的自动化测试。在这一过程中,运行于一台计算机上的脚本解释器首先读取脚本程序获得测试指令和测试用例,然后,通过计算机与移动数字终端的接口单元将激励信号发送到移动数字终端,移动数字终端接收到这些信号后,依照移动数字终端中的程序对这些信号作出响应,并将处理结果通过计算机与移动数字终端的接口单元返回给脚本解释器,脚本解释器将发送至移动数字终端的信号、移动数字终端返回的结果及其他数据记录到存储设备中的日志文件。但TestQuest Pro缺乏专门的测试过程监控工具,它主要通过脚本和日志实现对测试过程的控制。这样,对于测试结果的分析就必须由人来完成,因而无法很好地支持性能测试,也难以真正实现无人监控的测试。另一方面,当测试过程中遇到问题,需要对测试进行调整时,往往需要修改测试脚本,而脚本程序本身又是需要测试的程序,当测试过程复杂时,通过这种方法很难进一步提高测试效率。为了解决过程监控自动化的问题,Wayne Liu和Paul Dasiewicz 1997年在其论文《The Event-Flow Technique for Selecting Test Cses forObject-Oriented Programs》中提出了基于事件流的测试用例选择技术,他们通过对测试规范进行建模,用测试脚本执行过程中发生的事件来自动选择可能的测试用例,从而自动生成了功能上对测试者有意义的测试用例。依赖测试规范使得测试缺乏必要的灵活性,因此其方法对于测试规范已经明确定义的验收测试比较有效,但不适合进行开发过程的测试。在这里事件是指测试过程中发生的某些特定的现象,具体说就是一定的数据结构和对应数据结构中数据的取值范围。到目前为止,世界上还没有一种嵌入式软件自动测试工具和方法能够在测试过程中,依照测试人员的需要对相应事件进行捕获,并根据这些事件,自动执行预定义的动作,调用合适的测试用例。
技术实现思路
针对上述现有技术存在的问题,本专利技术的目的在于提供一种可以由测试者根据需要定义测试敏感事件,在测试过程中对这些事件进行监控,根据事件的变化,对测试过程进行调整的方法,从而提高测试脚本的重用率,提高测试效率。本专利技术的特征在于,该方法是在一台含有脚本解释器的计算机与移动数字终端所构成的测试平台上实现的,包括以下步骤步骤1,在计算机上初始化用于过程监控的内存和CPU状态;步骤2,根据测试需要定义一个或者多个状态表并载入计算机内存,所说的状态表是包含一条或若干条由状态代码、被监控数据的特征、触发条件、触发操作、下一状态代码组成的记录的有序集合,每个状态表即一个状态机,其中被监控数据的特征包括数据来源(也称事件源)和数据类型(也称事件类型);步骤3,在计算机上运行监控器程序,初始化与之对应的内存;步骤4,监控器程序初始化步骤2中所定义的各个状态表对应的状态机为初态,即状态机的状态指针指向各自状态表的第一条记录;步骤5,监控器程序接收被监控数据;步骤6,监控器程序将步骤5中接收到的被监控数据依次与状态机当前记录的被监控数据的特征及触发条件进行比较,若全部符合则执行触发操作,否则返回步骤5继续执行;步骤7,监控器程序根据状态机当前记录的下一状态代码,更新状态机为下一个状态,即状态机的状态指针指向当前记录中下一状态代码所对应的记录,重复步骤5至7。所述被监控数据包括脚本解释器向移动数字终端发送的数据、移动数字终端向脚本解释器发送的数据、脚本解释器所涉及的计算机内存中所存的脚本程序内部变量的值、计算机系统时间;步骤2中所述之数据来源包括脚本解释器向监控器程序的输出、移动数字终端向监控器程序的输出、监控器程序获得的系统时钟;步骤2中所述之数据类型是指计算机所能识别的数据结构;步骤2中所述的触发操作是指记录相关信息操作、显示相关信息操作、停止脚本解释器操作、暂停脚本解释器操作、脚本解释器恢复执行操作、恢复脚本解释器上下文操作。在步骤6的判断过程中,可以根据需要,将所需要的对比数据从相应数据库中加载进入监控任务。监控器程序可以由外部命令开启、关闭或暂停。通过实验证明,本专利技术可以根据测试的实际需要定义测试事件,在测试过程中对引发这些事件的输入输出数据进行监控,并根据数据变化所触发的事件进行响应,对测试过程进行调整。在这样的过程中,测试者不必重写测试脚本或重新建立测试用例,只需要重新定义测试事件即可,达到提高测试脚本的重用率,提高测试效率的目的。附图说明图1是本专利技术方法的状态转移图;图2是实现本专利技术方法的数据流程图;图3是本专利技术一个实施例的过程流程图; 具体实施例方式过程监控方法是建立在对脚本程序的执行进行粗粒度控制的思想上的,其基本思想是通过对脚本程序与移动数字终端之间的交互信号、脚本程序自身变量和其它与测试相关的参数进行跟踪,根据预先设定的条件对脚本程序的运行进行控制。过程监控的简化内部流程可以用一个如图1所示的状态转移图来描述,事件可以看作是不同的输入数据或数据组合及这些输入数据或数据组合达到特定值时所构成的某种状态。过程监控的工作原理如下首先执行初始化1,建立一个状态机工作的虚拟环境,即初始化相应的内存;第二步,执行设置事件操作2,设置事件表,事件表也称为状态表,是包含一条或若干条由状态代码、被监控数据的特征(包含事件源和事件类型)、触发条件、触发操作、下一状态代码组成的记录的有序集合,这样排列的一个状态表即构成一个状态机,设置好的状态表可以通过外部存储操作6保存在外部存储设备中以备后用,也可以通过外部存储操作6直接从外部存储设备中取出已保存的状态表进行设置;第三步,执行过程监控3,在计算机系统平台上建立一个进程,运行监控器程序,监控事件,当事件发生时,触发相应的处理过程5,或在外部命令控制下执行停止操作4,终止过程监控。其中,被监控数据的特征包含数据来源和数据类型两个要素,数据来源(也称事件源)包括脚本解释器向监控器程序的输出、移动数字终端向监控器程序的输出、监控器程序获得的系统时钟,数据类型(也称事件类型)是指计算机所能识别的数据结构,包括整型、浮点型、字符型、枚举型、对象类型等。这样,依照数据来源,被监控数据本文档来自技高网
...

【技术保护点】
一种嵌入式应用软件测试的过程监控方法,其特征在于,该方法是在一台含有脚本解释器的计算机与移动数字终端所构成的测试平台上实现的,包括以下步骤:步骤1,在计算机上初始化用于过程监控的内存和CPU状态;步骤2,根据测试需要定义一个 或者多个状态表并载入计算机内存,所说的状态表是包含一条或若干条由状态代码、被监控数据的特征、触发条件、触发操作、下一状态代码组成的记录的有序集合,每个状态表即一个状态机,其中被监控数据的特征包括数据来源和数据类型;步骤3,在计算机上 运行监控器程序,初始化与之对应的内存;步骤4,监控器程序初始化步骤2中所定义的各个状态表对应的状态机为初态,即状态机的状态指针指向各自状态表的第一条记录;步骤5,监控器程序接收被监控数据;步骤6,监控器程序将步骤5中 接收到的被监控数据依次与状态机当前记录的被监控数据的特征及触发条件进行比较,若全部符合则执行触发操作,否则返回步骤5继续执行;步骤7,监控器程序根据状态机当前记录的下一状态代码,更新状态机为下一个状态,即状态机的状态指针指向当前记录 中下一状态代码所对应的记录,重复步骤5至7。...

【技术特征摘要】
1.一种嵌入式应用软件测试的过程监控方法,其特征在于,该方法是在一台含有脚本解释器的计算机与移动数字终端所构成的测试平台上实现的,包括以下步骤步骤1,在计算机上初始化用于过程监控的内存和CPU状态;步骤2,根据测试需要定义一个或者多个状态表并载入计算机内存,所说的状态表是包含一条或若干条由状态代码、被监控数据的特征、触发条件、触发操作、下一状态代码组成的记录的有序集合,每个状态表即一个状态机,其中被监控数据的特征包括数据来源和数据类型;步骤3,在计算机上运行监控器程序,初始化与之对应的内存;步骤4,监控器程序初始化步骤2中所定义的各个状态表对应的状态机为初态,即状态机的状态指针指向各自状态表的第一条记录;步骤5,监控器程序接收被监控数据;步骤6,监控器程序将步骤5中接收到的被监控数据依次与状态机当前记录的被监控数据的特征及触发条件进行比较,若全部符合则执行触发操作,否则返回步骤5继续执行...

【专利技术属性】
技术研发人员:高小鹏刘斌姜博汪治殷永峰
申请(专利权)人:北京博联伟图科技有限公司
类型:发明
国别省市:11[中国|北京]

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

1