测试方法和系统的制作方法

文档序号:8339517阅读:218来源:国知局
测试方法和系统的制作方法
【技术领域】
[0001]本公开的实施例涉及计算机网络领域,更具体地,涉及一种测试方法和系统。
【背景技术】
[0002]随着计算机网络技术的迅猛发展,如果一款计算机软件的业务量实现增长,则有可能存在亿万级别的潜在或实际的用户。然而,由于用户数量的增加,诸如http协议的应用程序编程接口(API)的测试工作变得异常繁重。
[0003]由于目前采用的是传统的脚本式的测试开发,每个测试中的相关参数都需要实现具体封装以适应各种操作系统和测试系统,故对测试人员提出了非常高的要求,很多测试都只能由高级测试工程师来完成。
[0004]并且,冗余代码过多也是脚本式测试方法的一个缺陷,这使得很多高级测试人员需要忙于相对重复的劳动。
[0005]另外,由于传统的脚本式测试比较受局限,只能简单模拟发出用于测试的请求,拿到请求返回值,但是对请求返回值的正确性不能进行有效验证。因此,测试结果仅能作为定性参考。
[0006]此外,传统的脚本式测试缺少一种确定测试覆盖率的机制。当一次测试完成后,测试人员通常不关心该测试结果充分与否,导致API测试存在质量风险。
[0007]因此,亟需一种测试手段能够简化测试工作、有效验证测试结果、确定测试覆盖率等,以解决上述问题。

【发明内容】

