软件自动化测试方法及系统的制作方法

文档序号:9261293阅读:335来源:国知局
软件自动化测试方法及系统的制作方法
【技术领域】
[0001]本发明一般地涉及自动化测试技术领域,并且更具体地,涉及软件自动化测试方法及系统。
【背景技术】
[0002]随着科技的发展,诸如平板电脑、智能手机的各种便携式智能化电子设备在人们的生活中逐渐普及。目前,已经开发了数量庞大的应用软件以供在这些智能终端的操作系统上使用,在很大程度上丰富和便利了人们的生活。移动互联网的蓬勃发展更是不仅使可开发的应用领域更丰富,同时也使软件的分发和下载更加方便。
[0003]与在常规的计算机系统软件类似,针对移动终端操作系统的应用软件在发布之前必须通过测试来保证其正确性、完整性和安全性。一般地,可以使用人工操作或者自动化测试的方式来检验一款软件是否满足规定的需求或确定预期结果与实际结果之间的差别。在大多数情况下,自动化测试具有节省人力、时间或硬件资源等诸多优势。
[0004]为针对新开发的软件或软件的不同版本进行自动化测试,通常需要相应的自动化测试平台。目前常用的移动终端操作系统,例如Android系统、1S系统均提供了各类测试框架,使得软件开发人员能够通过脚本或代码控制移动设备。然而,移动设备的一大特点是终端型号种类繁多。对于软件开发商而言,经常需要在众多市场上可获得的移动设备上测试同一软件的不同开发版本。虽然部分测试工具实现了多部移动设备并行测试执行和测试结果上传,但多以单个测试任务或用例为单位呈现测试结果或报告,无法适用于企业级版本测试或在持续集成中快速呈现以版本为维度的测试结果或测试报告的要求。对于版本测试中多轮测试、单点或部分测试执行场景,现有测试工具测试结果及测试报告无法以作自适应生成。
[0005]随着移动设备及其上的应用软件的广泛普及,对于高效率的软件自动化测试方案仍有很大的需求。

【发明内容】

[0006]本发明的目的是提供一种高效的软件自动化测试方案,其能够降低软件测试成本,缩短软件交付时间,同时提高软件测试的效率和完备性。
[0007]根据本发明的一方面,一种软件自动化测试系统被提供,所述系统包括测试服务器以及与测试服务器通信连接的一个或多个测试执行器,每个测试执行器分别与一个或多个目标设备通信连接,其中所述测试服务器被配置为存储根据用户输入预先建立的测试信息表,其中每个测试信息表项被构造为通过主键唯一地被标识;所述测试执行器被配置为向目标设备发送用例执行命令、从目标设备接收测试执行信息以及将所述测试执行信息与对应的主键值一起上传至所述测试服务器;并且所述测试服务器还被配置为以所述主键值为索引、根据所接收的测试执行信息更新对应的测试信息表项中的测试结果部分。
[0008]根据本发明的一些实施例,所述主键为联合主键,并且所述联合主键至少包括被测软件标识、版本号、目标设备标识以及测试用例编号字段。
[0009]根据本发明的一些实施例,所述测试用例编号被构造为指示实现该测试用例的测试代码执行函数以及该测试代码执行函数的完整路径,并且向目标设备发送用例执行命令包括通过解析所述测试用例编号来生成所述用例执行命令。
[0010]根据本发明的一些实施例,所述测试用例编号被构造为按顺序包括所述测试代码执行函数的各级模块名称。
[0011]根据本发明的一些实施例,测试信息表项中的测试结果部分包括与最新测试结果相关的第一字段集合以及与历史测试结果相关的第二字段集合,并且更新所述测试结果部分包括将所述第一字段集合中的内容移入所述第二字段集合以及将最新接收的测试执行信息填入所述第一字段集合。
[0012]根据本发明的一些实施例,所述测试执行信息至少包括测试是否成功、测试时间和测试日志记录。
[0013]根据本发明的一些实施例,将测试执行信息与对应的主键值一起上传至测试服务器包括将测试执行信息与对应的主键值按HTTP格式组成报文。
[0014]根据本发明的另一方面,一种软件自动化测试方法被提供,所述方法利用测试服务器和测试执行器在目标设备上进行软件自动化测试,其中所述测试服务器与一个或多个测试执行器通信连接并且每个测试执行器分别与一个或多个目标设备通信连接,所述方法包括:在测试服务器上存储根据用户输入预先建立的测试信息表,其中每个测试信息表项被构造为通过主键唯一地被标识;由测试执行器为向目标设备发送用例执行命令;由测试执行器从目标设备接收测试执行信息;由测试执行器将所述测试执行信息与对应的主键值一起上传至测试服务器;以及由测试服务器以所述主键值为索引、根据所接收的测试执行信息更新对应的测试信息表项中的测试结果部分。
[0015]通过应用本发明所提供的软件自动化测试方案,可以方便地在众多目标设备上实现分布式的自动测试以及按所需维度对测试结果的收集和汇总,尤其适用于在移动终端的操作系统上对软件进行测试。在本发明的一些实施例中,还实现了将测试用例与实现其的测试代码之间的关联,这可以很大程度上提高在数量众多的目标设备上并行地进行自动化测试的效率。另外,本发明所提供的软件自动化测试方案还有助于在多种类型的设备及操作系统测试框架上同时进行测试,为软件开发人员提供了极大的便利性。
【附图说明】
[0016]本发明的前述和其他目标、特征和优点根据下面对本发明的实施例的更具体的说明将是显而易见的,这些实施例在附图中被示意。
[0017]图1是根据本发明的一个实施例的软件自动化测试系统的示例性结构图。
[0018]图2是根据本发明的第一实施例的软件自动化测试方法的示例性流程图。
[0019]图3是根据本发明的第二实施例的软件自动化测试方法的示例性流程图。
【具体实施方式】
[0020]以下结合附图和【具体实施方式】进一步详细说明本发明。需要说明的是,附图中的各结构只是示意性说明,用以使本领域普通技术人员最佳地理解本发明的原理,其不一定按比例绘制。
[0021]图1是根据本发明的一个实施例的软件自动化测试系统的示例性结构图,该系统可以被用于在多个目标设备上对待发布的软件并行地进行测试。被测软件针对在目标设备上的应用被开发,尤其被设计为适应于目标设备的操作系统。在目标设备为移动终端的情况下,各种移动终端的硬件配置可能各不相同,而软件人员的目标可能是使待发布的软件在所有这些配置各异的移动终端上均能稳定地运行。通过使用根据本发明实施例的软件自动化测试系统,可以帮助软件开发人员方便高效地在各种目标设备上并行地对待发布的软件进行测试。
[0022]如图1所示,该系统大体上可以包括测试服务器100、一个或多个测试执行器201、202,以及多个目标设备。测试服务器100分别与测试执行器201、202通信连接。测试服务器与测试执行器之间的通信可以采用本领域中已知的或待开发的任何通信技术来实现,例如通过局域网技术等。每个测试执行器可以分别与一个或多个目标设备通信连接。同样地,测试执行器与目标设备之间的通信可以采用本领域中已知的或待开发的任何技术来实现,例如通过USB或Wifi技术等。每个测试执行器所连接的目标设备的数量可
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1