一种软件测试的方法、系统和设备的制作方法

文档序号:6335195阅读:272来源:国知局
专利名称:一种软件测试的方法、系统和设备的制作方法
技术领域
本发明涉及计算机软件领域,特别涉及一种软件测试的方法、系统和设备。
背景技术
软件测试是确保软件质量和可靠性的重要手段,因此,人们一直致力于研究更加有效的软件测试方法。现有一种常用于手机等移动终端的软件测试方法,具体包括测试设备向待测设备发送模拟按键的命令,待测设备接收到该命令后,模拟按键,对按键进行响应,得到相应的当前界面。然后,待测设备对当前界面进行屏幕截图, 得到当前界面的图片,并将当前界面的图片返回给测试设备。测试设备通过图片对比或 OCR (Optical Character Recognition,光学字符扫描)技术对当前界面进行校验。OCR技术可以从当前界面的图片扫描出文字,对当前界面的文字进行校验。但是, 由于同一界面前后两次截图的像素可能不一样,另外在扫描文字、特别是中文时,经常出现错误,因此,OCR的准确性不高。图片对比技术,由于同一界面前后两次截图的像素可能不一样,势必影响图片对比的结果,另外,电池电量和信号等不断变化的图标也会影响对比结果,因此,图片对比的准确性也不高。综合上述,现有技术通过图片进行校验,容易受到图片像素不一致、图标变化等因素的影响,从而造成测试结果不准确。

发明内容
为了提高软件测试的准确性,本发明实施例提供了一种软件测试的方法、系统和设备。所述技术方案如下一种软件测试的方法,所述方法包括接收测试设备发送的模拟按键的命令; 模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例, 得到相应的当前界面;接收所述测试设备发送的获取按键响应结果的命令;生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备,使所述测试设备解析所述文件得到所述当前界面中控件的属性信息,并根据所述当前界面中控件的属性信息对所述软件中的测试用例进行校验。进一步的,所述生成一个文件之前,包括判断所述软件的版本;当所述软件为测试版本时,执行所述生成一个文件的步骤及其后续步骤。其中,所述控件的属性信息包括所述控件的类型、位置和内容。一种软件测试的方法,所述方法包括
向待测设备发送模拟按键的命令,使所述待测设备模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;向所述待测设备发送获取按键响应结果的命令,使所述待测设备生成一个文件, 将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备;接收并解析所述文件得到所述当前界面中控件的属性信息;根据所述当前界面中控件的属性信息和预存的所述当前界面中控件的属性信息的标准值对所述软件中的测试用例进行校验。其中,所述控件的属性信息包括所述控件的类型、位置和内容。一种待测设备,所述待测设备包括第一接收模块,用于接收测试设备发送的模拟按键的命令;第一响应模块,用于模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;第二接收模块,用于接收所述测试设备发送的获取按键响应结果的命令;第二响应模块,用于生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备,使所述测试设备解析所述文件得到所述当前界面中控件的属性信息,并根据所述当前界面中控件的属性信息对所述软件中的测试用例进行校验。进一步的,所述待测设备还包括判断模块,用于判断所述软件的版本,当所述软件为测试版本时,执行所述第二响应模块。一种测试设备,所述测试设备包括第一发送模块,用于向待测设备发送模拟按键的命令,使所述待测设备模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;第二发送模块,用于向所述待测设备发送获取按键响应结果的命令,使所述待测设备生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备;解析模块,用于接收并解析所述文件得到所述当前界面中控件的属性信息;校验模块,用于根据所述当前界面中控件的属性信息和预存的所述当前界面中控件的属性信息的标准值对所述软件中的测试用例进行校验。一种软件测试的系统,所述系统包括测试设备和待测设备;所述测试设备,用于向待测设备发送模拟按键的命令,并向所述待测设备发送获取按键响应结果的命令,接收并解析所述待测设备发送的文件得到当前界面中控件的属性信息,根据所述当前界面中控件的属性信息和预存的所述当前界面中控件的属性信息的标准值对所述软件中的测试用例进行校验;所述待测设备,用于接收所述测试设备发送的模拟按键的命令,模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;接收所述测试设备发送的获取按键响应结果的命令,生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备。
进一步的,所述待测设备,还用于判断所述软件的版本,当所述软件为测试版本时,执行所述生成一个文件的步骤及其后续步骤。本发明实施例提供的技术方案带来的有益效果是通过模拟按键得到软件测试用例相应的当前界面,然后生成一个文件,并将当前界面中控件的属性信息写入该文件,使测试设备解析该文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件测试用例进行校验,可以提高软件测试的准确性。


图1是本发明一实施例提供的软件测试的方法流程图;图2是本发明另一实施例提供的软件测试的方法流程图;图3是本发明另一实施例提供的软件测试的信息交互图;图4是本发明另一实施例提供的待测设备结构示意图;图5是本发明另一实施例提供的测试设备结构示意图;图6是本发明另一实施例提供的软件测试的系统示意图.
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。参见图1,本发明的一实施例提供了一种软件测试的方法,包括101 接收测试设备发送的模拟按键的命令;102:模拟按键,对按键进行响应,执行与按键相应的软件中的测试用例,得到相应的当前界面;103 接收测试设备发送的获取按键响应结果的命令;其中,获取按键响应结果的命令可以是模拟另一按键的命令,当模拟另一按键并响应时,执行步骤104。104:生成一个文件,将当前界面中控件的属性信息写入文件,并将文件发送给测试设备,使测试设备解析文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件中的测试用例进行校验。其中,该文件可以是xml文件,本实施例并不限定。本实施例通过模拟按键得到软件测试用例相应的当前界面,然后生成一个文件, 并将当前界面中控件的属性信息写入该文件,使测试设备解析该文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件测试用例进行校验,可以提高软件测试的准确性。参见图2,本发明的另一实施例提供了一种软件测试的方法,包括201 向待测设备发送模拟按键的命令,使待测设备模拟按键,对按键进行响应,执行与按键相应的软件中的测试用例,得到相应的当前界面;202 向待测设备发送获取按键响应结果的命令,使待测设备生成一个文件,将当前界面中控件的属性信息写入文件,并将文件发送给测试设备;
203 接收并解析文件得到当前界面中控件的属性信息;204:根据当前界面中控件的属性信息和预存的当前界面中控件的属性信息的标准值对软件中的测试用例进行校验。本实施例通过命令触发待测设备模拟按键得到软件测试用例相应的当前界面,并通过命令触发待测设备生成一个文件,并将当前界面中控件的属性信息写入该文件,获取并解析该文件得到当前界面中控件的属性信息,根据当前界面中控件的属性信息和预存的当前界面中控件的属性信息的标准值对软件测试用例进行校验,可以提高软件测试的准确性。参见图3,本发明的另一实施例提供了一种软件测试的方法,包括首先,根据待测设备软件的按键(也即第一按键)选择一个“获取按键响应结果” 的按键(也即第二按键),如拨号键或组合键等。其中,软件具体可以是Symbian S60,常用于手机等移动终端。然后,设置一个预编译开关,用于判断软件的版本,当软件为正式版本时,第二按键的响应事件中不加测试代码,也即正式版本无法响应第二按键;当软件为测试版本时,将测试代码加入第二按键的响应事件中,并执行以下操作301 测试设备向待测设备发送模拟第一按键的命令;其中,测试设备对待测设备的软件进行测试。测试设备可以是PC (Personal Computer,个人电脑)等设备,待测设备可以是手机等移动终端,本实施例并不限定具体的设备。302:待测设备接收到模拟第一按键的命令后,模拟第一按键,对第一按键进行响应,执行与第一按键相应的软件中的测试用例,得到相应的当前界面,并返回“执行完成”的操作结果给测试设备;具体的,本步骤可以由运行于待测设备后台的测试代理执行。303 测试设备接收到“执行完成”的操作结果后,向待测设备发送模拟第二按键的命令;304:待测设备接收到模拟第二按键的命令后,模拟第二按键,对第二按键进行响应,生成一个文件,将当前界面中控件的属性信息写入该文件,并将该文件发送给测试设备;具体的,本步骤可以第二按键的响应事件中加入的测试代码生成文件,该文件具体可以是xml文件,本实施例并不限定。另外,可以将该文件写入待测设备的磁盘或其他计算机可读介质等载体中。另外,由于是对软件自身进行测试,所以可以获取到软件的源代码,包括当前界面中控件的属性信息。其中,控件的属性信息包括控件类型、位置、内容等。305:测试设备接收到文件后,解析该文件得到当前界面中控件的属性信息,根据当前界面中控件的属性信息对软件测试用例进行校验。具体的,测试设备预存有当前界面中控件的属性信息的标准值,校验时可以将解析得到的控件的属性信息与预存的控件的属性信息的标准值进行对比,从而得出校验结^ ο本实施例待测设备通过模拟按键得到软件测试用例相应的当前界面,然后生成一个文件,并将当前界面中控件的属性信息写入该文件,使测试设备解析该文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件测试用例进行校验,可以提高软件测试的准确性。另外,测试范围包括控件类型、位置、内容等,扩大了测试范围。参见图4,本发明的另一实施例提供了一种待测设备,待测设备包括第一接收模块401,用于接收测试设备发送的模拟按键的命令;第一响应模块402,用于模拟按键,对按键进行响应,执行与按键相应的软件中的测试用例,得到相应的当前界面;第二接收模块403,用于接收测试设备发送的获取按键响应结果的命令;第二响应模块404,用于生成一个文件,将当前界面中控件的属性信息写入文件, 并将文件发送给测试设备,使测试设备解析文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件中的测试用例进行校验。其中,控件的属性信息包括控件的类型、位置和内容。进一步的,待测设备还包括判断模块,用于判断软件的版本,当软件为测试版本时,执行第二响应模块。本实施例提供的待测设备与方法实施例属于同一构思,具体实现过程相见方法实施例,这里不再赘述。本实施例通过模拟按键得到软件测试用例相应的当前界面,然后生成一个文件, 并将当前界面中控件的属性信息写入该文件,使测试设备解析该文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件测试用例进行校验,可以提高软件测试的准确性。另外,测试范围包括控件类型、位置、内容等,扩大了测试范围。参见图5,本发明另一实施例提供了一种测试设备,包括第一发送模块501,用于向待测设备发送模拟按键的命令,使待测设备模拟按键, 对按键进行响应,执行与按键相应的软件中的测试用例,得到相应的当前界面;第二发送模块502,用于向待测设备发送获取按键响应结果的命令,使待测设备生成一个文件,将当前界面中控件的属性信息写入文件,并将文件发送给测试设备;解析模块503,用于接收并解析文件得到当前界面中控件的属性信息;校验模块504,用于根据当前界面中控件的属性信息和预存的当前界面中控件的属性信息的标准值对软件中的测试用例进行校验。其中,控件的属性信息包括控件的类型、位置和内容。本实施例提供的测试设备与方法实施例属于同一构思,具体实现过程相见方法实施例,这里不再赘述。本实施例通过命令触发待测设备模拟按键得到软件测试用例相应的当前界面,并通过命令触发待测设备生成一个文件,并将当前界面中控件的属性信息写入该文件,获取并解析该文件得到当前界面中控件的属性信息,根据当前界面中控件的属性信息和预存的当前界面中控件的属性信息的标准值对软件测试用例进行校验,可以提高软件测试的准确性。另外,测试范围包括控件类型、位置、内容等,扩大了测试范围。参见图6,本发明另一实施例提供了一种软件测试的系统,包括测试设备601和待测设备602 ;测试设备601,用于向待测设备发送模拟按键的命令,并向待测设备发送获取按键响应结果的命令,接收并解析待测设备发送的文件得到当前界面中控件的属性信息,根据当前界面中控件的属性信息和预存的当前界面中控件的属性信息的标准值对软件中的测试用例进行校验;待测设备602,用于接收测试设备发送的模拟按键的命令,模拟按键,对按键进行响应,执行与按键相应的软件中的测试用例,得到相应的当前界面;接收测试设备发送的获取按键响应结果的命令,生成一个文件,将当前界面中控件的属性信息写入文件,并将文件发送给测试设备。进一步的,待测设备602,还用于判断软件的版本,当软件为测试版本时,执行生成一个文件的步骤及其后续步骤。本实施例提供的系统,其所涉及的测试设备和待测设备,与方法实施例属于同一构思,具体实现过程详见方法实施例,这里不在赘述。本实施例测试设备发送模拟按键的命令,触发待测设备模拟按键得到软件测试用例相应的当前界面,并发送获取按键响应结果的命令,触发待测设备生成一个文件,并将当前界面中控件的属性信息写入该文件,测试设备获取并解析该文件得到当前界面中控件的属性信息,根据当前界面中控件的属性信息和预存的当前界面中控件的属性信息的标准值对软件测试用例进行校验,可以提高软件测试的准确性。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种软件测试的方法,其特征在于,所述方法包括 接收测试设备发送的模拟按键的命令;模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;接收所述测试设备发送的获取按键响应结果的命令;生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备,使所述测试设备解析所述文件得到所述当前界面中控件的属性信息,并根据所述当前界面中控件的属性信息对所述软件中的测试用例进行校验。
2.如权利要求1所述的方法,其特征在于,所述生成一个文件之前,包括 判断所述软件的版本;当所述软件为测试版本时,执行所述生成一个文件的步骤及其后续步骤。
3.如权利要求1所述的方法,其特征在于,所述控件的属性信息包括所述控件的类型、位置和内容。
4.一种软件测试的方法,其特征在于,所述方法包括向待测设备发送模拟按键的命令,使所述待测设备模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;向所述待测设备发送获取按键响应结果的命令,使所述待测设备生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备; 接收并解析所述文件得到所述当前界面中控件的属性信息;根据所述当前界面中控件的属性信息和预存的所述当前界面中控件的属性信息的标准值对所述软件中的测试用例进行校验。
5.如权利要求4所述的方法,其特征在于,所述控件的属性信息包括所述控件的类型、位置和内容。
6.一种待测设备,其特征在于,所述待测设备包括第一接收模块,用于接收测试设备发送的模拟按键的命令;第一响应模块,用于模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;第二接收模块,用于接收所述测试设备发送的获取按键响应结果的命令; 第二响应模块,用于生成一个文件,将所述当前界面中控件的属性信息写入所述文件, 并将所述文件发送给所述测试设备,使所述测试设备解析所述文件得到所述当前界面中控件的属性信息,并根据所述当前界面中控件的属性信息对所述软件中的测试用例进行校验。
7.如权利要求6所述的待测设备,其特征在于,所述待测设备还包括判断模块,用于判断所述软件的版本,当所述软件为测试版本时,执行所述第二响应模块。
8.—种测试设备,其特征在于,所述测试设备包括第一发送模块,用于向待测设备发送模拟按键的命令,使所述待测设备模拟所述按键, 对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面; 第二发送模块,用于向所述待测设备发送获取按键响应结果的命令,使所述待测设备生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备;解析模块,用于接收并解析所述文件得到所述当前界面中控件的属性信息; 校验模块,用于根据所述当前界面中控件的属性信息和预存的所述当前界面中控件的属性信息的标准值对所述软件中的测试用例进行校验。
9.一种软件测试的系统,其特征在于,所述系统包括测试设备和待测设备;所述测试设备,用于向待测设备发送模拟按键的命令,并向所述待测设备发送获取按键响应结果的命令,接收并解析所述待测设备发送的文件得到当前界面中控件的属性信息,根据所述当前界面中控件的属性信息和预存的所述当前界面中控件的属性信息的标准值对所述软件中的测试用例进行校验;所述待测设备,用于接收所述测试设备发送的模拟按键的命令,模拟所述按键,对所述按键进行响应,执行与所述按键相应的软件中的测试用例,得到相应的当前界面;接收所述测试设备发送的获取按键响应结果的命令,生成一个文件,将所述当前界面中控件的属性信息写入所述文件,并将所述文件发送给所述测试设备。
10.如权利要求9所述的系统,其特征在于,所述待测设备,还用于判断所述软件的版本,当所述软件为测试版本时,执行所述生成一个文件的步骤及其后续步骤。
全文摘要
本发明公开了一种软件测试的方法、系统和设备,属于计算机软件领域。所述方法包括接收测试设备发送的模拟按键的命令;模拟按键,对按键进行响应,执行与按键相应的软件中的测试用例,得到相应的当前界面;接收测试设备发送的获取按键响应结果的命令;生成一个文件,将当前界面中控件的属性信息写入文件,并将文件发送给测试设备,使测试设备解析文件得到当前界面中控件的属性信息,并根据当前界面中控件的属性信息对软件中的测试用例进行校验。本发明还包括待测设备和测试设备,以及由二者组成的系统。本发明通过上述方案,可以提高软件测试的准确性。
文档编号G06F11/36GK102467442SQ20101053150
公开日2012年5月23日 申请日期2010年11月2日 优先权日2010年11月2日
发明者丁如敏, 叶方正, 李龙, 欧阳骏, 罗巍, 邹华林 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1