一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试用例的选取方法、装置、计算机设备和存储介质与流程

2022-03-05 05:57:55 来源:中国专利 TAG:


1.本技术涉及软件测试领域,特别是涉及一种测试用例的选取方法、装置、计算机设备和存储介质。


背景技术:

2.测试用例是为特定的目的而设计一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。
3.在软件维护过程中,后期的维护升级往往只针对个别业务模块的修改,若每次功能升级都对用例库中的全部用例进行测试,将会消耗大量的时间,时间成本较大;同时,又因各业务模块之间不可避免存在一定的耦合关系,当某个业务模块被修改后可能间接影响其他业务模块的正常使用,若仅测试所修改的业务模块中直接相关的功能,则难以发现其他相关功能的缺陷。目前,对于上述问题,主要依赖于人工经验来制定和选取合适的测试用例,然而,人工选取测试用例的方式存在测试效率低,人工成本高的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高测试效率的测试用例的选取方法、装置、计算机设备和存储介质。
5.第一方面,本技术提供一种测试用例的选取方法,测试用例的选取方法包括:
6.获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;
7.根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;
8.将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例。
9.在其中一个实施例中,测试用例的选取方法还包括:
10.从测试缺陷系统中获取历史迭代缺陷记录;
11.根据历史迭代缺陷记录中各次历史迭代对应的功能缺陷信息,计算各次历史迭代对应的评价结果;
12.将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵。
13.在其中一个实施例中,根据历史迭代缺陷记录中各次历史迭代记录的功能缺陷信息,计算各次历史迭代对应的评价结果的步骤包括:
14.根据历史迭代缺陷记录确定各次历史迭代所对应的一个或多个目标缺陷;
15.根据目标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果。
16.在其中一个实施例中,根据目标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果的步骤包括:
17.根据目标缺陷的所属业务功能和所属缺陷类型及其对应的缺陷严重等级,计算得到目标缺陷的缺陷评价值;
18.将一个或多个目标缺陷的缺陷评价值进行求和得到各次历史迭代对应的评价结果。
19.在其中一个实施例中,将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵的步骤包括:
20.创建m*n矩阵,其中,m为软件产品测试所涉及的业务功能的种类数量,n为软件产品测试所涉及的缺陷类型的种类数量;
21.将评价结果按照m*n矩阵的形式排列,生成各次历史迭代对应的评价矩阵;其中,评价矩阵中的元素表示第i(1≤i≤m)种业务功能,第j(1≤j≤n)种缺陷类型的评价结果。
22.在其中一个实施例中,根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵的步骤包括:
23.从各次历史迭代中确定与目标业务模块相关联的历史迭代作为目标业务模块对应的目标历史迭代;
24.根据预先计算得到的各次历史迭代对应的评价矩阵确定目标历史迭代对应的目标评价矩阵;
25.根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵。
26.在其中一个实施例中,根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵的步骤包括:
27.根据目标评价矩阵对应的历史迭代所对应的迭代次序预先设置目标评价矩阵对应的迭代系数;
28.根据迭代系数对目标业务模块对应的各个目标评价矩阵进行加权求和并取平均值,得到各个目标业务模块对应的目标关联矩阵。
29.第二方面,本技术还提供一种测试用例的选取装置,装置包括:
30.目标业务模块确定模块,用于获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;
31.目标关联矩阵计算模块,用于根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;
32.测试用例确定模块,用于将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例。
33.第三方面,本技术还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面所提及的测试用例的选取方法的步骤。
34.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面所提及的测试用例的选取方法的步骤。
35.上述测试用例的选取方法、装置、计算机设备和存储介质,通过获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;将各个
目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例,从而降低测试用例的选取对人工经验的依赖程度,降低测试成本,同时能够保证测试用例选取的准确性和测试结果的全面性,提高测试效率。
附图说明
36.图1为一实施例中的测试用例的选取方法的应用场景示意图;
37.图2为一实施例中的测试用例的选取方法的流程图;
38.图3为一实施例中的测试用例的选取方法中的评价矩阵的生成方法的流程图;
39.图4为一实施例中的测试用例的选取装置的结构示意图;
40.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
41.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
42.为了便于理解本技术方案,首先对本技术实施例所适用的应用环境进行介绍。
43.图1为一实施例中的测试用例的选取方法的应用场景示意图,如图1所示,该应用环境包括客户端110和服务器120,客户端110与服务器120通过网络通信方式建立连接。在本实施例中,客户端110上可以安装有一个或多个待测试的应用程序,即软件产品。客户端110可以用于根据用户的触发操作,对软件产品中的业务模块进行更改,并形成迭代记录。服务器120可以用于根据历史迭代所对应的测试记录确定本地迭代测试所选取的测试用例。可选的,该应用环境还可以包括测试用例数据库,测试用例数据库中存储有针对一个或多个软件产品的测试用例集。测试用例集中包括一个或多个测试用例及其代码覆盖信息。
44.可选的,客户端110可以包括智能手机、台式电脑、笔记本电脑、平板电脑、数字助理等类型的实体设备,也可以包括运行于实体设备中的软件,如服务商提供给用户的网页页面,也可以是服务商提供给用户的应用程序。服务器120可以为一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。
45.在软件产品的开发和维护过程中,往往需要对一个或多个业务模块进行修改,当对业务模块进行修改后,则需要通过一系列的测试用例对业务模块修改后的软件产品的业务功能进行测试,以确认修改没有引入新的错误或缺陷。若仅针对个别业务模块的修改需要全部测试用例进行测试则增加测试和时间成本,通常的做法是依赖经验丰富的测试人员针对性地选取先前执行过的合适的测试用例进行测试,即选择与业务模块修改相关联的测试用例进行测试,然而这样的做法对人工经验依赖程度大,测试效率低,同时又因各业务模块之间不可避免存在一定的耦合关系,当某个业务模块被修改后可能间接影响其他业务模块的正常使用,人工选取测试用例难以保证测试结果的全面性。
46.本技术提供的测试用例的选取方法、装置、计算机设备和存储介质,能够准确选取测试用例,提高测试效率,保证测试结果的全面性,解决现有技术的如上技术问题。
47.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述
技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
48.下面将结合附图,对本技术的实施例进行描述。
49.图2为一实施例中的测试用例的选取方法的流程图,该测试用例的选取方法可以执行于测试用例的选取设备,如用于执行测试用例的选取方法的服务器,本技术实施例以服务器为例进行说明。
50.具体的,如图2所示,该测试用例的选取方法可以包括以下步骤:
51.s210、获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块。
52.为了改进软件产品的功能需要时常对软件产品的业务模块进行修改。每一次的业务模块的修改可以理解为一次迭代。通常的,每进行一次迭代均对该次迭代所需要进行修改的业务模块以及可能涉及的业务功能进行记录,形成迭代记录。
53.对于软件产品的迭代更新,通常是利用代码更新来满足软件产品的迭代需求。迭代记录可以包括有软件产品迭代更新的信息内容,如迭代更新代码。在本实施例中,获取本次迭代记录,从本次迭代记录中的信息内容,如迭代更新代码,确定本次迭代所修改的目标业务模块,所修改的目标业务模块可以是一个或多个。例如,将本地迭代对应的软件产品版本与上一历史迭代的软件产品版本进行对比,确定本次迭代的代码变更信息,根据代码变更信息确定本地迭代所修改的目标业务模块。其中,代码变更信息用于指示对目标业务模块的部分业务功能进行修改、增加或删除等信息。
54.针对不同的各个目标业务模块的修改所对应的迭代测试所选取的测试用例通常不同,或针对于不同的目标业务模块组合的修改所对应的迭代测试所选取的测试用例也可以不同。
55.s220、根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵。
56.评价矩阵用于评价某次迭代中所涉及的业务功能和各缺陷类型的缺陷严重程度。不同的历史迭代对应其唯一的评价矩阵,不同历史迭代对应的评价矩阵的维度相同。对于目标关联矩阵,用于表示某个目标业务模块的修改所可能影响到软件产品的各个业务功能和各缺陷类型的关联性。
57.在本实施例中,评价矩阵包括多个元素,每个元素代表某次历史迭代中所涉及业务功能和各缺陷类型的评价结果。由于涉及的业务功能、缺陷内容以及缺陷类型等不同,评价矩阵中的元素可能不同。可选的,评价矩阵可以软件产品所涉及的业务功能为行,以缺陷类型为列的二维矩阵。
58.例如,针对某一软件产品涉及m种业务功能和n种缺陷类型,如安全性缺陷、兼容性缺陷、性能缺陷、功能缺陷、界面缺陷等,则评价矩阵可以为m*n的矩阵,其中,评价矩阵中的m*n个元素p
i,j
用于表示第i(1≤i≤m)种业务功能、第j(1≤j≤n)类缺陷的严重程度。
59.缺陷的严重程度可以根据实际情况进行划分,如划分为低级(low)、中级(medium)、高级(high)、很高级(very high)、超高级(critica high)等五个等级。可选的,可以为缺陷严重等级设置评价系数c(ck),其中ck(1≤ck≤5)表示不同的缺陷等级。如评价系数c(1)对应的严重等级为低级,评价系数c(2)对应的严重等级为中级,以此类推。
60.例如,评价矩阵的第一行第一列的元素p
1,1
表示第1种业务功能(如登录功能)和第1种缺陷类型(如安全性缺陷)的严重程度,如该元素p
1,1
的值为1,则表示该历史迭代所涉及的第1种业务功能(如登录功能)和第1种缺陷类型(如安全性缺陷)的缺陷严重程度为低级。
61.在本实施例中,预先计算各次历史迭代对应的评价矩阵,并将评价矩阵存储起来,如存储到预设数据库中。当新增历史迭代,则计算该新增历史迭代的评价矩阵并存储到预设数据库中,以更新预设数据库存储的历史迭代对应的评价矩阵。
62.各次历史迭代可能涉及不同的业务模块的修改,而不同业务模块修改会影响不同的业务功能或导致不同的缺陷或缺陷类型。本技术方案通过计算各次历史迭代所修改的业务模块以及对应受到影响的业务功能与缺陷或缺陷类型之间的相关性,具体的,通过预先计算各次历史迭代对应的评价矩阵确定不同的业务模块修改所涉及的业务功能以及缺陷类型的缺陷严重程度,得到某一业务模块的修改与软件产品的各种业务功能以及各种缺陷类型的关联性,该关联性可以通过关联矩阵来表示。
63.s230、将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例。
64.测试用例,是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并将上述内容形成文档。
65.在本实施例中,由于本次迭代可能涉及到一个或多个目标业务模块的修改,即计算得到一个或多个目标业务模块对应的目标关联矩阵。为了便于计算,各个目标业务模块对应的目标关联矩阵的维度相同。将各个目标业务模块对应的目标关联矩阵相加,得到本次迭代的最终关联矩阵。最终关联矩阵包括多个元素,每个元素分别对应各自的关联值,关联值的大小与该关联值对应的业务功能以及缺陷类型密切相关,关联值越大,意味着该目标业务模块的改动容易引起该元素对应的业务功能和缺陷类型,应该重点选择对应的业务功能和缺陷类型对应的测试用例进行软件测试。
66.可选的,预先设置第一阈值,选取目标关联矩阵中关联值大于第一阈值的目标关联值,将目标关联值对应的业务功能和缺陷类型对应的测试用例选取为目标测试用例,利用目标测试用例对本次迭代的软件产品进行测试。
67.需要说明的是,本技术提供的测试用例的选取方法的工作流程是一个闭环推荐的过程,本次迭代所计算的评价矩阵可以用于下一迭代的关联矩阵的计算以及测试用例的选取依据,以达到不断反馈、优化推荐选取的效果,从而提高测试用例的选取准确性。
68.本实施例提供的测试用例的选取方法,可由服务器来执行,通过获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;利用预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例,可以快速准确的选择进行迭代测试的测试用例,无需依赖人工经验,提高软件测试的效率。
69.相对于相关技术中通常依赖人工经验选取测试用例对个别目标业务模块进行修改后的软件产品进行测试,测试效率低,且难免会遗漏测试用例影响测试准确度,本技术方案根据各次历史迭代对应的评价矩阵确定各次历史迭代所涉及的业务功能、缺陷类型以及
缺陷严重等级,并基于各次历史迭代的评价矩阵计算本次迭代所针对的一个或多个目标业务模块对应的目标关联矩阵,进而将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例,无需依赖人工经验,提高测试效率和测试结果的准确性,降低测试用例的遗漏风险。
70.本技术实施例的测试用例的选取方法还包括对各次历史迭代对应的评价矩阵的生成方法。图3为一实施例中的测试用例的选取方法中的评价矩阵的生成方法的流程图。
71.如图3所示,该评价矩阵的生成方法可以通过以下方式来实现:
72.s110、从测试缺陷系统中获取历史迭代缺陷记录。
73.在本实施例中,对软件产品中的业务模块每进行一个迭代,均会将该迭代记录下来并保存到测试缺陷系统中形成历史迭代缺陷记录。历史迭代缺陷记录包括各个历史迭代所修改的业务模块、所涉及的业务功能、缺陷类型、缺陷数量等信息。
74.s120、根据历史迭代缺陷记录中各次历史迭代对应的功能缺陷信息,计算各次历史迭代对应的评价结果。
75.对于评价结果,是指迭代所涉及的缺陷在所属业务功能及所属业务缺陷的缺陷严重等级。同一缺陷在所属不同的业务功能或不同的缺陷类型所对应的缺陷严重等级可能不同。
76.每次历史迭代可能涉及一个或多个缺陷,这些缺陷可以属于不同或相同的业务功能以及属于不同或相同的缺陷类型。根据各次历史迭代对应的功能缺陷信息确定所涉及的缺陷,并根据缺陷在所属的业务功能以及所属缺陷类型中的缺陷严重等级计算各次历史迭代的评价结果。
77.在一实施例中,步骤s120中的根据历史迭代缺陷记录中各次历史迭代对应的功能缺陷信息,计算各次历史迭代对应的评价结果,可以包括以下步骤:
78.s301、根据历史迭代缺陷记录确定各次历史迭代所对应的一个或多个目标缺陷。
79.历史迭代缺陷记录中记录各次历史迭代所对应修改的业务模块、所涉及的业务功能、所涉及的缺陷以及缺陷类型和缺陷严重等级等信息。
80.在本实施例中,对历史迭代缺陷记录进行信息分析或信息提取,确定各次历史迭代所涉及的一个或多个目标缺陷,如第一次历史迭代涉及目标缺陷1、目标缺陷2和目标缺陷3,第二次历史迭代涉及目标缺陷4和目标缺陷5,第三次历史迭代涉及目标缺陷3等。
81.s302、根据目标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果。
82.由于同一缺陷在不同的业务功能上所对应的缺陷严重等级可能不同,同一缺陷在所对应的缺陷种类不同时所对应的缺陷严重等级也可能不同。
83.在本实施例中,可以根据目标缺陷所位于的业务模块、所对应的业务功能以及缺陷类型确定该目标缺陷的缺陷严重等级,进一步的,将同一历史迭代中的多个目标缺陷的缺陷严重等级进行相加,得到该历史迭代对应的评价结果。
84.具体的,在一实施例中,步骤s302中的根据目标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果,可以包括以下步骤:
85.s3021、根据目标缺陷的所属业务功能和所属缺陷类型及其对应的缺陷严重等级,计算得到目标缺陷的缺陷评价值。
86.可选的,可以根据目标缺陷的缺陷内容,如响应速度慢、界面模糊、无响应等,逐个判断该次历史迭代中的所有目标缺陷所属的缺陷类型和所属的业务功能,其中,所有目标缺陷可以是一个或者多个。进一步的,将每个目标缺陷与软件产品测试所涉及的各种业务功能类型与各种缺陷类型进行判定,从而逐个确定该目标缺陷所属的业务功能和缺陷类型。对于目标缺陷的所属业务功能和所属缺陷类型对应的严重等级可以是用户根据迭代测试结果按照预设规则自行设置,也可以是服务器根据迭代测试结果按照预设规则进行设置。
87.可选的,在本实施例中,通过设置第一参数表示目标缺陷是否属于某一业务功能,设置第二参数表示目标缺陷是否属于某一缺陷类型。
88.若目标缺陷属于该业务功能则对应的第一参数为“1”,若目标缺陷不属于该业务功能则对应的第一参数为“0”。若目标缺陷属于该缺陷类型则对应的第二参数为“1”,若目标缺陷不属于该缺陷类型则对应的第二参数为“0”。
89.进一步的,将各个目标缺陷逐个与软件产品测试所涉及的各种业务功能类型与各种缺陷类型进行归属判定,根据各个目标缺陷的归属判定结果及其对应的缺陷严重等级,计算得到各个目标缺陷的缺陷评价值。
90.s3022、将一个或多个目标缺陷的缺陷评价值进行求和得到各次历史迭代对应的评价结果。
91.在本实施例中,设置某一历史迭代中所涉及的目标缺陷的总个数为k,并为各次历史迭代对应的每个目标缺陷标序,则将某一历史迭代中的所有目标缺陷的缺陷评价值进行求和得到该历史迭代对应的评价结果p
i,j
可表示为:
[0092][0093]
其中,k为某一历史迭代中所涉及的目标缺陷的总个数,c(ck)为评价系数,ck表示第k个缺陷的严重等级,m
i,k
为第一参数,表示第k个目标缺陷是否属于第i种业务功能,若属于,则m
i,k
等于1,否则m
i,k
等于0;n
j,k
为第二参数,表示第k个目标缺陷是否属于第j种缺陷类型,若属于则n
j,k
等于1,否则n
j,k
等于0。可选的,ck的取值范围可以为1≤ck≤5,c(ck)*m
i,k
*n
j,k
可以理解为目标缺陷的缺陷评价值。
[0094]
s130、将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵。
[0095]
在本实施例中,不同历史迭代对应的评价矩阵的维度相同,通过评价矩阵中各个元素(即评价结果)确定每个评价结果对应的各个缺陷类型所属的业务功能和缺陷类型的缺陷严重等级。
[0096]
假设某一软件产品共涉及m种业务功能,n种不同的缺陷类型(安全性缺陷、兼容性缺陷、性能缺陷、功能缺陷、界面缺陷等),则评价矩阵为一个m*n的矩阵:
[0097][0098]
上述评价矩阵p中包括m*n个评价结果,其中,p
i,j
表示第i(1≤i≤m)种业务功能,第j(1≤j≤n)种缺陷类型的缺陷严重等级。例如,p
1,1
表示第1种业务功能,第1种缺陷类型
的缺陷严重等级,p
2,1
表示第2种业务功能,第1种缺陷类型的缺陷严重等级,以此类推,p
m,n
表示第m种业务功能,第n种缺陷类型的缺陷严重等级。
[0099]
在一实施例中,步骤s130中的将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵,可以包括以下步骤:
[0100]
s1301、创建m*n矩阵,其中,m为软件产品测试所涉及的业务功能的种类数量,n为软件产品测试所涉及的缺陷类型的种类数量。
[0101]
根据软件产品测试所可能涉及的业务功能和缺陷类型的数量确定评价矩阵的维度。通常的,该业务功能和缺陷类型应尽量全面覆盖该软件产品测试所涉及的测试结果。
[0102]
在本实施例中,以软件产品测试所涉及的业务功能的种类数量m为矩阵列数,以软件产品测试所涉及的缺陷类型的种类数量n为矩阵行数创建m*n矩阵。
[0103]
s1302、将评价结果按照m*n矩阵的形式排列,生成各次历史迭代对应的评价矩阵;其中,评价矩阵中的元素表示第i(1≤i≤m)种业务功能,第j(1≤j≤n)种缺陷类型的评价结果。
[0104]
在本实施例中,矩阵行表示业务功能种类,矩阵列标识业务缺陷种类,根据目标缺陷所对应的业务功能和缺陷类型确定该目标缺陷的缺陷严重等级对应的评价结果在m*n矩阵中的位置,即若目标缺陷对应于第i种业务功能,第j种缺陷类型,则在m*n矩阵的(i,j)位置上写入该目标缺陷对应的评价结果,其中,1≤i≤m,1≤j≤n。
[0105]
下面示出某一目标业务模块的关联矩阵:
[0106][0107]
式中r
x
表示目标业务模块x的关联矩阵,r
i,j
表示该第x个目标业务模块和第i(1≤i≤m)种业务功能以及第j(1≤j≤n)种缺陷类型之间的关联性,r
i,j
的值越大,表示关联性越强,即目标业务模块x改动容易引起该第i种业务功能和该j种缺陷类型的缺陷,应重点选择与第i种业务功能和第j种缺陷类型相关的测试用例进行软件产品测试。
[0108]
在一实施例中,步骤s220中的根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵,可以包括以下步骤:
[0109]
s2201、从各次历史迭代中确定与目标业务模块相关联的历史迭代作为目标业务模块对应的目标历史迭代。
[0110]
由于各次的历史迭代所涉及的业务模块可能不同,但是不同历史迭代所修改业务模块与业务功能以及缺陷类型之间具有相关性。基于此,本实施例中从各次历史迭代中确定与本次迭代所涉及的目标业务模块相关联的历史迭代作为该业务模块对应的目标历史迭代。可选的,将历史迭代所修改的业务模块中存在与本次迭代所修改的目标业务模块相同的历史迭代作为该目标业务模块对应的目标历史迭代。
[0111]
可选的,通过设置参数a
s,x
表征第s次历史迭代中是否涉及目标业务模块x的修改,若第s次历史迭代中涉及目标业务模块x的修改,则参数a
s,x
的值为1,若第s次历史迭代中不涉及目标业务模块x的修改则参数a
s,x
的值为0。
[0112]
s2202、根据预先计算得到的各次历史迭代对应的评价矩阵确定目标历史迭代对应的目标评价矩阵。
[0113]
可选的,预先计算得到的各次历史迭代对应的评价矩阵可以存储到预设位置,如预设数据库中。确定与本次迭代的目标业务模块相关联的目标历史迭代后,从该预设数据库中获取到目标历史迭代对应的评价矩阵。
[0114]
s2203、根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵。
[0115]
在软件产品更新过程中,更新越早的软件产品版本与当前版本的差异性越大,为了更准确得体现本地迭代中的目标业务模块与历史迭代中对应的业务功能与缺陷类型的关联关系,为各次历史迭代设置不同的权重系数,在本实施例中,权重系数可以用迭代系数来表示,不同目标评价矩阵对应不同的迭代系数,可选的,与本次迭代越接近的目标历史迭代的目标评价矩阵的迭代系数越大。进一步的,根据目标评价矩阵与该目标评价矩阵对应的目标历史迭代的迭代系数,计算各个目标业务模块对应的目标关联矩阵。
[0116]
在一实施例中,步骤s2203中的根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵,可以包括以下步骤:
[0117]
s401、根据目标评价矩阵对应的历史迭代所对应的迭代次序预先设置目标评价矩阵对应的迭代系数。
[0118]
在本实施例中,根据历史迭代对应的迭代次序设置对应的迭代系数,其中,迭代系数是迭代次序的函数。可选的,历史迭代的迭代次序越靠后(越大)所设置的迭代系数的值越大。
[0119]
例如,ts表示第s次历史迭代的迭代系数(ts》0),ts为s的函数,考虑越早期的软件产品版本与当前版本的差异性越大,越往后的软件产品版本与当前版本的相关性越大,则设置迭代系数ts与历史迭代次数s正相关,s越小ts的值越小,s越大ts的值越大。
[0120]
s402、根据迭代系数对目标业务模块对应的各个目标评价矩阵进行加权求和并取平均值,得到各个目标业务模块对应的目标关联矩阵。
[0121]
在本实施例中,将目标业务模块在不同历史迭代中对应的目标评价矩阵与对应的迭代系数进行加权求和后在根据迭代系数取平均值,将得到的结果作为各个目标业务模块对应的目标关联矩阵,从而提高目标关联矩阵的计算结果,以使得目标关联矩阵中的关联值更能够准确体现目标业务模块与各种业务功能以及缺陷类型之间的关联关系。
[0122]
假设从测试缺陷系统中获取s次历史迭代,且本次迭代所涉及的目标业务模块x在至少一次历史迭代中进行过修改,则该目标业务模块x的目标关联矩阵可以按照以下公式进行计算:
[0123][0124]
其中,s表示历史迭代的总次数;a
s,x
表示在第s次历史迭代中目标业务模块x是否被修改,若被修改则a
s,x
等于1,否则a
s,x
等于0;ts表示第s次历史迭代对应的迭代系数(ts》0),ts为s的函数,s的值越小ts的值越小,s的值越大ts的值越大,ps表示第s次历史迭代对应的评价矩阵。
[0125]
以上示例仅用于辅助阐述本公开技术方案,其涉及的图示内容及具体流程不构成对本公开技术方案的使用场景的限定。
[0126]
下面对测试用例的选取装置的相关实施例进行详细阐述。
[0127]
图4为一实施例中的测试用例的选取装置的结构示意图,该测试用例的选取装置可以执行于服务器。
[0128]
如图4所示,该测试用例的选取装置200可以包括:目标业务模块确定模块210、目标关联矩阵计算模块220和测试用例确定模块230;
[0129]
其中,目标业务模块确定模块210,用于获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;
[0130]
目标关联矩阵计算模块220,用于根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;
[0131]
测试用例确定模块230,用于将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例。
[0132]
本技术提供的测试用例的选取装置,可执行于服务器,通过目标业务模块确定模块210获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;目标关联矩阵计算模块220利用预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;测试用例确定模块230将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例,可以快速准确的选择进行迭代测试的测试用例,无需依赖人工经验,提高软件测试的效率。
[0133]
在其中一个实施例中,测试用例的选取装置200还包括:历史记录获取模块、评价结果计算模块和评价矩阵生成模块;
[0134]
其中,历史记录获取模块,用于从测试缺陷系统中获取历史迭代缺陷记录;评价结果计算模块,用于根据历史迭代缺陷记录中各次历史迭代对应的功能缺陷信息,计算各次历史迭代对应的评价结果;评价矩阵生成模块,用于将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵。
[0135]
在其中一个实施例中,评价结果计算模块包括:目标缺陷确定单元和评价结果计算单元;
[0136]
其中,目标缺陷确定单元,用于根据历史迭代缺陷记录确定各次历史迭代所对应的一个或多个目标缺陷;评价结果计算单元,用于根据目标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果。
[0137]
在其中一个实施例中,评价结果计算单元包括:评价值计算子单元和评价结果得到子单元;
[0138]
其中,评价值计算子单元,用于根据目标缺陷的所属业务功能和所属缺陷类型及其对应的缺陷严重等级,计算得到目标缺陷的缺陷评价值;评价结果得到子单元,用于将一个或多个目标缺陷的缺陷评价值进行求和得到各次历史迭代对应的评价结果。
[0139]
在其中一个实施例中,评价矩阵生成模块包括:矩阵创建单元和评价矩阵生成单元;
[0140]
其中,矩阵创建单元,用于创建m*n矩阵;其中,m为软件产品测试所涉及的业务功能的种类数量,n为软件产品测试所涉及的缺陷类型的种类数量;评价矩阵生成单元,用于
将评价结果按照m*n矩阵的形式排列,生成各次历史迭代对应的评价矩阵;其中,评价矩阵中的元素表示第i(1≤i≤m)种业务功能,第j(1≤j≤n)种缺陷类型的评价结果。
[0141]
在其中一个实施例中,目标关联矩阵计算模块包括:目标历史迭代确定单元、目标评价矩阵确定单元和目标关联矩阵计算单元;
[0142]
其中,目标历史迭代确定单元,用于从各次历史迭代中确定与目标业务模块相关联的历史迭代作为目标业务模块对应的目标历史迭代;目标评价矩阵确定单元,用于根据预先计算得到的各次历史迭代对应的评价矩阵确定目标历史迭代对应的目标评价矩阵;目标关联矩阵计算单元,用于根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵。
[0143]
在其中一个实施例中,目标关联矩阵计算单元包括:迭代系数设置子单元和目标关联矩阵计算子单元;
[0144]
其中,迭代系数设置子单元,用于根据目标评价矩阵对应的历史迭代所对应的迭代次序预先设置目标评价矩阵对应的迭代系数;目标关联矩阵计算子单元,用于根据迭代系数对目标业务模块对应的各个目标评价矩阵进行加权求和并取平均值,得到各个目标业务模块对应的目标关联矩阵。
[0145]
本实施例的测试用例的选取装置可执行本技术前述实施例所示的测试用例的选取方法,其实现原理相类似,此处不再赘述。
[0146]
上述测试用例的选取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0147]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试用例的选取方法。
[0148]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0149]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0150]
获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;
[0151]
根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;
[0152]
将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例。
[0153]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0154]
从测试缺陷系统中获取历史迭代缺陷记录;根据历史迭代缺陷记录中各次历史迭代对应的功能缺陷信息,计算各次历史迭代对应的评价结果;将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵。
[0155]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0156]
根据历史迭代缺陷记录确定各次历史迭代所对应的一个或多个目标缺陷;根据目标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果。
[0157]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0158]
根据目标缺陷的所属业务功能和所属缺陷类型及其对应的缺陷严重等级,计算得到目标缺陷的缺陷评价值;将一个或多个目标缺陷的缺陷评价值进行求和得到各次历史迭代对应的评价结果。
[0159]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0160]
创建m*n矩阵,其中,m为软件产品测试所涉及的业务功能的种类数量,n为软件产品测试所涉及的缺陷类型的种类数量;将评价结果按照m*n矩阵的形式排列,生成各次历史迭代对应的评价矩阵;其中,评价矩阵中的元素表示第i(1≤i≤m)种业务功能,第j(1≤j≤n)种缺陷类型的评价结果。
[0161]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0162]
从各次历史迭代中确定与目标业务模块相关联的历史迭代作为目标业务模块对应的目标历史迭代;根据预先计算得到的各次历史迭代对应的评价矩阵确定目标历史迭代对应的目标评价矩阵;根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵。
[0163]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0164]
根据目标评价矩阵对应的历史迭代所对应的迭代次序预先设置目标评价矩阵对应的迭代系数;根据迭代系数对目标业务模块对应的各个目标评价矩阵进行加权求和并取平均值,得到各个目标业务模块对应的目标关联矩阵。
[0165]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0166]
获取本次迭代记录,根据本次迭代记录确定本次迭代测试所针对的至少一个目标业务模块;
[0167]
根据预先计算得到的各次历史迭代对应的评价矩阵计算各个目标业务模块对应的目标关联矩阵;
[0168]
将各个目标业务模块对应的目标关联矩阵相加得到最终关联矩阵,根据最终关联矩阵中的关联值的大小确定本次迭代测试所选取的测试用例。
[0169]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0170]
从测试缺陷系统中获取历史迭代缺陷记录;根据历史迭代缺陷记录中各次历史迭代对应的功能缺陷信息,计算各次历史迭代对应的评价结果;将评价结果按照矩阵形式排列,生成各次历史迭代对应的评价矩阵。
[0171]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0172]
根据历史迭代缺陷记录确定各次历史迭代所对应的一个或多个目标缺陷;根据目
标缺陷的缺陷严重等级、所对应的业务功能和缺陷类型计算各次历史迭代对应的评价结果。
[0173]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0174]
根据目标缺陷的所属业务功能和所属缺陷类型及其对应的缺陷严重等级,计算得到目标缺陷的缺陷评价值;将一个或多个目标缺陷的缺陷评价值进行求和得到各次历史迭代对应的评价结果。
[0175]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0176]
创建m*n矩阵,其中,m为软件产品测试所涉及的业务功能的种类数量,n为软件产品测试所涉及的缺陷类型的种类数量;将评价结果按照m*n矩阵的形式排列,生成各次历史迭代对应的评价矩阵;其中,评价矩阵中的元素表示第i(1≤i≤m)种业务功能,第j(1≤j≤n)种缺陷类型的评价结果。
[0177]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0178]
从各次历史迭代中确定与目标业务模块相关联的历史迭代作为目标业务模块对应的目标历史迭代;根据预先计算得到的各次历史迭代对应的评价矩阵确定目标历史迭代对应的目标评价矩阵;根据目标评价矩阵与预先设置历史迭代对应的迭代系数,计算各个目标业务模块对应的目标关联矩阵。
[0179]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0180]
根据目标评价矩阵对应的历史迭代所对应的迭代次序预先设置目标评价矩阵对应的迭代系数;根据迭代系数对目标业务模块对应的各个目标评价矩阵进行加权求和并取平均值,得到各个目标业务模块对应的目标关联矩阵。
[0181]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0182]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0183]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
[0184]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献