一种自动化测试的方法和装置的制造方法

文档序号:9375447阅读:313来源:国知局
一种自动化测试的方法和装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机应用技术领域,特别涉及一种自动化测试的方法和装置。
【【背景技术】】
[0002]测试件指的是一组相关测试用例的集合,例如将“淘宝首页所有用户行为”作为一个测试件,现有自动化测试必须基于测试件执行。
[0003]然而如果测试件较大,覆盖面广,这就可能会造成测试资源和时间的浪费,运行成本较高。例如,开发工程师A修改了淘宝首页的产品功能,他想用自动化测试件进行回归测试,就必须跑“淘宝首页所有用户行为”这个测试件,但这个测试件中可能包含了很多他不需要的测试用例,比如店铺信息相关的测试用例,那么就会浪费测试资源和时间。再例如,开发工程师B修改了产品功能的底层模块,他需要回归测试淘宝首页的产品功能和淘宝店铺的产品功能,涉及的测试用例分布于“淘宝首页所有用户行为”和“淘宝店铺所有用户行为”两个测试件中,那他就必须运行这两个测试件才能够覆盖他的测试场景,但这两个测试件中可能包含了很多他不需要的测试用例,比如店铺信息相关的测试用例,同样会浪费测试资源和时间。
[0004]如果测试件设置的比较小,使得每个测试件都仅包含一个或几个测试用例,每次运行的时候选取不同的测试件运行,降低运行成本,但随着测试用例的增加,测试件也越来越多,增加了维护成本。

【发明内容】