[0008]本公开的实施例提供了一种测试方法和系统,以解决测试工作繁复、无法有效验证测试结果、不能确定测试覆盖率等问题。
[0009]为此,本公开的一个方面提供了一种测试方法,包括:响应于输入与测试对象相关的参数,向测试对象发送测试请求;接收来自测试对象的、与参数相对应的返回值;以及通过验证返回值而获得测试结果。
[0010]在一个实施例中,通过验证返回值而获得测试结果可以包括:将返回值和已存储的与参数相对应的验证值进行比较;在返回值等于验证值时,将测试结果确定为合格;以及在返回值不等于验证值时,将测试结果确定为不合格。
[0011]在另一个实施例中,该方法还可以包括:根据参数中的已被测试的参数与参数的比例,确定参数测试的覆盖率;以及在参数测试的覆盖率小于预定阈值时,继续测试参数中的除已被测试的参数之外的参数。
[0012]在再一个实施例中,该方法还可以包括:根据参数中的已被测试的参数与参数的比例,确定参数测试的覆盖率;在参数测试的覆盖率小于第一预定阈值时,将测试质量评估为低;在参数测试的覆盖率大于或等于第一预定阈值且小于第二预定阈值时,将测试质量评估为中;以及在参数测试的覆盖率大于或等于第二预定阈值时,将测试质量评估为高。
[0013]在再一个实施例中,响应于输入与测试对象相关的参数,向测试对象发送测试请求可以包括:对输入的参数进行封装;以及响应于输入参数,向测试对象发送测试请求。
[0014]在再一个实施例中,测试对象可以是应用程序编程接口。
[0015]此外,本公开的另一个方面提供了一种测试系统,包括:测试请求发送装置,被配置为响应于输入与测试对象相关的参数,向测试对象发送测试请求;返回值接收装置,被配置为接收来自测试对象的、与参数相对应的返回值;以及验证装置,被配置为通过验证返回值而获得测试结果。
[0016]在一个实施例中,验证装置可以包括:比较单元,被配置为将返回值和已存储的与参数相对应的验证值进行比较;以及测试结果确定单元,被配置为:在返回值等于验证值时,将测试结果确定为合格;以及在返回值不等于验证值时,将测试结果确定为不合格。
[0017]在另一个实施例中,该系统还可以包括:覆盖率确定装置,被配置为根据参数中的已被测试的参数与参数的比例,确定参数测试的覆盖率,其中在参数测试的覆盖率小于预定阈值时,该测试系统继续测试参数中的除已被测试的参数之外的参数。
[0018]在再一个实施例中,该系统还可以包括:覆盖率确定装置,被配置为根据参数中的已被测试的参数与参数的比例,确定参数测试的覆盖率;以及测试质量评估装置,被配置为:在参数测试的覆盖率小于第一预定阈值时,将测试质量评估为低;在参数测试的覆盖率大于或等于第一预定阈值且小于第二预定阈值时,将测试质量评估为中;以及在参数测试的覆盖率大于或等于第二预定阈值时,将测试质量评估为高。
[0019]在再一个实施例中,测试请求发送装置可以包括:封装单元,被配置为对输入的参数进行封装;以及发送单元,被配置为响应于输入参数,向测试对象发送测试请求。
[0020]根据本公开的实施例能够简化测试工作、有效验证测试结果、确定测试覆盖率,从而使测试工作,尤其是对应用程序编程接口(API,例如基于http协议的api)的测试工作能够被更为容易地完成,以实现测试工作的自动化。
【附图说明】
[0021]本公开包括附图,用于提供对示例性实施例的进一步理解,这些附图组成了说明书的一部分,用于描述示例性实施例。
[0022]附图中:
[0023]图1示出了根据本公开的实施例的测试方法的流程图;
[0024]图2示出了根据本公开的实施例的获得测试结果的详细流程图;
[0025]图3示出了根据本公开的可选实施例的测试方法的流程图;
[0026]图4示出了根据本公开的另一可选实施例的测试方法的流程图;
[0027]图5示出了根据本公开的再一可选实施例的测试方法的流程图;以及
[0028]图6示出了根据本公开的实施例的测试系统的示意性框图。
【具体实施方式】
[0029]下文将对本公开的具体实施例进行更为详细的描述。应理解,虽然下文中描述的实施例大都针对基于http协议的应用程序编程接口的测试,但本公开的实施例还适用于其他软件的测试。
[0030]图1示出了根据本公开的实施例的测试方法的流程图。
[0031]如图1所示,在步骤S101,响应于输入与测试对象相关的参数,向测试对象发送测试请求。这里,本方法是自动完成的,用户或测试人员只需输入诸如API参数的与测试对象相关的参数,即可自动触发测试进程,生成测试请求,并将该请求发送至诸如API接口的测试对象。当该被测的API接口基于http协议时,该测试请求是http请求。
[0032]之后,执行步骤S103,接收来自测试对象的、与参数相对应的返回值。这里,当向诸如API接口的测试对象发送自动生成的测试请求之后,等待并接收从API接口反馈的返回值。与步骤SlOl中相对应的,当该被测的API接口基于http协议时,该返回值是http返回值。
[0033]之后,执行步骤S105,通过验证返回值而获得测试结果。
[0034]接下来,图2示出了根据本公开的实施例的获得测试结果的详细流程图。
[0035]如图2所示,步骤S105的通过验证返回值而获得测试结果包括:在步骤S201,将返回值和已存储的与参数相对应的验证值进行比较;在步骤S203,在返回值等于验证值时,将测试结果确定为合格;以及在步骤S205,在返回值不等于验证值时,将测试结果确定为不合格。这里,返回值与验证值之间的比较可以不是严格比较,即,当预定比例的返回值与对应的验证值严格相同时,就认为测试结果合格。可选地,该预定比例为90%,此时可以经验性地丢弃大部分不需要的不合格验证结果。此外,预先设置一数据库,用于存储所有参数以及对应于这些参数的验证值。
[0036]此外,图3示出了根据本公开的可选实施例的测试方法的流程图。
[0037]其中,对于已经在图1描述过的步骤,本文不再赘述。可选地,在执行图1中所示的步骤S101、S103、S105之后,还可以继续执行步骤S307,根据所有参数中的已被测试的参数与所有参数的比例,确定参数测试的覆盖率。作为一个示例,针对作为测试对象的API接口,用户或测试人员输入的用于测试的参数总共有100个,如果其中已经经过测试的参数(无论是否合格)有40个,则参数测试的覆盖率为40%。通常,预先设置一数据库,用于存储所有参数以及对应于这些参数的验证值,因此,上述所有参数也可以是指存储在数据库中的所有参数。
[0038]之后,执行步骤S309,在参数测试的覆盖率小于预定阈值时,继续测试参数中的除已被测试的参数之外的参数。作为一个示例,首先将预定阈值设置为60%。如果用户或测试人员输入的参数有100个且已经进行过测试的参数有40个,则40%的覆盖率低于预定阈值60%,这时继续测试进程,即测试未被标记为已被测试的参数(诸如再继续测试20个以上的参数),直到覆盖率在预定阈值以上。通过这种方式,本测试方法只需先人工设定一个预定阈值,之后的测试工作均为自动完
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1