CN110737587A - 一种基于测试案例的测试方法、装置、存储介质和服务器 - Google Patents
一种基于测试案例的测试方法、装置、存储介质和服务器 Download PDFInfo
- Publication number
- CN110737587A CN110737587A CN201910841108.6A CN201910841108A CN110737587A CN 110737587 A CN110737587 A CN 110737587A CN 201910841108 A CN201910841108 A CN 201910841108A CN 110737587 A CN110737587 A CN 110737587A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- automatic
- cases
- initial weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,提出一种基于测试案例的测试方法、装置、存储介质和服务器。该方法包括:获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;分别统计每个所述测试案例组的自动化覆盖率;针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;选取所述目标权重值最高的测试案例组,对待测程序进行测试。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于测试案例的测试方法、装置、存储介质和服务器。
背景技术
在软件测试的过程中,为了节省人力和时间,提高测试效率,通常会采用自动化测试的方式。对于自动化测试来说,选取合适的测试案例是提高测试效率,保证测试效果的必备手段。然而,目前自动化测试的测试案例一般都是人工选取的,十分依赖于个人经验,若采用不合适的测试案例执行自动化测试,往往会因为无法获得满意的测试效果而需要重新选取新的测试案例执行重复测试,这极大地影响测试效率。
发明内容
有鉴于此,本发明实施例提供了一种基于测试案例的测试方法、装置、存储介质和服务器,能够选取到既可检验较多的软件缺陷,同时具备较高的自动化覆盖率的测试案例对待测程序执行自动化测试,从而提高测试效率,保证测试效果。
本发明实施例的第一方面,提供了一种基于测试案例的测试方法,包括:
获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;
将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;
分别统计每个所述测试案例组的自动化覆盖率;
针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
选取所述目标权重值最高的测试案例组,对待测程序进行测试。
本发明实施例的第二方面,提供了一种选取测试案例的装置,包括:
测试案例集获取模块,用于获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;
测试案例集划分模块,用于将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;
覆盖率统计模块,用于分别统计每个所述测试案例组的自动化覆盖率;
权重修正模块,用于针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
测试模块,用于选取所述目标权重值最高的测试案例组,对待测程序进行测试。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本发明实施例的第一方面提出的基于测试案例的测试方法的步骤。
本发明实施例的第四方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如本发明实施例的第一方面提出的基于测试案例的测试方法的步骤。
本发明实施例提出的基于测试案例的测试方法包括:获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;分别统计每个所述测试案例组的自动化覆盖率;针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;选取所述目标权重值最高的测试案例组,对待测程序进行测试。由于测试案例组的目标权重值与初始权重值、自动化覆盖率都成正比,故若选取目标权重值最高的测试案例组,其初始权重值和自动化覆盖率都较高,可在一定程度上选取到既可检验较多的软件缺陷,同时具备较高的自动化覆盖率的测试案例,最后采用选取的测试案例对待测程序执行测试,能够提高测试效率,保证测试效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于测试案例的测试方法的第一个实施例的流程图;
图2是本发明实施例提供的一种基于测试案例的测试方法的第二个实施例的流程图;
图3是本发明实施例提供的一种基于测试案例的测试装置的一个实施例的结构图;
图4是本发明实施例提供的一种服务器的示意图。
具体实施方式
本发明实施例提供了一种基于测试案例的测试方法、装置、存储介质和服务器,能够选取到既可检验较多的软件缺陷,同时具备较高的自动化覆盖率的测试案例对待测程序执行自动化测试,从而提高测试效率,保证测试效果。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种基于测试案例的测试方法的第一个实施例包括:
101、获取预先构建的测试案例集;
首先,获取预先构建的测试案例集,该测试案例集包含预先设计好的多个测试案例,这些测试案例可以包含自动化测试案例、半自动化测试案例以及人工测试案例等多种类型。所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,该初始权重值与测试案例可检验的软件缺陷的数量成正比,即一个测试案例的初始权重值越高则表明其可检验的软件缺陷的数量越多。另外,每个测试案例的初始权重值还可以同时跟该测试案例所要检验的软件缺陷的严重等级相关,即所要检验的软件缺陷越严重,则对应的初始权重值越高。
102、将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值;
然后,将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和。假设该测试案例集包含1000个测试案例,则可以将该测试案例集划分为10个测试案例组,每组100个测试案例,一个测试案例组的初始权重值等于该测试案例组所包含的100个测试案例的初始权重值之和。
103、分别统计每个所述测试案例组的自动化覆盖率;
接着,分别统计每个所述测试案例组的自动化覆盖率,即自动化测试案例的数量占测试案例组具有的测试案例总数量的比例。具体的,系统可以分别统计每个测试案例组包含的各类测试案例的数量以及测试案例的总数量,然后计算得到每个测试案例组的自动化覆盖率。
104、针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
在计算得到每个测试案例组的自动化覆盖率之后,针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值。比如,某个测试案例组的初始权重值为A,计算得到该测试案例组的自动化覆盖率为80%,则对该初始权重值进行修正得到A*80%,即为该测试案例组的目标权重值。通过这样设置,能够从预先构建的测试案例集中选取出一定数量的重要程度较高(对应初始权重值)以及自动化覆盖率较高的测试案例,从而能够有效提高自动化测试的效果。
105、选取所述目标权重值最高的测试案例组,对待测程序执行测试。
最后,选取所述目标权重值最高的测试案例组,作为选定的测试案例,对待测程序执行测试。由于测试案例组的目标权重值与初始权重值、自动化覆盖率都成正比,故若选取目标权重值最高的测试案例组,其初始权重值和自动化覆盖率都较高,可在一定程度上选取到既可检验较多的软件缺陷,同时具备较高的自动化覆盖率的测试案例对待测程序执行测试,以提高测试效率,保证测试效果。
本发明实施例提出的基于测试案例的测试方法包括:获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;分别统计每个所述测试案例组的自动化覆盖率;针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;选取所述目标权重值最高的测试案例组,对待测程序进行测试。由于测试案例组的目标权重值与初始权重值、自动化覆盖率都成正比,故若选取目标权重值最高的测试案例组,其初始权重值和自动化覆盖率都较高,可在一定程度上选取到既可检验较多的软件缺陷,同时具备较高的自动化覆盖率的测试案例,最后采用选取的测试案例对待测程序执行测试,能够提高测试效率,保证测试效果。
请参阅图2,本发明实施例中一种基于测试案例的测试方法的第二个实施例包括:
201、获取预先构建的测试案例集;
202、将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值;
步骤201-202与步骤101-102相同,具体可参照步骤101-102的相关说明。
203、分别采用每个所述测试案例组单独执行测试,获得每个所述测试案例组的测试结果;
然后,分别采用每个所述测试案例组单独执行测试,获得每个所述测试案例组的测试结果。具体的,该测试结果可以包括:采用的测试案例总数量、自动化测试案例数量、半自动化测试案例数量以及发现缺陷(bug)的数量。自动化测试过程包含系统测试阶段和回归测试阶段,使用的测试案例可以分为三类:自动化测试案例、半自动化测试案例(即人工和自动化相结合)和人工测试案例。在自动化测试的过程中,系统会记录下使用的每个测试案例以及对应的种类,从而能够统计得到使用的测试案例总数量,自动化测试案例数量以及半自动化测试案例数量。
204、针对每个所述测试案例组,根据各自执行测试时采用的测试案例总数量、自动化测试案例数量、半自动化测试案例数量以及造数因子计算得到各自的自动化覆盖率;
其中,所述造数因子为根据采用半自动化测试案例相对于采用人工测试案例节省的测试时间而设置的比例值。
进一步的,所述造数因子可以通过以下步骤确定:
(1)从所述测试案例组中选取相同数量的半自动化测试案例以及人工测试案例;
(2)分别统计执行所述半自动化测试案例所需的第一时长以及执行所述人工测试案例所需的第二时长;
(3)计算所述第二时长和所述第一时长的差值,并将所述差值与所述第二时长的比值确定为所述造数因子。
比如,对于一定数量的测试案例,人工执行需要10分钟时间,而使用造数脚本(即半自动化)执行节省了4分钟,那么相应的造数因子为0.4。
具体的,所述自动化覆盖率可以采用以下公式计算:
Coverage=(auto+hauto*r)*100%/amount
其中,Coverage表示自动化覆盖率,auto表示自动化测试案例数量,hauto表示半自动化测试案例数量,r表示造数因子,amount表示测试案例总数量。
在业界开展实施自动化测试时,基本都是以自动化测试案例覆盖手工测试案例的比率来衡量自动化实施的效果,但实际上,除了自动化测试案例,在日常测试过程中,部分的自动化、使用程序或者代码进行造数,都能帮助提高测试效率、节省人力,所以这部分工作也应该是自动化测试的一部分。所以,本方案提出了造数因子的概念,将部分自动化(半自动化)、造数、使用工具辅助测试等也算入自动化覆盖率中,更加能够准确地评估出自动化实施效果,而且能够鼓励测试人员积极使用各种技术来提高测试效率。
进一步的,所述测试案例组包含的每个半自动化测试案例均具有各自的自动化比率,所述自动化比率为用于衡量半自动化测试案例的自动化程度的比例参数,所述自动化覆盖率可以采用以下公式计算:
Coverage=(auto+hauto*r*s*t)*100%/amount
其中,Coverage表示自动化覆盖率,auto表示自动化测试案例数量,hauto表示半自动化测试案例数量,r表示造数因子,s为调整系数,t表示半自动化测试案例的平均自动化比率,amount表示测试案例总数量。
其中,某个半自动化测试案例的自动化比率可以根据以下步骤预先计算得到:
(1)统计人工执行该测试案例所耗费的第一时间;
(2)统计半自动化执行该测试案例所耗费的第二时间;
(3)统计自动化执行该测试案例所耗费的第三时间;
(4)根据所述第一时间、第二时间和第三时间计算得到自动化比率。
具体的,步骤(4)可以包括:
(4.1)计算所述第一时间和所述第三时间的第一差值;
(4.2)计算所述第一时间和所述第二时间的第二差值;
(4.3)计算所述第二差值和所述第一差值的比值,作为所述自动化比率。
比如,某个半自动化测试案例,人工执行该测试案例耗费10分钟,半自动化执行该测试案例耗费6分钟,自动化执行该测试案例耗费5分钟,则第一差值为5分钟,第二差值为4分钟,自动化比率为4/5*100%=80%。
进一步的,为了更直观地评估自动化测试的效果,还可以根据获取到的测试结果统计自动化测试达到的人力节省值,人力节省值的单位可以为(人/月),或者(人/天)。比如,若人力节省时间为20(人/月),则表示采用自动化测试相对于人工测试每个月能够节省20个人的工作量。
具体的,所述人力节省值可以通过以下步骤计算:
(1)统计人工执行一个测试案例的第一平均时间;
(2)统计自动化以及半自动化执行一个测试案例的第二平均时间;
(3)计算所述第一平均时间和所述第二平均时间的差,作为执行一次自动化测试所节省的时间;
(4)根据该测试结果中的自动化测试案例数量、半自动化测试案例数量以及所述执行一次自动化测试所节省的时间,计算得到自动化测试节省的总时间;
(5)根据所述总时间和预设的人员平均工作时间,计算得到所述人力节省值。
比如,人工执行一个测试案例的平均时间是10分钟,自动化执行一个测试案例的平均时间是5分钟,半自动化执行一个测试案例的平均时间是7分钟,则第一平均时间为10分钟,第二平均时间为6分钟,执行一次自动化测试(包含半自动化测试)所节省的时间为10-6=4分钟。从该测试结果中查询得到自动化测试案例数量为10000,半自动化测试案例数量为5000,则自动化测试节省的总时间为(10000+5000)*4=60000分钟=1000小时。假设一个人员的月平均工作时间是200小时,则人力节省值为1000/200=5(人/月)。
205、针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
206、选取所述目标权重值最高的测试案例组,对待测程序执行测试。
步骤205-206与步骤104-105相同,具体可参照步骤104-105的相关说明。
本发明实施例提出的基于测试案例的测试方法包括:获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;分别采用每个所述测试案例组单独执行测试,获得每个所述测试案例组的测试结果;针对每个所述测试案例组,根据各自执行测试时采用的测试案例总数量、自动化测试案例数量、半自动化测试案例数量以及造数因子计算得到各自的自动化覆盖率;针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;选取所述目标权重值最高的测试案例组,对待测程序执行测试。与本发明的第一个实施例相比,本实施例提出了一种具体的计算各个测试案例组的自动化覆盖率的方法。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种基于测试案例的测试方法,下面将对一种基于测试案例的测试装置进行描述。
请参阅图3,本发明实施例中一种基于测试案例的测试装置的一个实施例包括:
测试案例集获取模块301,用于获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;
测试案例集划分模块302,用于将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;
覆盖率统计模块303,用于分别统计每个所述测试案例组的自动化覆盖率;
权重修正模块304,用于针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
测试模块305,用于选取所述目标权重值最高的测试案例组,对待测程序进行测试。
进一步的,所述覆盖率统计模块可以包括:
自动化测试单元,用于分别采用每个所述测试案例组单独执行测试,获得每个所述测试案例组的测试结果,所述测试结果包括采用的测试案例总数量、自动化测试案例数量以及半自动化测试案例数量;
自动化覆盖率计算单元,用于针对每个所述测试案例组,根据各自执行测试时采用的测试案例总数量、自动化测试案例数量、半自动化测试案例数量以及造数因子计算得到各自的自动化覆盖率,所述造数因子为根据采用半自动化测试案例相对于采用人工测试案例节省的测试时间而设置的比例值。
进一步的,所述覆盖率统计模块还可以包括:
测试案例选取单元,用于从所述测试案例组中选取相同数量的半自动化测试案例以及人工测试案例;
执行时长统计单元,用于分别统计执行所述半自动化测试案例所需的第一时长以及执行所述人工测试案例所需的第二时长;
造数因子确定单元,用于计算所述第二时长和所述第一时长的差值,并将所述差值与所述第二时长的比值确定为所述造数因子。
更进一步的,所述自动化覆盖率计算单元具体用于:采用公式Coverage=(auto+hauto*r)*100%/amount计算得到自动化覆盖率;
其中,Coverage表示自动化覆盖率,auto表示自动化测试案例数量,hauto表示半自动化测试案例数量,r表示造数因子,amount表示测试案例总数量。
更进一步的,所述测试案例组包含的每个半自动化测试案例均具有各自的自动化比率,所述自动化比率为用于衡量半自动化测试案例的自动化程度的比例参数,所述自动化覆盖率计算单元具体用于:采用公式Coverage=(auto+hauto*r*s*t)*100%/amount计算得到自动化覆盖率;
其中,Coverage表示自动化覆盖率,auto表示自动化测试案例数量,hauto表示半自动化测试案例数量,r表示造数因子,s为调整系数,t表示半自动化测试案例的平均自动化比率,amount表示测试案例总数量。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1或图2表示的任意一种基于测试案例的测试方法的步骤。
本发明实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1或图2表示的任意一种基于测试案例的测试方法的步骤。
图4是本发明一实施例提供的服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个应用推广效果的评估方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。
示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述服务器4中的执行过程。
所述服务器4可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储设备,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnLyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于测试案例的测试方法,其特征在于,包括:
获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;
将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;
分别统计每个所述测试案例组的自动化覆盖率;
针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
选取所述目标权重值最高的测试案例组,对待测程序进行测试。
2.根据权利要求1所述的基于测试案例的测试方法,其特征在于,所述分别统计每个所述测试案例组的自动化覆盖率包括:
分别采用每个所述测试案例组单独执行测试,获得每个所述测试案例组的测试结果,所述测试结果包括采用的测试案例总数量、自动化测试案例数量以及半自动化测试案例数量;
针对每个所述测试案例组,根据各自执行测试时采用的测试案例总数量、自动化测试案例数量、半自动化测试案例数量以及造数因子计算得到各自的自动化覆盖率,所述造数因子为根据采用半自动化测试案例相对于采用人工测试案例节省的测试时间而设置的比例值。
3.根据权利要求2所述的基于测试案例的测试方法,其特征在于,所述造数因子通过以下步骤确定:
从所述测试案例组中选取相同数量的半自动化测试案例以及人工测试案例;
分别统计执行所述半自动化测试案例所需的第一时长以及执行所述人工测试案例所需的第二时长;
计算所述第二时长和所述第一时长的差值,并将所述差值与所述第二时长的比值确定为所述造数因子。
4.根据权利要求2或3所述的基于测试案例的测试方法,其特征在于,所述自动化覆盖率采用以下公式计算:
Coverage=(auto+hauto*r)*100%/amount
其中,Coverage表示自动化覆盖率,auto表示自动化测试案例数量,hauto表示半自动化测试案例数量,r表示造数因子,amount表示测试案例总数量。
5.根据权利要求2或3所述的基于测试案例的测试方法,其特征在于,所述测试案例组包含的每个半自动化测试案例均具有各自的自动化比率,所述自动化比率为用于衡量半自动化测试案例的自动化程度的比例参数,所述自动化覆盖率采用以下公式计算:
Coverage=(auto+hauto*r*s*t)*100%/amount
其中,Coverage表示自动化覆盖率,auto表示自动化测试案例数量,hauto表示半自动化测试案例数量,r表示造数因子,s为调整系数,t表示半自动化测试案例的平均自动化比率,amount表示测试案例总数量。
6.一种基于测试案例的测试装置,其特征在于,包括:
测试案例集获取模块,用于获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;
测试案例集划分模块,用于将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;
覆盖率统计模块,用于分别统计每个所述测试案例组的自动化覆盖率;
权重修正模块,用于针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
测试模块,用于选取所述目标权重值最高的测试案例组,对待测程序进行测试。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的基于测试案例的测试方法的步骤。
8.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
获取预先构建的测试案例集,所述测试案例集包含的每个测试案例均具有一个预设的初始权重值,所述初始权重值与测试案例可检验的软件缺陷的数量成正比;
将所述测试案例集划分为多个测试案例组,并分别计算每个所述测试案例组的初始权重值,一个测试案例组的初始权重值等于其包含的各个测试案例的初始权重值之和;
分别统计每个所述测试案例组的自动化覆盖率;
针对每个所述测试案例组,分别以各自的自动化覆盖率作为修正系数,对各自的初始权重值进行修正,得到各自的目标权重值;
选取所述目标权重值最高的测试案例组,对待测程序进行测试。
9.根据权利要求8所述的服务器,其特征在于,所述分别统计每个所述测试案例组的自动化覆盖率包括:
分别采用每个所述测试案例组单独执行测试,获得每个所述测试案例组的测试结果,所述测试结果包括采用的测试案例总数量、自动化测试案例数量以及半自动化测试案例数量;
针对每个所述测试案例组,根据各自执行测试时采用的测试案例总数量、自动化测试案例数量、半自动化测试案例数量以及造数因子计算得到各自的自动化覆盖率,所述造数因子为根据采用半自动化测试案例相对于采用人工测试案例能够节省的测试时间而设置的比例值。
10.根据权利要求9所述的服务器,其特征在于,所述造数因子通过以下步骤确定:
从所述测试案例组中选取相同数量的半自动化测试案例以及人工测试案例;
分别统计执行所述半自动化测试案例所需的第一时长以及执行所述人工测试案例的第二时长;
计算所述第二时长和所述第一时长的差值,并将所述差值与所述第二时长的比值确定为所述造数因子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841108.6A CN110737587B (zh) | 2019-09-06 | 2019-09-06 | 一种基于测试案例的测试方法、装置、存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841108.6A CN110737587B (zh) | 2019-09-06 | 2019-09-06 | 一种基于测试案例的测试方法、装置、存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737587A true CN110737587A (zh) | 2020-01-31 |
CN110737587B CN110737587B (zh) | 2022-05-27 |
Family
ID=69267526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910841108.6A Active CN110737587B (zh) | 2019-09-06 | 2019-09-06 | 一种基于测试案例的测试方法、装置、存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737587B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367820A (zh) * | 2020-04-30 | 2020-07-03 | 中国银行股份有限公司 | 一种测试案例的排序方法及装置 |
CN111382031A (zh) * | 2020-04-30 | 2020-07-07 | 中国银行股份有限公司 | 测试方法及装置 |
CN113177002A (zh) * | 2021-05-24 | 2021-07-27 | 中国工商银行股份有限公司 | 基于测试点的测试设计方法、装置、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159774A1 (en) * | 2011-12-19 | 2013-06-20 | Siemens Corporation | Dynamic reprioritization of test cases during test execution |
US20160117239A1 (en) * | 2014-10-24 | 2016-04-28 | International Business Machines Corporation | Generating an evolving set of test cases |
CN108268366A (zh) * | 2016-12-30 | 2018-07-10 | 腾讯科技(深圳)有限公司 | 测试用例执行方法及装置 |
CN108694123A (zh) * | 2018-05-14 | 2018-10-23 | 中国平安人寿保险股份有限公司 | 一种回归测试方法、计算机可读存储介质及终端设备 |
CN109062817A (zh) * | 2018-10-15 | 2018-12-21 | 网宿科技股份有限公司 | 自动化测试方法及系统 |
-
2019
- 2019-09-06 CN CN201910841108.6A patent/CN110737587B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159774A1 (en) * | 2011-12-19 | 2013-06-20 | Siemens Corporation | Dynamic reprioritization of test cases during test execution |
US20160117239A1 (en) * | 2014-10-24 | 2016-04-28 | International Business Machines Corporation | Generating an evolving set of test cases |
CN108268366A (zh) * | 2016-12-30 | 2018-07-10 | 腾讯科技(深圳)有限公司 | 测试用例执行方法及装置 |
CN108694123A (zh) * | 2018-05-14 | 2018-10-23 | 中国平安人寿保险股份有限公司 | 一种回归测试方法、计算机可读存储介质及终端设备 |
CN109062817A (zh) * | 2018-10-15 | 2018-12-21 | 网宿科技股份有限公司 | 自动化测试方法及系统 |
Non-Patent Citations (1)
Title |
---|
林勇等: "银行应用软件测试度量研究", 《中国金融电脑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367820A (zh) * | 2020-04-30 | 2020-07-03 | 中国银行股份有限公司 | 一种测试案例的排序方法及装置 |
CN111382031A (zh) * | 2020-04-30 | 2020-07-07 | 中国银行股份有限公司 | 测试方法及装置 |
CN111367820B (zh) * | 2020-04-30 | 2023-04-25 | 中国银行股份有限公司 | 一种测试案例的排序方法及装置 |
CN111382031B (zh) * | 2020-04-30 | 2023-09-19 | 中国银行股份有限公司 | 测试方法及装置 |
CN113177002A (zh) * | 2021-05-24 | 2021-07-27 | 中国工商银行股份有限公司 | 基于测试点的测试设计方法、装置、电子设备和介质 |
CN113177002B (zh) * | 2021-05-24 | 2024-03-19 | 中国工商银行股份有限公司 | 基于测试点的测试设计方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110737587B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737587B (zh) | 一种基于测试案例的测试方法、装置、存储介质和服务器 | |
CN108694123B (zh) | 一种回归测试方法、计算机可读存储介质及终端设备 | |
CN112132485A (zh) | 一种指标数据处理方法、装置、电子设备及存储介质 | |
CN110825620B (zh) | 回归测试中测试用例优先级计算方法 | |
CN111858354A (zh) | 自动生成测试报告的方法、装置、存储介质及电子设备 | |
CN110781027A (zh) | 内存ecc报错阈值的确定方法、确定装置及确定设备 | |
CN110008049A (zh) | 一种基于互联网平台的数据修正方法、终端设备及介质 | |
CN111259338B (zh) | 元器件失效率修正方法、装置、计算机设备及存储介质 | |
CN117009221A (zh) | 产品测试的处理方法、装置、设备、存储介质及程序产品 | |
CN110647443A (zh) | 检测耗电异常的方法、终端及计算机可读存储介质 | |
US11255705B2 (en) | Method for setting quality thresholds of products for testing purposes and device employing method | |
CN110674044A (zh) | 功能自动化测试的覆盖率获取方法、系统、设备及介质 | |
US8924180B2 (en) | Maintenance system and maintenance method | |
CN111651503B (zh) | 一种配电网数据异常识别方法、系统及终端设备 | |
CN111274687B (zh) | 元器件失效率预计方法、装置、计算机设备及存储介质 | |
CN113763142A (zh) | 工资数据计算方法、系统及相应计算机设备和存储介质 | |
CN112737549A (zh) | 信号输出频率的调节方法及调节装置、电子设备 | |
CN113342676A (zh) | 一种软件测试的评估方法、装置、计算设备及存储介质 | |
CN108269004B (zh) | 产品寿命分析方法及终端设备 | |
CN111367640B (zh) | 数据统计周期确定方法、装置、电子设备及存储介质 | |
US20140163917A1 (en) | Multi-sensing-elements calibration system, multi-sensing-elements calibration method and recording medium | |
CN111382757A (zh) | 深度学习分类算法中动态调节训练样本的方法及终端设备 | |
CN109086984B (zh) | 平台生命周期的评估方法、装置、计算机设备和存储介质 | |
CN111143198B (zh) | 测试数据的处理方法以及装置 | |
CN112798860B (zh) | 电量计算方法、装置和多联机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |