CN110262956A - 一种测试用例选择方法及装置 - Google Patents
一种测试用例选择方法及装置 Download PDFInfo
- Publication number
- CN110262956A CN110262956A CN201810201987.1A CN201810201987A CN110262956A CN 110262956 A CN110262956 A CN 110262956A CN 201810201987 A CN201810201987 A CN 201810201987A CN 110262956 A CN110262956 A CN 110262956A
- Authority
- CN
- China
- Prior art keywords
- test case
- score
- test
- software
- module
- 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.)
- Pending
Links
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/3684—Test management for test design, e.g. generating new test cases
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)
- Stored Programmes (AREA)
Abstract
本发明涉及软件测试技术领域,特别涉及一种测试用例选择方法及装置。该方法为:基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数;基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定第一模块与每一个第二模块集合的交集,并基于交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于补丁包的第二分数,其中,待测试软件为使用补丁包进行升级后的软件;基于待测试软件的应用场景,分别确定每一测试用例相对于应用场景的第三分数;基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试待测试软件的测试用例。
Description
技术领域
本发明涉及软件测试技术领域,特别涉及一种测试用例选择方法及装置。
背景技术
在已发布软件的运行过程中,若出现程序漏洞(BUG),则需要采用测试用例对软件进行回归测试,重新确认修改没有引起新的错误或导致其他代码产生错误。
所谓测试用例,是对软件运行过程中所有可能存在的目标、运动、行动、环境和结果的描述,是对客观世界的一种抽象。测试用例体现了一定的测试方案、方法、技术和策略。若已发布软件发现BUG的时间间隔短,那么,测试人员就需要不停的针对该软件进行回归测试,针对大型的软件项目,测试其所需的测试用例数量庞大,此时,在对软件进行回归测试时,测试用例的选择显得尤为重要。
目前,在对大型软件项目进行回归测试时,测试用例的选择方式包括:
选择全部测试用例,即选择测试用例库中的全部测试用例构成回归测试包,并使用该回归测试包对待测试软件进行回归测试;或者,
基于风险选择测试用例,即基于一定的风险标准,手工从测试用例库中选择部分测试用例构成回归测试包,并使用该回归测试包对待测试软件进行回归测试。
然而,上述使用全部测试用例对待测试软件进行测试,测试所需时间长,测试效率低,测试成本高;上述使用基于移动的风险标准,手工选择的部分测试用例对待测试软件进行测试,测试结果不全面,测试质量不高。
发明内容
本发明实施例的目的是提供一种测试用例选择方法及装置,用以解决现有技术中存在的对大型软件项目进行测试时测试所需时间长,测试效率低,测试成本高,及测试结果不全面,测试质量不高的问题。
本发明实施例中提供的具体技术方案如下:
第一方面,本发明提供一种测试用例选择方法,该测试用例选择方法包括:基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括上述任一测试用例历史测出的问题数目信息和/或各问题的级别信息和/或测出各问题的时间信息;基于补丁包关联的第一模块集合和针对每一测试用例预先设置的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集,并基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,其中,上述待测试软件为使用上述补丁包进行升级后的软件;基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数;基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试上述待测试软件的测试用例,其中,测试用例的总分数表征测试用例与所述待测试软件的关联度。
采用本发明提供的测试用例选择方法,根据测试用例库中各测试用例与各测试用例的历史测试数据,补丁包,待测试软件中各模块及待测试软件的应用场景之间的关联性,确定各测试用例的综合分数,其中,综合分数越高表征能测出问题的概率越大,测试结果的作用越大,再基于各测试用例的综合分数,确定出用于测试待测试软件的若干测试用例,在确保测试结果全面,测试质量高的同时,大大减少了测试所需时间,降低测试成本,提高测试效率。
可选的,基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,包括:针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的第一分数:
其中,Rbtl为一个测试用例的第一分数,Bcn为上述一个测试用例历史测出问题的数目,Li为测出的第i个问题的级别,Tnow为当前时间点,Bt为测出第i个问题的时间点。
上述可选的方式描述了根据各测试用例的历史测试数据中各测试用例历史测出的问题的个数,测出的各个问题的级别及测出的各个问题的时间点信息,分别计算各测试用例的第一分数,即针对一个测试用例而言,测出的问题相对应的分数与该问题的级别和测出该问题的时间点有关。
可选的,确定待测试软件中每一模块的分数,包括:针对待测试软件中每一模块分别执行以下操作:将待测试软件中一个模块的基础预设分数与上述一个模块历史测出的问题数目之和作为上述一个模块的分数。
上述可选的方式描述了确定待测试软件中每一模块的分数,针对待测试软件中每一模块预先设置一个基础分数,该分数与模块在待测试软件中的重要性相关联,并确定每一模块历史测出问题的个数,然后,针对每一模块,将一个模块的基础分数与该一个模块历史测出问题的个数之和作为该一个模块的分数。
可选的,基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集,包括:确定上述补丁包修改的模块集合,并分别确定每一测试用例可用于测试的模块集合,以及针对测试用例库中每一测试用例分别执行以下操作:确定上述补丁包修改的模块集合和一个测试用例可用于测试的模块集合的交集。
上述可选的方式描述了每一个测试用例与补丁包的关联性的方案,根据补丁包与待测试软件中各模块之间的关联性(即补丁包修改的待测试软件中的模块),和测试用例与待测试软件中各模块之间的关联性,分别确定出补丁包与每一测试用例之间的关联性。
可选的,基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,包括:针对测试用例库中每一测试用例分别执行以下操作:将一个测试用例相对应的交集中各模块的分数之和作为上述一个测试用例的第二分数。
上述可选的方式描述了根据补丁包与每一测试用例之间的关联性确定出每一测试用例与补丁包关联的第二分数。
可选的,基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数,包括:针对测试用例库中每一测试用例分别执行以下操作:确定一个测试用例关联的若干应用场景,将上述若干应用场景相对应的,预先根据上述待测试软件的实际使用情况设置的分数之和作为上述一个测试用例的第三分数。
上述可选的方式描述了预先根据待测试软件的使用情况,针对不同的应用场景预设相应的分数,针对任一测试用例,将其关联的若干场景的分数之和做为该任一测试用例与应用场景相关联的第三分数。
可选的,基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于上述总分数选择用于测试上述待测试软件的测试用例,包括:针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的总分数:
Sscore=Rbtl×p1+Rcp×p2+Rsc×p3,其中,Rbtl为一个测试用例的第一分数,p1为第一分数对应的权重,Rcp为一个测试用例的第二分数,p2为第二分数对应的权重,Rsc为一个测试用例的第三分数,p3为第三分数对应的权重,p1+p2+p3=1。
可选的,将测试用例的总分数大于设定阈值的测试用例作为测试上述待测试软件的测试用例。
第二方面,本发明提供一种测试用例选择装置,该测试用例选择装置包括:第一确定单元,用于基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括上述任一测试用例历史测出的问题数目信息和/或各问题的级别信息和/或测出各问题的时间信息;第二确定单元,用于基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集,并基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,其中,上述待测试软件为使用上述补丁包进行升级后的软件;第三确定单元,用于基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数;选择单元,用于基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试上述待测试软件的测试用例。
可选的,在基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数时,上述第一确定单元用于:针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的第一分数:
其中,Rbtl为一个测试用例的第一分数,Bcn为上述一个测试用例历史测出问题的数目,Li为测出的第i个问题的级别,Tnow为当前时间点,Bt为测出第i个问题的时间点。
可选的,在确定待测试软件中每一模块的分数时,上述第二确定单元用于:针对待测试软件中每一模块分别执行以下操作:将待测试软件中一个模块的基础预设分数与上述一个模块历史测出的问题数目之和作为上述一个模块的分数。
可选的,在基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集时,上述第二确定单元用于:确定上述补丁包修改的模块集合,并分别确定每一测试用例可用于测试的模块集合,以及针对测试用例库中每一测试用例分别执行以下操作:确定上述补丁包修改的模块集合和一个测试用例可用于测试的模块集合的交集。
可选的,在基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数时,上述第二确定单元用于:针对测试用例库中每一测试用例分别执行以下操作:将一个测试用例相对应的交集中各模块的分数之和作为上述一个测试用例的第二分数。
可选的,在基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数时,上述第三确定单元用于:针对测试用例库中每一测试用例分别执行以下操作:确定一个测试用例关联的若干应用场景,将上述若干应用场景相对应的,预先根据上述待测试软件的实际使用情况设置的分数之和作为上述一个测试用例的第三分数。
可选的,在基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于上述总分数选择用于测试上述待测试软件的测试用例时,上述选择单元用于:针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的总分数:
Sscore=Rbtl×p1+Rcp×p2+Rsc×p3,其中,Rbtl为一个测试用例的第一分数,p1为第一分数对应的权重,Rcp为一个测试用例的第二分数,p2为第二分数对应的权重,Rsc为一个测试用例的第三分数,p3为第三分数对应的权重,p1+p2+p3=1。
可选的,将测试用例的总分数大于设定阈值的测试用例作为测试上述待测试软件的测试用例。
第三方面,本发明提供一种计算设备,上述计算设备包括:存储器,用于存储程序指令;
处理器,用于调用上述存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项方法。
第四方面,本发明提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述第一方面中任一项方法。
本发明有益效果如下:
综上所述,本发明实施例中,基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括上述任一测试用例历史测出问题的数目信息,各问题的级别信息及测出各问题的时间信息;基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集,并基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,其中,上述待测试软件为使用上述补丁包进行升级后的软件;基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数;基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试上述待测试软件的测试用例。
采用上述方法,在进行测试用例选择的过程中,确定测试用例库中各测试用例与历史测试数据中历史测出的问题数目,和/或历史测出的各问题的级别,和/或测出各问题的时间信息,补丁包和待测试软件的应用场景之间的关联性,并选择关联性满足预设规则的测试用例对待测试软件进行测试,在确保测试质量的前提下,减少测试所需的时间,降低了测试成本,提高了测试效率。
附图说明
图1为本发明实施例中,一种测试用例选择方法的详细流程图;
图2为本发明实施例中,另一种测试用例选择方法的详细流程图;
图3为本发明实施例中,一种测试用例选择装置的结构示意图。
具体实施方式
为了便于理解本发明实施例中介绍的技术方案,现给出部分术语的定义:
1、补丁包:是指用于对软件本身存在的问题进行修复的程序。
2、测试用例:是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等并形成文档。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,针对测试用例库中的各测试用例而言,在对软件的实际测试工作中,一些测试用例在历史测试工作中从未测出过问题,而一些测试用例若测出过问题(即测试不通过),则可能在一定时间段内经常测出各种问题。那么,本发明提供一种测试用例的选择方法,用于从测试用例库中选择出适合此次对待测试软件进行测试的测试用例,在保证测试质量的同时,减少测试用例数量,降低测试用例所需时间,提高测试效率。
具体的,本发明提供的测试用例选择方案中,通过多维度的建立测试用例库中各测试用例与各测试用例的历史测试数据,补丁包,待测试软件中各模块及待测试软件的实际应用场景之间的关联性,对每个测试用例进行打分操作,一个测试用例的分数越高,表明该一个测试用例能够测出问题的可能性越大,通过执行本发明提供的测试用例选择方法,最大化过滤掉测试用例库中无用的测试用例,在确保测试质量的同时,减少测试所需时间。
下面将通过具体实施例对本发明的方案进行详细描述,当然,本发明并不限于以下实施例。
示例性的,参阅图1所示,本发明实施例中,一种测试用例选择方法的详细流程如下:
步骤100:基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括上述任一测试用例历史测出的问题数目信息和/或各问题的级别信息和/或测出各问题的时间信息。
实际应用中,每使用一次测试用例库中的测试用例进行测试,均会产生相应的测试数据,如,针对一个测试用例而言,采用该一个测试用例的测试时间,采用该一个测试用例测试时是否测试出问题,若测出问题,则测试数据中包含有该问题的详细信息,累计该一个测试用例历史测出问题的数据,进一步的,还可以预先针对测出的不同问题进行级别设定,或者,根据该问题的详细信息确定该问题的级别。
本发明实施例中,在执行步骤100时,根据一个测试用例的历史测试数据,确定该一个测试用例与历史测试数据中历史测出的问题数目,和/或历史测出的各问题的级别,和/或测出各问题的时间信息之间的关联性,最终确定该一个测试用例的用于表征该一个测试用例与历史测试数据中历史测出的各问题的级别和/或测出各问题的时间信息之间的关联性的第一分数。
针对一个测试用例而言,一个历史测出问题的级别越高,测出问题的时间离目前越近,其相对应的分数越高,反之,其相对应的分数越低。具体的,针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的第一分数:
其中,Rbtl为一个测试用例的第一分数,Bcn为上述一个测试用例历史测出问题的数目,Li为测出的第i个问题的级别,Tnow为当前时间点,Bt为测出第i个问题的时间点。由上可知,一个测试用例的第一分数为该一个测试用例历史测出的各问题的分数之和。
例如,假设一个测试用例历史测出的问题为问题1,问题2和问题3,问题1的问题级别为2级,测出问题1的时间点离当前时间点的时间间隔为A,问题2的问题级别为2级,测出问题2的时间点离当前时间点的时间间隔为B,问题3的问题级别为5级,测出问题3的时间点离当前时间点的时间间隔为B,其中,A>B>0,那么,即可确定问题1对应的分数为2/A,问题2对应的分数为2/B,问题3对应的分数为5/B,上述一个测试用例的第一分数为2/A+2/B+5/B,那么,可知2/A<2/B<5/B,一个历史测出的问题相对应的分数与问题等级成正比,与测出问题的时间点离当前时间点的时间间隔的绝对值成反比。
本发明实施例中,可采用上述可选的方式,分别建立各测试用例与相应的历史测试数据之间的关联关系。
步骤110:基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集。
实际应用中,本发明实施例中,针对待测试软件中每一模块分别执行以下操作:将待测试软件中一个模块的基础预设分数与上述一个模块历史测出的问题数目之和作为上述一个模块的分数。具体的,首先,预先针对待测试软件中的每一模块分别设置相应的基础分数,其中,一个模块的基础分数与该一个模块在待测试软件中的重要性相关联,重要性越高,基础分数越高,反之,基础分数越低;然后,确定待测试软件中每一模块相对应的历史测出的问题数目;最后,将待测试软件中各模块的基础预设分数与相应模块历史测出的问题数目之和作为相应模块的分数。
例如,假设待测试软件由模块1,模块2,模块3和模块4组成,模块4为最重要模块,模块2和3为较重要模块,模块1为不重要模块,那么,针对模块1设置的基础分数为5,针对模块2和模块3设置的基础分数为8,针对模块4设置的基础分数为10,进一步的,确定出针对模块1历史测出的问题数目为3个,针对模块2历史测出的问题数目为8个,针对模块3历史测出的问题数目为12个,针对模块4历史测出的问题数目为5个,那么,由上可知,模块1相应的分数为5+3=8,模块2相应的分数为8+8=16,模块3相应的分数为8+12=20,模块4相应的分数为10+5=15。
显然,针对组成待测试软件的多个模块而言,一个模块的性能/功能越不稳定,其历史测出的问题越多,相对应的,其分数越高,反之,分数越低。一个模块的分数的大小由预设的基础分数和历史测出的问题数目决定。
具体的,本发明实施例中,在执行步骤110时,确定上述补丁包修改的模块集合,并分别确定每一测试用例可用于测试的模块集合,以及针对测试用例库中每一测试用例分别执行以下操作:确定上述补丁包修改的模块集合和一个测试用例可用于测试的模块集合的交集。
实际应用中,一个补丁包,用于对软件本身存在的问题进行修复,那么,使用一个补丁包对软件进行打补丁操作时,就需对软件中多个模块的逻辑等进行修改,将一个补丁包修改的模块作为该一个补丁包关联的模块集合。进一步的,本发明实施例中,预先针对测试用例库中每一测试用例设置有相应的,相关联的模块,即针对一个测试用例而言,其相应的,相关联的模块为可以使用该一个测试用例进行测试的模块集合。那么,即可根据上述补丁包相关联的模块集合和一个测试集合相关联的模块集合,确定出两个模块集合的交集。
例如,假设补丁包相关联的模块集合为:{模块1,模块2,模块3,模块4,模块5},测试用例1相关联的模块集合为:{模块1,模块3,模块6,模块7,模块8},那么,即可根据上述两个集合的具体内容确定出两个模块集合的交集为:{模块1,模块3}。
步骤120:基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,其中,上述待测试软件为使用上述补丁包进行升级后的软件。
具体的,针对测试用例库中每一测试用例分别执行以下操作:将一个测试用例相对应的交集中各模块的分数之和作为上述一个测试用例的第二分数。
实际应用中,在确定出各测试用例相对应的交集后,即可根据交集中的各模块以及各模块的分数,分别确定出各测试用例与补丁包关联的第二分数,本发明实施例中,一种可选的实施方式为:将一个测试用例相对应的集合中各模块的分数之和作为该一个测试用例的第二分数。
例如,假设测试用例1的交集为{模块1,模块3},上述确定出的模块1的分数为8,模块3的分数为20,那么,即可确定出测试用例1与补丁包关联的第二分数为28。
步骤130:基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数。
实际应用中,可根据待测试软件的实际使用情况定,预先定义多个应用场景,针对定义的每一应用场景设置一个分数,当然,设置的分数大小由应用场景的重要性决定。
例如,假设针对待测试软件1预先定义有:应用场景1,应用场景2,应用场景3,应用场景4和应用场景5,而针对应用场景1-5分别预设的分数为A1,A2,A3,A4和A5,其中,A1,A2,A3,A4和A5的大小由应用场景的重要性决定。
可选的,本发明实施例中,预先根据待测试软件1,针对测试用例库中每一测试用例设置有相关联的应用场景,例如,预设的测试用例1关联的应用场景为:应用场景1和应用场景2;预设的测试用例2关联的应用场景为:应用场景1和应用场景5;预设的测试用例3关联的应用场景为:应用场景2,应用场景3和应用场景4。
那么,即可根据待测试软件的各应用场景的分数和各测试用例分别关联的应用场景,确定各测试用例相对于应用场景的第三分数。具体的,本发明实施例中一种较佳的实施方式为:针对测试用例库中每一测试用例分别执行以下操作:确定一个测试用例关联的若干应用场景,将上述若干应用场景相对应的,预先根据上述待测试软件的实际使用情况设置的分数之和作为上述一个测试用例的第三分数。
例如,假设测试用例1相对于待测试软件1而言,其关联的应用场景为应用场景1和应用场景2,那么,测试用例1相对于应用场景的第三分数为:A1+A2;测试用例2相对于待测试软件1而言,其关联的应用场景为应用场景1和应用场景5,那么,测试用例2相对于应用场景的第三分数为:A1+A5;测试用例3相对于待测试软件1而言,其关联的应用场景为应用场景2,应用场景3和应用场景4,那么,测试用例3相对于应用场景的第三分数为:A2+A3+A4。
步骤140:基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数。
实际应用中,在确定出一个测试用例与该一个测试用例的历史测试数据中历史测出的各问题的级别和/或测出各问题的时间信息关联的第一分数,该一个测试用例与补丁包关联的第二分数,该一个测试用例与待测试软件的应用场景关联的第三分数之后,进一步的,需要根据该第一分数,第二分数和第三分数确定该一个测试包的综合总分数,其中,测试用例的总分数表征测试用例与上述待测试软件的关联度。
本发明实施例中,一种较佳的实施方式为:针对第一分数,第二分数和第三分数分别设置权重值,通过加权求和的方式计算一个测试用例的总分数。
具体的,本发明实施例中,在执行步骤140时,针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的总分数:
Sscore=Rbtl×p1+Rcp×p2+Rsc×p3,其中,Rbtl为一个测试用例的第一分数,p1为第一分数对应的权重,Rcp为一个测试用例的第二分数,p2为第二分数对应的权重,Rsc为一个测试用例的第三分数,p3为第三分数对应的权重,p1+p2+p3=1。
当然,针对总分数的计算方式,包括但不仅限于采用上述加权求和的方式进行,也可以采用其他方式进行,具体计算方式可根据具体应用场景的需求和/或用户不同需求进行选择,本发明实施例中,在此不做具体限定。
步骤150:基于每一测试用例的总分数选择用于测试上述待测试软件的测试用例。
实际应用中,在确定出测试用例库中各测试用例的总分数之后,进一步的,需要基于预设的测试用例选择规则从各测试用例中选择出符合规则要求的,用于对待测试软件进行测试的若干测试用例。
本发明实施例中,一种较佳的实施方式为,将测试用例的总分数大于设定阈值的测试用例作为测试上述待测试软件的测试用例。
下面采用具体的应用场景对上述实施例作进一步详细说明。
示例性的,参阅图2所示,本发明实施例中,一种测试用例选择方法的详细流程如下:
步骤200:输入补丁包,确定该补丁包关联的模块等。
步骤210:输入待测试软件,确定待测试软件各模块的历史测出的问题数目等。
步骤220:基于测试用例库中各测试用例的历史测试数据,补丁包关联的模块和待测试软件各模块的历史测出的问题数目等信息,分别对每一测试用例进行打分。
步骤230:输出得分高于设定阈值的测试用例,其中,该测试用例为选择出的,可用于对待测试软件进行测试的测试用例。
基于上述实施例,参阅图3所示,本发明实施例中,一种测试用例选择装置,至少包括第一确定单元30,第二确定单元31,第三确定单元32和选择单元33,其中,
第一确定单元30,用于基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括上述任一测试用例历史测出问题的数目信息和/或各问题的级别信息和/或测出各问题的时间信息;第二确定单元31,用于基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集,并基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,其中,上述待测试软件为使用上述补丁包进行升级后的软件;第三确定单元32,用于基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数;选择单元33,用于基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试上述待测试软件的测试用例。
可选的,在基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数时,上述第一确定单元30用于:针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的第一分数:
其中,Rbtl为一个测试用例的第一分数,Bcn为上述一个测试用例历史测出问题的数目,Li为测出的第i个问题的级别,Tnow为当前时间点,Bt为测出第i个问题的时间点。
可选的,在确定待测试软件中每一模块的分数时,上述第二确定单元31用于:
针对待测试软件中每一模块分别执行以下操作:将待测试软件中一个模块的基础预设分数与上述一个模块历史测出的问题数目之和作为上述一个模块的分数。
可选的,在基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集时,上述第二确定单元31用于:确定上述补丁包修改的模块集合,并分别确定每一测试用例可用于测试的模块集合,以及针对测试用例库中每一测试用例分别执行以下操作:确定上述补丁包修改的模块集合和一个测试用例可用于测试的模块集合的交集。
可选的,在基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数时,上述第二确定单元31用于:针对测试用例库中每一测试用例分别执行以下操作:将一个测试用例相对应的交集中各模块的分数之和作为上述一个测试用例的第二分数。
可选的,在基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数时,上述第三确定单元32用于:针对测试用例库中每一测试用例分别执行以下操作:确定一个测试用例关联的若干应用场景,将上述若干应用场景相对应的,预先根据上述待测试软件的实际使用情况设置的分数之和作为上述一个测试用例的第三分数。
可选的,在基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于上述总分数选择用于测试上述待测试软件的测试用例时,上述选择单元33用于:针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的总分数:
Sscore=Rbtl×p1+Rcp×p2+Rsc×p3,其中,Rbtl为一个测试用例的第一分数,p1为第一分数对应的权重,Rcp为一个测试用例的第二分数,p2为第二分数对应的权重,Rsc为一个测试用例的第三分数,p3为第三分数对应的权重,p1+p2+p3=1。
可选的,将测试用例的总分数大于设定阈值的测试用例作为测试上述待测试软件的测试用例。
综上所述,本发明实施例中,基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括上述任一测试用例历史测出问题的数目信息,各问题的级别信息及测出各问题的时间信息;基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定上述第一模块与每一个第二模块集合的交集,并基于上述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于上述补丁包的第二分数,其中,上述待测试软件为使用上述补丁包进行升级后的软件;基于待测试软件的应用场景,分别确定每一测试用例相对于上述应用场景的第三分数;基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试上述待测试软件的测试用例。
采用上述方法,在进行测试用例选择的过程中,确定测试用例库中各测试用例与历史测试数据中历史测出的问题数据,和/或历史测出的各问题的级别,和/或测出各问题的时间信息,补丁包和待测试软件的应用场景之间的关联性,并选择关联性满足预设规则的测试用例对待测试软件进行测试,在确保测试质量的前提下,减少测试所需的时间,降低了测试成本,提高了测试效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种测试用例选择方法,其特征在于,包括:
基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括所述任一测试用例历史测出的问题数目信息和/或各问题的级别信息和/或测出各问题的时间信息;
基于补丁包关联的第一模块集合和针对每一测试用例分别预设的第二模块集合,分别确定所述第一模块与每一个第二模块集合的交集,并基于所述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于所述补丁包的第二分数,其中,所述待测试软件为使用所述补丁包进行升级后的软件;
基于待测试软件的应用场景,分别确定每一测试用例相对于所述应用场景的第三分数;
基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试所述待测试软件的测试用例,其中,测试用例的总分数表征测试用例与所述待测试软件的关联度。
2.如权利要求1所述的方法,其特征在于,基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,包括:
针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的第一分数:
其中,Rbtl为一个测试用例的第一分数,Bcn为所述一个测试用例历史测出问题的数目,Li为测出的第i个问题的级别,Tnow为当前时间点,Bt为测出第i个问题的时间点。
3.如权利要求1或2所述的方法,其特征在于,确定待测试软件中每一模块的分数,包括:
针对待测试软件中每一模块分别执行以下操作:将待测试软件中一个模块的基础预设分数与所述一个模块历史测出的问题数目之和作为所述一个模块的分数。
4.如权利要求3所述的方法,其特征在于,基于补丁包关联的第一模块集合和每一测试用例关联的第二模块集合,分别确定所述第一模块与每一个第二模块集合的交集,包括:
确定所述补丁包修改的模块集合,并分别确定每一测试用例可用于测试的模块集合,以及针对测试用例库中每一测试用例分别执行以下操作:确定所述补丁包修改的模块集合和一个测试用例可用于测试的模块集合的交集。
5.如权利要求4所述的方法,其特征在于,基于所述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于所述补丁包的第二分数,包括:
针对测试用例库中每一测试用例分别执行以下操作:将一个测试用例相对应的交集中各模块的分数之和作为所述一个测试用例的第二分数。
6.如权利要求1所述的方法,其特征在于,基于待测试软件的应用场景,分别确定每一测试用例相对于所述应用场景的第三分数,包括:
针对测试用例库中每一测试用例分别执行以下操作:确定一个测试用例关联的若干应用场景,将所述若干应用场景相对应的,预先根据所述待测试软件的实际使用情况设置的分数之和作为所述一个测试用例的第三分数。
7.如权利要求1所述的方法,其特征在于,基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,包括:
针对测试用例库中每一测试用例,采用以下公式分别计算每一测试用例的总分数:
Sscore=Rbtl×p1+Rcp×p2+Rsc×p3,
其中,Rbtl为一个测试用例的第一分数,p1为第一分数对应的权重,Rcp为一个测试用例的第二分数,p2为第二分数对应的权重,Rsc为一个测试用例的第三分数,p3为第三分数对应的权重,p1+p2+p3=1。
8.如权利要求1所述的方法,其特征在于,基于所述总分数选择用于测试所述待测试软件的测试用例,包括:
将测试用例的总分数大于设定阈值的测试用例作为测试所述待测试软件的测试用例。
9.一种测试用例选择装置,其特征在于,包括:
第一确定单元,用于基于各测试用例的历史测试数据,分别确定每一测试用例的第一分数,其中,任一测试用例的历史测试数据至少包括所述任一测试用例历史测出的问题数目信息和/或各问题的级别信息和/或测出各问题的时间信息;
第二确定单元,用于基于补丁包关联的第一模块集合和针对每一测试用例分别预设的第二模块集合,分别确定所述第一模块与每一个第二模块集合的交集,并基于所述交集和待测试软件中每一模块的分数,分别确定每一测试用例相对于所述补丁包的第二分数,其中,所述待测试软件为使用所述补丁包进行升级后的软件;
第三确定单元,用于基于待测试软件的应用场景,分别确定每一测试用例相对于所述应用场景的第三分数;
选择单元,用于基于每一测试用例相对应的第一分数,第二分数和第三分数,分别确定每一测试用例的总分数,并基于每一测试用例的总分数选择用于测试所述待测试软件的测试用例,其中,测试用例的总分数表征测试用例与所述待测试软件的关联度。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810201987.1A CN110262956A (zh) | 2018-03-12 | 2018-03-12 | 一种测试用例选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810201987.1A CN110262956A (zh) | 2018-03-12 | 2018-03-12 | 一种测试用例选择方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110262956A true CN110262956A (zh) | 2019-09-20 |
Family
ID=67911572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810201987.1A Pending CN110262956A (zh) | 2018-03-12 | 2018-03-12 | 一种测试用例选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262956A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633222A (zh) * | 2019-11-01 | 2019-12-31 | 中国银行股份有限公司 | 一种回归测试用例的确定方法及装置 |
CN111538669A (zh) * | 2020-04-29 | 2020-08-14 | 中国银行股份有限公司 | 一种基于历史问题回溯分析的测试案例抽取方法及装置 |
CN111858371A (zh) * | 2020-07-28 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 软件测试方法、系统、存储介质及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662833A (zh) * | 2012-03-21 | 2012-09-12 | 天津书生软件技术有限公司 | 一种管理测试用例的方法 |
CN106033388A (zh) * | 2015-03-11 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 测试用例库管理方法及系统 |
CN107678972A (zh) * | 2017-10-27 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种测试用例的评估方法及相关装置 |
-
2018
- 2018-03-12 CN CN201810201987.1A patent/CN110262956A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662833A (zh) * | 2012-03-21 | 2012-09-12 | 天津书生软件技术有限公司 | 一种管理测试用例的方法 |
CN106033388A (zh) * | 2015-03-11 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 测试用例库管理方法及系统 |
CN107678972A (zh) * | 2017-10-27 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种测试用例的评估方法及相关装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633222A (zh) * | 2019-11-01 | 2019-12-31 | 中国银行股份有限公司 | 一种回归测试用例的确定方法及装置 |
CN111538669A (zh) * | 2020-04-29 | 2020-08-14 | 中国银行股份有限公司 | 一种基于历史问题回溯分析的测试案例抽取方法及装置 |
CN111538669B (zh) * | 2020-04-29 | 2023-09-22 | 中国银行股份有限公司 | 一种基于历史问题回溯分析的测试案例抽取方法及装置 |
CN111858371A (zh) * | 2020-07-28 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 软件测试方法、系统、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN103455396B (zh) | 电子设备硬件性能的测试方法及装置 | |
US9465724B2 (en) | Method, program, and system for generating test cases | |
CN110262956A (zh) | 一种测试用例选择方法及装置 | |
CN110399307A (zh) | 一种测试方法、测试平台及目标服务器 | |
CN106293803B (zh) | 一种应用程序控制方法及装置 | |
CN106201856A (zh) | 一种多版本性能测试方法及装置 | |
CN107220505A (zh) | 儿童发育能力评估方法及装置 | |
CN108376117A (zh) | 交互响应的测试方法和设备 | |
CN109359003A (zh) | 游戏服务器压力测试方法、装置及设备 | |
CN107038120B (zh) | 一种软件测试方法和设备 | |
CN106980571A (zh) | 一种测试用例集的构建方法和设备 | |
CN109460361A (zh) | 性能测试方法和装置、存储介质及电子装置 | |
CN109473121A (zh) | 语音合成质量测试方法及装置 | |
CN109933989A (zh) | 一种检测漏洞的方法及装置 | |
CN108632823A (zh) | 一种网络切换方法、终端及计算机存储介质 | |
CN112098756A (zh) | 电磁兼容问题定位方法、装置、设备及存储介质 | |
CN114722585A (zh) | 一种用于方案推演分析的数据处理方法及装置 | |
CN110297743A (zh) | 一种负载测试方法、装置和存储介质 | |
CN110457224A (zh) | 生成测试数据的方法及装置 | |
CN113537724A (zh) | 一种电网设施抗震安全风险评估方法及装置 | |
CN109976888A (zh) | 一种数据扫描方法、装置、设备和存储介质 | |
CN106874639B (zh) | 恒变幅加载下机械结构的疲劳寿命可靠度评估方法及装置 | |
CN105468503B (zh) | 一种软件测试方法及其设备 | |
CN106168924A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190920 |