首页 / 专利库 / 软件 / 软件 / 应用软件测试方法及装置

应用软件测试方法及装置

阅读:747发布:2021-06-04

专利汇可以提供应用软件测试方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种应用 软件 测试方法和装置,属于测试技术领域。该方法包括:获取被测 应用软件 系统的测试输出值的合理区间,所述合理区间根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到;使用所获取的合理区间对被测应用软件系统进行测试;根据测试结果判断所述被测应用软件系统是否发生异常。由此,可以快速判断被测应用软件系统是否发生异常。,下面是应用软件测试方法及装置专利的具体信息内容。

1.一种应用软件测试方法,该方法包括步骤:
获取被测应用软件系统的测试输出值的合理区间,所述合理区间根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到;
使用所获取的合理区间对被测应用软件系统进行测试;
根据测试结果判断所述被测应用软件系统是否发生异常。
2.根据权利要求1所述的应用软件测试方法,其特征在于,所述根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到所述合理区间的过程具体包括:
设置自动化测试的时间间隔和次数;
每隔所设置时间间隔,对所述被测应用软件系统进行自动化测试并获得测试输出值,直到达到所设置的次数;
根据所述测试输出值获得所述合理区间。
3.根据权利要求2所述的应用软件测试方法,其特征在于,所述根据所述测试输出值获得合理区间的步骤具体包括:
统计所述自动化测试得到的多个测试输出值的取值范围;
从所述取值范围中去除离散点;
将去除离散点后的取值范围确定为所述合理区间。
4.根据权利要求1所述的应用软件测试方法,其特征在于,所述使用所获取的合理区间对被测应用软件系统进行测试的步骤具体包括:
对所述被测应用软件系统进行测试,得到该次测试的测试输出值;
判断所述测试输出值是否落在所述合理区间的范围内;
当所述测试输出值落在所述合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为通过;
当所述测试输出值不在合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为不通过。
5.根据权利要求1所述的应用软件测试方法,其特征在于,该方法还包括步骤:
当判断出所述被测应用软件系统发生异常时,结合所述被测应用软件系统中的应用软件是否发生版本更新判断异常原因。
6.一种应用软件测试装置,其特征在于,该装置包括:
获取单元,用于获取被测应用软件系统的测试输出值的合理区间,所述合理区间根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到;
测试单元,用于使用所获取的合理区间对被测应用软件系统进行测试;及判断单元,用于根据测试结果判断所述被测应用软件系统是否发生异常。
7.根据权利要求6所述的应用软件测试装置,其特征在于,该装置还包括:
设置单元,用于设置自动化测试的时间间隔和次数;
所述测试单元还用于每隔所设置时间间隔,对所述被测应用软件系统进行自动化测试并获得测试输出值,直到达到所设置的次数;
分析单元,用于根据所述测试输出值获得所述合理区间。
8.根据权利要求7所述的应用软件测试装置,其特征在于,所述分析单元根据所述测试输出值获得合理区间的过程具体包括:
统计所述自动化测试得到的多个测试输出值的取值范围;
从所述取值范围中去除离散点;
将去除离散点后的取值范围确定为所述合理区间。
9.根据权利要求6所述的应用软件测试装置,其特征在于,所述测试单元使用所获取的合理区间对被测应用软件系统进行测试的过程具体包括:
对所述被测应用软件系统进行测试,得到该次测试的测试输出值;
判断所述测试输出值是否落在所述合理区间的范围内;
当所述测试输出值落在所述合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为通过;
当所述测试输出值不在合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为不通过。
10.根据权利要求6所述的应用软件测试装置,其特征在于,所述判断单元还用于当判断出所述被测应用软件系统发生异常时,结合所述被测应用软件系统中的应用软件是否发生版本更新判断异常原因。

说明书全文

应用软件测试方法及装置

技术领域

[0001] 本发明涉及测试技术领域,尤其涉及应用软件测试方法及装置。

背景技术

[0002] 当使用一种应用软件对另一种应用软件进行跟踪管理时,涉及的两种应用软件一种称为跟踪系统,另一种称为被跟踪系统。被跟踪系统由很多模(如微服务)组成。也就是说,跟踪系统用于对被跟踪系统进行跟踪,以管理被跟踪系统各个模块的功能。
[0003] 在针对由所述跟踪系统和被跟踪系统组成的应用软件系统进行测试时,由于被跟踪系统的内部模块源代码及相互调用关系是未知的,遇到的问题是在对被跟踪系统的某一个模块进行测试,如测试某一个模块某一个时间段内的被调用次数时,除了用户本身发起的调用导致该模块的调用次数增加外,若被跟踪系统内部某一个或某几个功能模块也在调用该模块,则也会导致调用次数增加。得到的调用次数是两种类型调用次数的和。即在测试时输入一个扰动,得到的结果不是由这一个单独扰动引起的,而是多个扰动的结果的叠加,单独一个扰动引起的结果是获取不到的。
[0004] 例如,假定测试应用软件系统中被跟踪系统的X服务,用户输入一个值A0,期望获得返回输出值R0。但是由于该应用软件正常工作时,还有其他的服务,如Y服务、Z服务等,也在调用这个待测试X服务,其中Y服务的输入为Y0,Z服务的输入为Z0,导致获取的测试输出值R是输入值A0、Y0、Z0共同作用的结果,不能直接得到R0。由于不同时刻,应用软件中同时调用X服务的服务数量和频率都是不可知的,导致每次获取的输出值R也不是固定值。
[0005] 因此,现有的对应用软件系统进行测试的方式因为无法获取到单独扰动引起的测试结果,不能快速地判断测试结果是否正常,更不能在测试结果异常时快速找到异常原因。

发明内容

