一种嵌入式软件的测试方法和系统技术方案

技术编号:2826731 阅读:317 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式软件的测试方法,首先录制对目标机的操作,生成测试脚本;然后重放录制的脚本。在目标机上编写桩程序,用桩程序录制操作人员的操作步骤、被设置参数的数据和运行结果;传输至计算机;测试程序收到录制的数据后保存为脚本;修改脚本中的数值部分为参变量;在计算机上建立数据库文件存放参变量对应的数据;运行测试程序;测试程序调用脚本、同时读入参数数据库中的对应数据来替换参变量;解析脚本并输入目标机;目标机中的桩程序解析和执行脚本中的指令;将运行结果返回计算机进行分析并输出。本发明专利技术通过对目标机的操作进行录制生成自动化测试用例脚本,减少了编写自动化测试用例的工作量,提高了测试效率。

【技术实现步骤摘要】
一种嵌入式软件的测试方法和系统
本专利技术涉及软件测试领域,尤其涉及对嵌入式软件的测试。
技术介绍
随着软件的广泛应用,人们对软件的期望值也越来越高,软件的质量、 性能、可靠性等方面也正逐渐成为人们关注的焦点,软件测试是验证软件 是否能达到期望功能的有效方法,通过软件测试可以保证软件质量,因此 软件测试是一件非常重要的工作。嵌入式软件是运行在特定目标系统上的 软件,其硬件平台和操作系统往往是专用的,不具有通用性,比如手机、 洗衣机、机顶盒、导航系统、医疗检测设备等使用的软件。目前对嵌入式软件进行测试采用的方法,通常是手工编制脚本,通过 脚本调用存储在计算机上的用例下发给目标嵌入式设备上的测试桩程序进 行测试。该方法需要测试人员具备一定的自动化用例编写能力,需要进行 手工编写用例,不能通过录制嵌入式软件系统测试过程生成。此外,用于PC机上的常用自动化软件测试工具有WINRUNNER、 LOADRU雨ER、 ROBOT等,这些用于PC机上的软件测试工具虽然都有录制和 重放功能,但都还未实现对嵌入式设备的操作进行脚本录制与重放。因而,现有技术存在着测试效率低,对操作人员的自动化测试用例编 写能力要求较高,需要使用大量的测试人员,人力成本高,不能将手工操 作目标机的操作过程进行录制生成自动化测试用例脚本,也不能录制、编 辑和重放对嵌入式软件操作的脚本实现嵌入式软件的测试自动化等缺点。
技术实现思路
本专利技术的目的是解决现有技术中的缺陷,提供一种用于嵌入式软件的 测试方法和系统,通过录制对目标机的操作生成自动化测试用例脚本,通 过调用存放在数据库文件中的不同测试参数数据,对测试用例的脚本进行 简单编辑进行动作重放,即在被测试设备上完成一系列连续动作,此外, 还可以通过对所录制脚本修改或直接编写脚本形成测试用例。为了实现上述目的,本专利技术采用的技术方案是 一种嵌入式软件的测 试方法,包括以下步骤1)录制对目标机的操作,生成测试脚本;2)重放所录制的脚本;其中,所述步骤l包括如下步骤11) 利用目标机上的桩程序录制操作人员的操作步骤、被设置参数的 数据、以及目标机运行的结果,录制的对象包括对目标机的图形用户界面的操作、模拟器操作和关键点插入操作的录制;12) 将录制的数据通过通讯端口传输至计算机;13) 运行计算机上的测试程序;14) 测试程序接收录制的数据,并将录制的数据保存为具有关键字的 脚本文件;15) 修改脚本中的所需要的数值部分为参变量;16) 在计算机上建立数据库文件,存放参变量对应的数据; 其中,所述步骤2包括如下步骤21) 运行计算机上的测试程序;22) 测试程序调用脚本文件、并读入参数数据库中的对应数据来替换 脚本文件中的参变量;23) 解析脚本文件并输入目标机;24) 目标机中的桩程序解析并执行脚本中的指令;25) 将运行结果返回计算机进行分析,并输出测试结果。 其中述步骤11中对目标机的图形用户界面操作的录制方法采用面向控件对象的录制或面向步骤操作录制。所述面向控件对象的录制优选是由鼠标动作触发,录制鼠标的一 系列动作,其中对鼠标动作的录制只记录能够改变控件行为或属性值的有 效点击,包括控件的绝对路径和控件的属性,包括如下步骤Al)捕捉鼠标的点击动作;A2)判断该点击动作是否是有效的动作,如果不是有效的动作,则忽略该动作;如果是有效的动作,则执行步骤A3;A3)判断鼠标点击的控件ID是否改变,如果没变,则忽略该点击动作;如果控件ID改变了,则执行步骤A4;A4)生成与该控件对应的绝对路径,并记录控件属性改变后的值; A5)上传绝对路径和控件属性改变后的值到计算机中的测试脚本中。 所述绝对路径是指从目标机图像用户界面的初始界面开始,到达目标控件,途经的各个窗口和窗口上被点击的控件所形成的二元组,二元组的 形式是(.Wndld, Itemld),其中Wndld是每一级窗口 Id, Itemld是该窗口上接收有效点击后属性被改变的控件Id,绝对路径是一个操作过程链, 描述点击过程的有序ID集合。这样的操作链将作为面向控件录制的一部分 数据被记录下来,同时在录制过程中还要记录控件的属性值的变化结果, 控件属性的记录不是记录某个控件内容的改变过程,而是只记录控件属性 值改变后,焦点离开该控件时的控件属性值。其中,所述面向步骤录制是记录目标机的键盘上被按下的键盘 码和旋钮旋转的操作码,录制按键或旋钮的操作包括以下步骤-Bl)捕捉按键或旋钮的动作;B2)判断按键或旋钮的动作是否是有效动作,如果不是有效动作,则 忽略该动作;如果是有效动作,则执行步骤B3; B3)记录按键的键盘码或者旋钮的操作码;B4)上传按键的键盘码或旋钮的操作码到计算机中的测试脚本中。 所述步骤2中还包括如下步骤 Cl)选取脚本文件,系统关联相应的参数数据文件; C2)读取脚本文件中的指令并执行,执行过程中测试程序把前后两个 绝对路径换算为相对路径。所述步骤C2是一个循环过程,包括如下步骤51) 判断指令是否是对目标机的图形用户界面的操作,如果是,则重 放面向控件对象或面向步骤操作,并执行步骤S4;如果否,则执行步骤S2;52) 判断指令是否是关键点插入操作,如果是,则收集目标机信息,然后执行步骤S4;如果否,则执行步骤S3;53) 判断指令是否是对模拟器的操作,如果是,则向模拟器发指令,模拟器发出信号,然后执行步骤S4;如果否,执行步骤S4;54) 判断动作序列是否执行结束,如果是,则跳出循环继续往下执行;如果动作序列没有执行结束,则继续读取下一条重放动作的指令,执行上述步骤S1。为实现上述目的,本专利技术的另一种技术方案是 一种嵌入式软件的测 试系统,包括录制模块和重放模块;所述录制模块包括用于录制操作人 员的操作步骤、被设置参数的数据、以及目标机运行的结果的录制单元, 用于将录制的数据通过通讯端口传输至计算机的传输单元,用于运行计算 机上的测试程序的程序运行单元,用于接受测试程序指令且将录制的数据保存为具有关键字的脚本文件的脚本文件生成单元,用于修改脚本文件中 的所需的数值为参变量的数值编辑单元,用于存放参变量对应数据的数据库单元;所述重放模块包括..用于运行测试程序、调用脚本文件的文件调 用单元,用于接收脚本文件、并读入参数数据库中的对应数据来替换参变 量,并解析脚本文件、将脚本文件输入目标机的数据解析和执行单元,位 于目标机中,用于解析并执行脚本中的指令的桩程序解析单元,用于接收 桩程序解析单元运行的结果、并将运行结果返回计算机进行分析,并输出 测试结果的处理单元。所述录制单元优选包括面向控件对象录制单元或面向步骤录制单元。 所述面向控件对象录制单元包括用于录制鼠标动作的第一捕捉模 块,所述第一捕捉模块录制鼠标的一系列动作,其中对鼠标动作的录制只 记录能够改变控件行为或属性值的有效点击,包括控件的绝对路径和控件 的属性;用于判断鼠标点击动作是否是有效动作的第一判断模块;用于在第一判断模块判断鼠标点击动作是有效动作后判断鼠标点击的控件ID是 否改变的第二判断模块;用于在第二判断模块判断鼠标点击的控件ID改变时,生成与该控件对应的绝对路径,记录控件属性改变后的值的第一记录 模块;和用于上传绝对路径和控件属性改变后的值到计算机中的测试脚本文档来自技高网...