[0005]有鉴于此,本发明提供了一种自动化测试的方法和装置,以便于降低测试的运营成本和维护成本。
[0006]具体技术方案如下:
[0007]本发明提供了一种自动化测试的方法,预先存储测试件中各测试用例所属的测试分组;所述方法包括:
[0008]运行被测试项目对应的测试集,所述测试集中包括一个测试件中的一个或多个测试分组,或者包括多个测试件的测试分组;
[0009]在运行所述测试集的过程中,解析所述测试集涉及的测试件和测试件中的测试用例;
[0010]针对解析结果中的每一个测试件分别创建测试任务,每个测试任务负责运行解析结果中该测试任务所对应测试件中的测试用例;
[0011]获取各测试任务的运行数据得到所述被测试项目的运行数据,所述运行数据至少包括测试结果。
[0012]根据本发明一优选实施方式,所述预先存储测试件中各测试用例所属的测试分组包括:
[0013]获取并解析测试件的源代码,所述源代码中采用testng的group模式定义各测试用例所属的测试分组;
[0014]将解析得到的每个测试用例的名称和所属的测试分组存入数据库中。
[0015]根据本发明一优选实施方式,在所述运行被测试项目对应的测试集之前,该方法还包括:
[0016]判断已经创建的测试集中是否已经存在所述被测试项目对应的测试集,如果是,则执行所述运行被测试项目对应的测试集;否则,创建所述被测试项目对应的测试集后,执行所述运行被测试项目对应的测试集。
[0017]根据本发明一优选实施方式,创建所述被测试项目对应的测试集包括:
[0018]向用户提供新增测试集的界面;
[0019]将用户在所述新增测试集的界面中输入的测试集的名称、选择的测试件以及从选择的测试件中选择的测试分组作为测试集信息进行保存。
[0020]根据本发明一优选实施方式,所述获取各测试任务的运行数据得到所述被测试项目的运行数据包括:
[0021]如果所述测试任务为多个,则整合各测试任务的运行数据得到所述被测试项目的运行数据。
[0022]根据本发明一优选实施方式,所述运行数据还包括状态信息,在对各测试任务的状态信息进行整合时,采用以下原则:
[0023]如果所有测试任务都尚未开始,则整合后所述被测试项目的状态信息为等待执行;
[0024]如果至少有一个测试任务在运行中,则整合后所述被测试项目的状态信息为运行中;
[0025]如果所有测试任务都运行结束且至少有一个测试任务运行失败,则整合后所述被测试项目的状态信息为运行失败;
[0026]如果所有测试任务都运行结束且全部成功,则整合后所述被测试项目的状态信息为运行成功;
[0027]如果至少有一个测试任务运行异常,则整合后所述被测试项目的运行状态为运行异常。
[0028]根据本发明一优选实施方式,该方法还包括:
[0029]通过任务管理界面输出所述被测试项目的运行数据。
[0030]本发明还提供了一种自动化测试的装置,该装置包括:存储单元、运行单元和结果获取单元;
[0031]所述存储单元,用于预先存储测试件中各测试用例所属的测试分组;
[0032]所述运行单元,用于运行被测试项目对应的测试集,所述测试集中包括一个测试件中的一个或多个测试分组,或者包括多个测试件的测试分组;
[0033]其中所述运行单元具体包括:
[0034]第一解析子单元,用于解析所述测试集涉及的测试件和测试件中的测试用例;
[0035]运行子单元,用于针对所述第一解析子单元得到的解析结果中的每一个测试件分别创建测试任务,每个测试任务负责运行解析结果中该测试任务所对应测试件中的测试用例;
[0036]所述结果获取单元,用于获取各测试任务的运行数据得到所述被测试项目的运行数据,所述运行数据至少包括测试结果。
[0037]根据本发明一优选实施方式,所述存储单元具体包括:
[0038]第二解析子单元,用于获取并解析测试件的源代码,所述源代码中采用testng的group模式定义各测试用例所属的测试分组;
[0039]存储子单元,用于将所述第二解析子单元解析得到的每个测试用例的名称和所属的测试分组存入数据库中。
[0040]根据本发明一优选实施方式,该装置还包括:判断单元和创建单元;
[0041]所述判断单元,用于在所述运行单元运行被测试项目对应的测试集之前,判断已经创建的测试集中是否已经存在所述被测试项目对应的测试集,如果是,触发所述运行单元运行被测试项目对应的测试集;否则,触发所述创建单元;
[0042]所述创建单元,用于受到所述判断单元的触发后,创建所述被测试项目对应的测试集,触发所述运行单元运行被测试项目对应的测试集。
[0043]根据本发明一优选实施方式,所述创建单元具体用于向用户提供新增测试集的界面,将用户在所述新增测试集的界面中输入的测试集的名称、选择的测试件以及从选择的测试件中选择的测试分组作为测试集信息进行保存。
[0044]根据本发明一优选实施方式,如果所述测试任务为多个,则所述结果获取单元整合各测试任务的运行数据得到所述被测试项目的运行数据。
[0045]根据本发明一优选实施方式,所述运行数据还包括状态信息,所述结果获取单元在对各测试任务的状态信息进行整合时,采用以下原则:
[0046]如果所有测试任务都尚未开始,则整合后所述被测试项目的状态信息为等待执行;
[0047]如果至少有一个测试任务在运行中,则整合后所述被测试项目的状态信息为运行中;
[0048]如果所有测试任务都运行结束且至少有一个测试任务运行失败,则整合后所述被测试项目的状态信息为运行失败;
[0049]如果所有测试任务都运行结束且全部成功,则整合后所述被测试项目的状态信息为运行成功;
[0050]如果至少有一个测试任务运行异常,则整合后所述被测试项目的运行状态为运行异常。
[0051]根据本发明一优选实施方式,该装置还包括:结果输出单元,用于通过任务管理界面输出所述被测试项目的运行数据。
[0052]由以上技术方案可以看出,本发明引入了测试分组和测试集的概念,使得自动化测试基于测试集进行,能够更加灵活地组合测试用例,仅运行被测试项目所涉及的测试用例即可,节约了测试资源和时间,降低了运行成本,另外并没有改变测试件的数量,不会增加测试件的维护成本。
【【附图说明】】
[0053]图1为本发明提供的主要方法流程图;
[0054]图2为本发明实施例一提供的方法流程图;
[0055]图3为本发明实施例一
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1