[0006] 有鉴于此,本发明的目的在于提供一种应用软件测试方法及装置,以解决至少一个上述技术问题。
[0007] 为实现上述目的,本发明提供一种应用软件测试方法,该方法包括步骤:获取被测应用软件系统的测试输出值的合理区间,所述合理区间根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到;使用所获取的合理区间对被测应用软件系统进行测试;根据测试结果判断所述被测应用软件系统是否发生异常。
[0008] 可选地,所述根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到所述合理区间的过程具体包括:设置自动化测试的时间间隔和次数;每隔所设置时间间隔,对所述被测应用软件系统进行自动化测试并获得测试输出值,直到达到所设置的次数;根据所述测试输出值获得所述合理区间。
[0009] 可选地,所述根据所述测试输出值获得合理区间的步骤具体包括:统计所述自动化测试得到的多个测试输出值的取值范围;从所述取值范围中去除离散点;将去除离散点后的取值范围确定为所述合理区间。
[0010] 可选地,所述使用所获取的合理区间对被测应用软件系统进行测试的步骤具体包括:对所述被测应用软件系统进行测试,得到该次测试的测试输出值;判断所述测试输出值是否落在所述合理区间的范围内;当所述测试输出值落在所述合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为通过;当所述测试输出值不在合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为不通过。
[0011] 可选地,该方法还包括步骤:当判断出所述被测应用软件系统发生异常时,结合所述被测应用软件系统中的应用软件是否发生版本更新判断异常原因。
[0012] 为实现上述目的,本发明还提出一种应用软件测试装置,该装置包括:获取单元,用于获取被测应用软件系统的测试输出值的合理区间,所述合理区间根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到;测试单元,用于使用所获取的合理区间对被测应用软件系统进行测试;及判断单元,用于根据测试结果判断所述被测应用软件系统是否发生异常。
[0013] 可选地,该装置还包括:设置单元,用于设置自动化测试的时间间隔和次数;所述测试单元还用于每隔所设置时间间隔,对所述被测应用软件系统进行自动化测试并获得测试输出值,直到达到所设置的次数;分析单元,用于根据所述测试输出值获得所述合理区间。
[0014] 可选地,所述分析单元根据所述测试输出值获得合理区间的过程具体包括:统计所述自动化测试得到的多个测试输出值的取值范围;从所述取值范围中去除离散点;将去除离散点后的取值范围确定为所述合理区间。
[0015] 可选地,所述测试单元使用所获取的合理区间对被测应用软件系统进行测试的过程具体包括:对所述被测应用软件系统进行测试,得到该次测试的测试输出值;判断所述测试输出值是否落在所述合理区间的范围内;当所述测试输出值落在所述合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为通过;当所述测试输出值不在合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为不通过。
[0016] 可选地,所述判断单元还用于当判断出所述被测应用软件系统发生异常时,结合所述被测应用软件系统中的应用软件是否发生版本更新判断异常原因。
[0017] 本发明提出的应用软件测试方法及装置,通过多次测试获取测试输出值的合理区间,然后根据该合理区间来判断后续对被测应用软件系统的测试是否通过,进而判断被测应用软件系统是否发生异常以及异常原因。
[0018] 其有益效果主要体现在以下两个方面:对跟踪系统本身来讲,可以作为回归测试的一种方式,当跟踪系统本身发生版本更新后,通过测试输出值是否落在合理区间范围内可以验证该版本更新是否出现异常;若应用软件(跟踪系统)用来管理另一款应用软件(被跟踪系统),对被跟踪系统来说,当跟踪系统不更新时,若是测试输出值没有落在合理区间范围内,则可以判断是被跟踪系统发生了更新异常或出现了故障。另外,还可以结合跟踪系统中的其他跟踪功能,查找到被跟踪系统中具体的异常位置,进而为排除故障或优化系统提供数据支持。附图说明
[0019] 图1为实现本发明各个实施例的一种应用软件测试装置的环境架构图。
[0020] 图2为本发明中的一种微服务间调用关系的示意图。
[0021] 图3为本发明第一实施例提出的一种应用软件测试装置的模块示意图。
[0022] 图4为本发明第二实施例提出的一种应用软件测试方法的流程图
[0023] 图5为本发明第三实施例提出的一种应用软件测试方法的流程图。
[0024] 图6为本发明第四实施例提出的一种应用软件测试方法的流程图。
[0025] 图7为图6中的步骤S602的具体细化流程图。
[0026] 图8为图6中的步骤S604的具体细化流程图。
[0027] 图9为图6中的步骤S608和S610的具体细化流程图。
[0028] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0029] 为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0030] 如图1所示,为实现本发明各个实施例的一种应用软件测试装置100的环境架构图。所述应用软件测试装置100部署在服务器或其他适合的硬件架构中。
[0031] 所述应用软件测试装置100用于对被测应用软件系统120进行测试。被测应用软件系统120可以是一个应用软件,也可以是多个应用软件组成的公共系统。在本实施例中,所述被测应用软件系统120包括跟踪系统122和被跟踪系统124,所述被跟踪系统124包括多个微服务126。
[0032] 在应用软件测试装置100对被测应用软件系统120进行测试的过程中,被跟踪系统124内部的所述多个微服务126之间也可能存在相互调用。
[0033] 以图2所示的微服务126间调用关系为例,在被跟踪系统124中,微服务A除了可以被客户端调用执行外,还可以被微服务B和微服务C调用,微服务A也可以调用数据库,客户端、微服务B和微服务C不能直接调用数据库,而需要通过微服务A调用数据库并返回结果。
[0034] 第一实施例
[0035] 如图3所示,本发明第一实施例提出一种应用软件测试装置100。
[0036] 在本实施例中,所述应用软件测试装置100包括设置单元102、测试单元104、分析单元106、获取单元108及判断单元110。
[0037] 所述设置单元102用于设置对被测应用软件系统120进行自动化测试的时间间隔和次数。
[0038] 例如,所述自动化测试的时间间隔设置为15分钟,次数设置为一万次。
[0039] 所述测试单元104用于每隔所设置时间间隔,对所述被测应用软件系统120进行自动化测试并获得测试输出值,直到达到所设置的次数。
[0040] 所述分析单元106用于根据所述测试输出值获得所述合理区间。
[0041] 具体地,测试单元104每次对被测应用软件系统120进行自动化测试,都能得到一个测试输出值,分析单元106从多次自动化测试中获取大量测试输出值数据,然后对输出值数据进行分析,获得测试输出值数据的合理区间。
[0042] 分析单元106获得所述合理区间的具体过程包括:统计所述自动化测试得到的多个测试输出值的取值范围;从所述取值范围中去除离散点;将去除离散点后的取值范围确定为所述合理区间。所述离散点即为所述取值范围中明显异于大部分测试输出值的异常数据。
[0043] 例如,通过对被测应用软件系统120进行了20000次自动化测试,得到20000个测试输出值。对该20000个测试输出值统计取值范围,发现其中有19998个在[4,7]范围内,还有2个测试输出值分别为14和16。上述2个测试输出值14和16即为离散点,需要从所述取值范围中去除。当去除离散点14和16之后,得到的取值范围[4,7]即为该被测应用软件系统120的测试输出值对应的合理区间。
[0044] 所述获取单元108用于获取被测应用软件系统120的测试输出值的合理区间。
[0045] 具体地,分析单元106获得的所述合理区间可以保存到数据库等存储区域,当后续需要对被测应用软件系统120进行测试时,获取单元108从该数据库中获取该被测应用软件系统120对应的合理区间。
[0046] 所述测试单元104还用于使用所获取的合理区间对被测应用软件系统120进行测试。
[0047] 具体地,测试单元104对所述被测应用软件系统120进行测试,得到该次测试的测试输出值。然后判断所述测试输出值是否落在所述合理区间的范围内。当所述测试输出值落在所述合理区间的范围内时,测试单元104确定该次对所述被测应用软件系统120的测试结果为通过。当所述测试输出值不在合理区间的范围内时,测试单元104确定该次对所述被测应用软件系统120的测试结果为不通过。
[0048] 所述判断单元110用于根据测试结果判断所述被测应用软件系统120是否发生异常。
[0049] 具体地,当该次测试的结果为通过时,判断单元110判断所述被测应用软件系统未发生异常。当该次测试的结果为不通过时,判断单元110判断所述被测应用软件系统发生异常。
[0050] 进一步地,所述判断单元110还用于当判断出所述被测应用软件系统120发生异常时,结合所述被测应用软件系统120中的应用软件是否发生版本更新判断异常原因。
[0051] 具体地,所述应用软件是否发生版本更新可以包括跟踪系统122是否发生版本更新、被跟踪系统124是否发生版本更新。当跟踪系统122发生版本更新时,所述异常原因可能是跟踪系统122版本更新异常或发生故障。当跟踪系统122未发生版本更新而被跟踪系统124发生版本更新时,所述异常原因可能是被跟踪系统124版本更新异常或发生故障。另外,还可以结合跟踪系统122中的其他跟踪功能,查找到被跟踪系统124中具体的异常位置,进而为排除故障或优化系统提供数据支持。
[0052] 第二实施例
[0053] 如图4所示,本发明第二实施例提出一种应用软件测试方法。该方法包括步骤:
[0054] S400,获取被测应用软件系统的测试输出值的合理区间。
[0055] 具体地,所述合理区间根据多次对被测应用软件系统进行自动化测试的测试输出值分析得到。即从多次自动化测试中获取大量测试输出值数据,然后对输出值数据进行分析,获得测试输出值数据的合理区间。所述合理区间的确定需要做大量的自动化测试来获得,本实施例的执行次数至少在1万次以上。当采样次数(自动化测试次数)足够多时,所述合理区间也越逼近真实值。例如,对被测应用软件系统进行了20000次自动化测试,得到的测试输出值中有19998个在[4,7]范围内,则表示[4,7]为该被测应用软件系统的测试输出值对应的合理区间。
[0056] S402,使用所获取的合理区间对被测应用软件系统进行测试。
[0057] 具体地,当获取到所述合理区间后,可以对被测应用软件系统进行相应测试,得到该次测试的测试输出值,然后判断所述测试输出值是否落在所述合理区间的范围内。当所述测试输出值落在所述合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为通过。当所述测试输出值不在合理区间的范围内时,确定该次对所述被测应用软件系统的测试结果为不通过。
[0058] S404,根据测试结果判断所述被测应用软件系统是否发生异常。
[0059] 具体地,当该次测试的结果为通过时,判断所述被测应用软件系统未发生异常。当该次测试的结果为不通过时,判断所述被测应用软件系统发生异常。
[0060] 第三实施例
[0061] 如图5所示,本发明第三实施例提出一种应用软件测试方法。该方法通过多次对被测应用软件系统进行自动化测试,得到测试输出值的合理区间,然后根据该合理区间来对后续被测应用软件系统进行测试。
[0062] S500,通过多次自动化测试获得测试输出值的合理区间。
[0063] 具体地,可以设置自动化测试的时间间隔和次数,根据所设置的时间间隔对被测应用软件系统进行自动化测试,直到达到所设置的次数。从多次自动化测试中获取大量测试输出值数据,然后对输出值数据进行分析,获得测试输出值数据的合理区间。所述合理区间的确定需要做大量的自动化测试来获得,本实施例的执行次数至少在1万次以上。当采样次数(自动化测试次数)足够多时,所述合理区间也越逼近真实值。
[0064] 在本实施例中,所述测试输出值为被测应用软件系统中的某一个被测微服务在预定时间段内的被调用次数。值得注意的是,在其他实施例中,所述测试输出值还可以是其他测试项目的输出结果。
[0065] S502,对被测应用软件系统进行测试,根据所述合理区间判断该次测试是否通过。
[0066] 具体地,在第一时间点第一次获取被测微服务的调用次数,然后发起一次对该被测微服务的调用,在第二时间点第二次获取该被测微服务的调用次数,将两次获取到的调用次数均写入结果文件。计算所述第二次获取的调用次数与第一次获取的调用次数的差值,所述差值即为该次测试的测试输出值。当所述差值落在所述合理区间的范围内时,判断该次对该被测微服务的测试结果为通过。当所述差值不在所述合理区间的范围内时,判断该次对该被测微服务的测试结果为不通过。
[0067] S504,根据该次测试是否通过,判断所述被测应用软件系统是否发生异常。
[0068] 具体地,当该次测试的结果为通过时,判断所述被测应用软件系统未发生异常。当该次测试的结果为不通过时,判断所述被测应用软件系统发生异常。
[0069] 进一步地,该方法还包括步骤:
[0070] S506,当判断出发生异常时,结合被测应用软件系统中的应用软件是否发生版本更新判断异常原因。
[0071] 在本实施例中,所述被测应用软件系统中的应用软件包括跟踪系统和被跟踪系统。因此,所述应用软件是否发生版本更新可以包括跟踪系统是否发生版本更新、被跟踪系统是否发生版本更新。当跟踪系统发生版本更新时,所述异常原因可能是跟踪系统版本更新异常或发生故障。当跟踪系统未发生版本更新而被跟踪系统发生版本更新时,所述异常原因可能是被跟踪系统版本更新异常或发生故障。另外,还可以结合跟踪系统中的其他跟踪功能,查找到被跟踪系统中具体的异常位置,进而为排除故障或优化系统提供数据支持。
[0072] 第四实施例
[0073] 如图6所示,本发明第四实施例提出一种应用软件测试方法,包括获得合理区间的过程和利用该合理区间进行测试的过程。
[0074] 该方法包括如下步骤:
[0075] S600,设置自动化测试的时间间隔和次数。
[0076] 例如,所述自动化测试的时间间隔设置为15分钟,次数设置为一万次。
[0077] S602,每隔所设置时间间隔,对被测应用软件系统进行自动化测试,直到达到所设置的次数。
[0078] 例如,参阅图7所示,为所述步骤S602的具体细化流程图。该流程包括步骤:
[0079] S700,设置自动化测试的时间间隔和次数。
[0080] S702,判断当前是否到达所设置的时间间隔。若是,则执行步骤S704。若否,则继续等待。
[0081] S704,对被测应用软件系统进行一次自动化测试,获得测试输出值。
[0082] S706,判断自动化测试的次数是否达到所设置的次数。若是,则流程结束。若否,则返回所述步骤S702,等待所设置的时间间隔后执行下一次自动化测试。
[0083] 回到图6,步骤S604,根据所设置次数的自动化测试的测试输出值获得合理区间。
[0084] 具体地,每次对被测应用软件系统进行自动化测试,都能得到一个测试输出值,从多次自动化测试中获取大量测试输出值数据,然后对输出值数据进行分析,获得测试输出值数据的合理区间。
[0085] 以所述测试输出值为被测应用软件系统中的某一个被测微服务在预定时间段内的被调用次数为例。通过对大量测试输出值数据的分析,可以得到在几乎相同的时间段Δt内,调用次数的合理区间[a,b]。其中,a为输出值的合理取值下限,b为输出值的合理取值上限,例如[4,7]。由于网络延迟等原因,只能保证每次间隔的时间段Δt是几乎一样的。根据测试结果,Δt的差异非常微小,这个微小的差异不会导致大量的调用次数产生,因此不会影响测试数据准确性。所述合理区间的确定需要做大量的自动化测试来获得,本实施例的执行次数至少在1万次以上。当采样次数(自动化测试次数)足够多时,所述合理区间也越逼近真实值。
[0086] 参阅图8所示,为所述步骤S604的具体细化流程图。该流程包括步骤:
[0087] S800,统计所述自动化测试得到的多个测试输出值的取值范围。
[0088] 例如,通过对被测应用软件系统进行了20000次自动化测试,得到20000个测试输出值。对该20000个测试输出值统计取值范围,发现其中有19998个在[4,7]范围内,还有2个测试输出值分别为14和16。
[0089] S802,从所述取值范围中去除离散点。
[0090] 具体地,所述离散点即为所述取值范围中明显异于大部分测试输出值的异常数据。例如,上述2个测试输出值14和16即为离散点,需要从所述取值范围中去除。
[0091] S804,将去除离散点后的取值范围确定为所述合理区间。
[0092] 具体地,从所述自动化测试得到的多个测试输出值的取值范围中去除离散点之后,剩下的即为该被测应用软件系统的测试输出值对应的合理区间。例如,上述取值范围去除离散点14和16之后,得到的取值范围[4,7]即为该被测应用软件系统的测试输出值对应的合理区间。
[0093] 上述步骤S600-S604为获得合理区间的过程,利用所述合理区间,可以在后续进行应用软件测试时根据测试输出值是否落在所述合理区间的范围内,判断测试是否通过。即,进一步地,所述应用软件测试方法还包括利用该合理区间进行测试的过程,该过程具体包括步骤:
[0094] S608,对被测应用软件系统执行测试。
[0095] 在本实施例中,所述测试输出值为被测应用软件系统中的某一个被测微服务在预定时间段内的被调用次数。值得注意的是,在其他实施例中,所述测试输出值还可以是其他测试项目的输出结果。
[0096] 具体地,在第一时间点第一次获取被测微服务的调用次数,然后发起一次对该被测微服务的调用,在第二时间点第二次获取该被测微服务的调用次数,将两次获取到的调用次数均写入结果文件。例如,针对图2中的微服务A,在时间为t1时第一次获取微服务A的被调用次数统计为calls_before,然后发起一次对微服务A的调用。当时间为t2(t2>t1)时,第二次获取微服务A的被调用次数统计为calls_after,将calls_before和calls_after数据均写入结果文件。
[0097] S610,根据所述合理区间判断该次测试是否通过。
[0098] 具体地,计算所述第二次获取的调用次数与第一次获取的调用次数的差值,即为该次测试的测试输出值。当所述差值落在所述合理区间的范围内时,判断该次对该被测微服务的测试结果为通过。当所述差值不在所述合理区间的范围内时,判断该次对该被测微服务的测试结果为不通过。例如,假设对微服务A进行自动化测试得到的测试输出值的合理区间为[Δcallsmin,Δcallsmax],当Δcalls=calls_after-calls_before的值落在该合理区间的范围内时,该次测试通过,当Δcalls的值不在该合理区间的范围内时,该次测试不通过。
[0099] 参阅图9所述,为所述步骤S608和S610的具体细化流程图。该流程包括步骤:
[0100] S900,在第一时间点第一次获取被测微服务的调用次数。
[0101] S902,发起一次对该被测微服务的调用。
[0102] S904,在第二时间点第二次获取该被测微服务的调用次数。
[0103] S906,将两次获取到的调用次数均写入结果文件。
[0104] S908,计算第二次获取的调用次数与第一次获取的调用次数的差值。
[0105] S910,判断所述差值是否落在合理区间的范围内。若是,则执行步骤S912。若否,则执行步骤S914。
[0106] S912,确定该次对该被测微服务的测试结果为通过。
[0107] S914,确定该次对该被测微服务的测试结果为不通过。
[0108] 回到图6,步骤S612,根据该次测试是否通过,判断所述被测应用软件系统是否发生异常。
[0109] 具体地,当该次测试的结果为通过时,判断所述被测应用软件系统未发生异常。当该次测试的结果为不通过时,判断所述被测应用软件系统发生异常。
[0110] S614,当判断出发生异常时,结合被测应用软件系统中的应用软件是否发生版本更新判断异常原因。
[0111] 在本实施例中,所述被测应用软件系统中的应用软件包括跟踪系统和被跟踪系统。因此,所述应用软件是否发生版本更新可以包括跟踪系统是否发生版本更新、被跟踪系统是否发生版本更新。当跟踪系统发生版本更新时,所述异常原因可能是跟踪系统版本更新异常或发生故障。当跟踪系统未发生版本更新而被跟踪系统发生版本更新时,所述异常原因可能是被跟踪系统版本更新异常或发生故障。
[0112] 例如,跟踪系统是APM(Application Performance Management,应用性能管理)系统,被跟踪系统是EMS(Element Management System,网元管理系统)系统,通过多次测试得到的合理区间为[4,7]。
[0113] 在异常调用场景一,被跟踪系统正常使用,不更新版本,假设开发人员修改跟踪系统的代码,合入的新代码有问题,除了被测试的微服务A,其他的微服务都跟踪不到,则客户端对微服务A的调用次数是每次增加1。测试客户端对微服务A调用两次的输出值数据,得到的输出值是2,不在合理区间[4,7]范围内,而是落在合理区间的左边。由此可以得出结论,对跟踪系统本身来讲,本发明提出的应用软件测试方法可以作为回归测试方法的一种,当跟踪系统本身迭代更新后,可以验证更新版本功能。
[0114] 在异常调用场景二,其他模块死循环不间断调用微服务A。测试客户端调用微服务A的输出值数据,得到的输出值是64和69,没有落在合理区间[4,7]范围内,而是落在所述合理区间的右边。由此可以得到结论,当跟踪系统本身没有改动时,若是测试输出值没有落在合理区间的范围内,则可以判断是被跟踪系统发生了变更。
[0115] 又如,跟踪系统是APM系统,以告警微服务系统作为被跟踪系统,正常情况下,查询历史告警一次,则用户对微服务fm-history的调用次数加1。也就是说,测试输出值的合理区间为固定值,即[1,1]。
[0116] 在异常调用场景下,假设告警微服务系统的版本更新引入了问题,如内部有模块(或服务)不间断地调用查询历史告警微服务。测试客户端调用查询历史告警微服务的输出值数据,得到的输出值是12和14,没有落在合理区间[1,1]范围内,而是落在所述合理区间的右边。
[0117] 因此,该方法的主要价值体现在以下两个方面:对跟踪系统本身来讲,可以作为回归测试的一种方式,当跟踪系统本身发生版本更新后,通过测试输出值是否落在合理区间范围内可以验证该版本更新是否出现异常;若应用软件(跟踪系统)用来管理另一款应用软件(被跟踪系统),对被跟踪系统来说,当跟踪系统不更新时,若是测试输出值没有落在合理区间范围内,则可以判断是被跟踪系统发生了更新异常或出现了故障。结合被跟踪系统的其他跟踪功能,如调用栈的跟踪记录模块,可以查找到被跟踪系统的具体的异常位置(出故障模块),进而为排除故障或优化系统提供数据支持。
[0118] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0119] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0120] 以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0121] 本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