【技术保护点】
一种嵌入式软件的测试方法,其特征在于,包括以下步骤:1)录制对目标机的操作,生成测试脚本;2)重放所录制的脚本;其中,所述步骤1包括如下步骤:11)利用目标机上的桩程序录制操作人员的操作步骤、被设置参数的数据、以及目标机运行的结果,录制的对象包括对目标机的图形用户界面的操作、模拟器操作和关键点插入操作的录制;12)将录制的数据通过通讯端口传输至计算机;13)运行计算机上的测试程序;14)测试程序接收录制的数据,并将录制的数据保存为具有关键字的脚本文件;15)修改脚本中的所需要的数值部分为参变量;16)在计算机上建立数据库文件,存放参变量对应的数据;其中,所述步骤2包括如下步骤:21)运行计算机上的测试程序;22)测试程序调用脚本文件、并读入参数数据库中的对应数据来替换脚本文件中的参变量;23)解析脚本文件并输入目标机;24)目标机中的桩程序解析并执行脚本中的指令;25)将运行结果返回计算机进行分析,并输出测试结果。

【技术特征摘要】
1. 一种嵌入式软件的测试方法,其特征在于,包括以下步骤1)录制对目标机的操作,生成测试脚本;2)重放所录制的脚本;其中,所述步骤1包括如下步骤11)利用目标机上的桩程序录制操作人员的操作步骤、被设置参数的数据、以及目标机运行的结果,录制的对象包括对目标机的图形用户界面的操作、模拟器操作和关键点插入操作的录制;12)将录制的数据通过通讯端口传输至计算机;13)运行计算机上的测试程序;14)测试程序接收录制的数据,并将录制的数据保存为具有关键字的脚本文件;15)修改脚本中的所需要的数值部分为参变量;16)在计算机上建立数据库文件,存放参变量对应的数据;其中,所述步骤2包括如下步骤21)运行计算机上的测试程序;22)测试程序调用脚本文件、并读入参数数据库中的对应数据来替换脚本文件中的参变量;23)解析脚本文件并输入目标机;24)目标机中的桩程序解析并执行脚本中的指令;25)将运行结果返回计算机进行分析,并输出测试结果。2. 如权利要求1所述的嵌入式软件的测试方法,其特征在于所述步骤 11中对目标机的图形用户界面操作的录制方法采用面向控件对象的录 第U或面向步骤操作录制。3. 如权利要求2所述的嵌入式软件的测试方法,其特征在于所述面 向控件对象的录制是由鼠标动作触发,录制鼠标的一系列动作,其中对 鼠标动作的录制只记录能够改变控件行为或属性值的有效点击,包括控件 的绝对路径和控件的属性,包括如下步骤Al)捕捉鼠标的点击动作;A2)判断该点击动作是否是有效的动作,如果不是有效的动作,则忽 略该动作;如果是有效的动作,则执行步骤A3;A3)判断鼠标点击的控件ID是否改变,如果没变,则忽略该点击动 作;如果控件ID改变了,则执行步骤A4;A4).生成与该控件对应的绝对路径,并记录控件属性改变后的值; A5)上传绝对路径和控件属性改变后的值到计算机中的测试脚本中。4. 如权利要求3所述的嵌入式软件的测试方法,其特征在于所述绝对 路径是指从目标机图像用户界面的初始界面开始,到达目标控件,途经的 各个窗口和窗口上被点击的控件所形成的二元组,所述二元组的形式是 (Wndld, Itemld),其中Wndld是每一级窗口 Id, Itemld是该窗口上接 收有效点击后属性或行为被改变的控件Id。5. 如权利要求2所述的嵌入式软件的测试方法,其特征在于所述面 向步骤录制是记录目标机的键盘上被按下的键盘码和旋钮旋转的操作 码,录制按键或旋钮的操作包括以下步骤Bl)捕捉按键或旋钮的动作;B2)判断按键或旋钮的动作是否是有效动作,如果不是有效动作,则 忽略该动作;如果是有效动作,则执行步骤B3; B3)记录按键的键盘码或者旋钮的操作码;B4)上传按键的键盘码或旋钮的操作码到计算机中的测试脚本中。6. 如权利要求1至5中任一项所述的嵌入式软件的测试方法,其特征在 于所述步骤2中还包括如下步骤Cl)选取脚本文件,系统关联相应的参数数据文件;C2)读取脚本文件中的指令并执行,执行过程中测试程序把前后两个 绝对路径换算为相对路径。7. 如权利要求6所述的嵌入式软件的测试方法,其特征在于所述步骤 C2是一个循环过程,包括如下步骤51) 判断指令是否是对目标机的图形用户界面的操作,如果是,则重放面向控件对象或面向步骤操作,并执行步骤S4;如果否,则执行步骤S2;52) 判断指令是否是关键点插入操作,如果是,则收集目标机信息,然后执行步骤S4;如果否,则执行步骤S3;53) 判断指令是否是对模拟器的操作,如果是,则向模拟器发指令,模拟器发出信号,然后执行步骤S4;如果否,执行步骤S4;54) 判断动作序列是否执行结束,如果是,则跳出循环继续往下执行;如果动作序列没有执行结束,则继续读取下一条重放动作的指令,执行上述步骤S1。8. —种嵌入式软件的测试系统,其特征在于包括录制模块和重...

【专利技术属性】
技术研发人员:徐春阳杨文亮
申请(专利权)人:深圳迈瑞生物医疗电子股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1