一种基于决策树的测试用例排序方法和装置制造方法及图纸

技术编号:19215604 阅读:22 留言:0更新日期:2018-10-20 06:41
本公开提供一种基于决策树的测试用例排序方法,解决执行测试用例时的顺序不合理的问题,根据以往的测试用例,预测新测试用例存在bug的可能性高低,并对bug率可能性更高的用例先行测试,更合理科学的执行测试,可大大提高测试的效率,在开发者和开发风格相对稳定的时候,可通过对之前大量的测试用例及bug情况通过决策树的方式进行训练,对新提交的测试用例可以精准预测,按严重度进行排序,快速的发现bug,间接提高开发修复的效率。

【技术实现步骤摘要】
一种基于决策树的测试用例排序方法和装置
本公开涉及自动化测试领域,更具体地,涉及一种基于决策树的测试用例排序方法和装置。
技术介绍
为了应对需求的快速变化,软件产品更新迭代,由此给测试人员带来的是繁多的测试任务,而测试时间常常是有限而紧迫的,但又必须保证产品的逻辑不能出现大的过错,所以设计的大量测试用例,需要分优先级,对于重要且更容易出错的用例先行测试,以更快地找到更多的bug并修复。决策树是一种能帮助决策者进行序列决策分析的有效工具,它是一种学习预测模型,代表的是对象属性与对象值之间的一种映射关系,该模型能够对新出现的对象给出正确的分类。目前执行测试用例的顺序一般是按页面分功能模块逐个进行,或者是测试经理根据经验去判断哪些功能更重要而让测试人员先测,其他不那么重要的功能后测。按页面逐个模块测试的方法在测试时可能一目了然,但可能会把大部分时间花在不那么重要的地方,重要的部分在最后而匆促测试,如果以测试经理按经验判断,则人为主观的影响比较大,准确性不高。
技术实现思路
本公开的目的是解决现有技术的不足,解决执行测试用例时的顺序不合理的问题,根据以往的测试用例,预测新测试用例存在bug的可能性高低,并对bug率可能性更高的用例先行测试,更合理科学的执行测试。为了实现上述目的,根据本公开的一方面,提供一种基于决策树的测试用例排序方法,包括步骤:步骤1,编写测试用例并标记测试用例的特征属性;步骤2,执行测试用例,记录每条测试用例输出结果的bug数量及bug严重性;步骤3,利用决策树模型对测试用例的特征属性和bug数量进行训练和预测,获得决策树模型A;步骤4,提取步骤3预测的bug数量大于0的测试用例及其bug严重性,使用决策树模型对bug严重性进行训练和预测获得决策树模型B;步骤5,对于新的测试用例,以决策树模型A预测是否会有bug,如果有bug则以决策树模型B预测bug严重级别;步骤6,根据预测结果按bug严重级别的高低顺序进行排序。进一步的,在步骤1中,所述测试用例的特征属性至少包括类型、功能模块、所需时间任意一种,其中,所述类型至少包括UI、功能、接口。进一步的,在步骤2中,所述bug严重性的级别根据bug的数量进行判断,1~2个为低级、2~4个为中级、4~8个为高级、大于8个为特高级,若用例对应的bug数量为0,则它的bug严重性的级别值设为空。进一步的,在步骤3中,训练获得决策树模型A的方法为:将bug数量与测试用例的特征属性按2比1的比例分为训练集和测试集,以训练集和测试集训练决策树模型获得决策树模型A。进一步的,在步骤4中,训练获得决策树模型B的方法为:取bug数量不为0的测试用例及其bug严重性与测试用例的特征属性按2比1的比例分为训练集和测试集,以训练集和测试集训练决策树模型获得决策树模型B。本专利技术还提供了一种基于决策树的测试用例排序装置,其特征在于,所述装置包括:特征标记单元,编写测试用例并标记测试用例的特征属性;计数单元,执行测试用例,记录每条测试用例输出结果的bug数量及bug严重性;决策树模型A生成单元,利用决策树模型对测试用例的特征属性和bug数量进行训练和预测,获得决策树模型A;决策树模型B生成单元,提取步骤3预测的bug数量大于0的测试用例及其bug严重性,使用决策树模型对bug严重性进行训练和预测获得决策树模型B;级别预测单元,对于新的测试用例,以决策树模型A预测是否会有bug,如果有bug则以决策树模型B预测bug严重级别;排序单元,根据预测结果按bug严重级别的高低顺序进行排序。本公开的有益效果为:本专利技术可大大提高测试的效率,在开发者和开发风格相对稳定的时候,可通过对之前大量的测试用例及bug情况通过决策树的方式进行训练,对新提交的测试用例可以精准预测,按严重度进行排序,快速的发现bug,间接提高开发修复的效率。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为根据本公开的实施方式的一种基于决策树的测试用例排序方法步骤图;图2所示为根据本公开的实施例一种基于决策树的测试用例排序装置图。具体实施方式以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为根据本公开的实施方式的一种基于决策树的测试用例排序方法步骤图;图2所示为根据本公开的实施例一种基于决策树的测试用例排序装置图,下面结合图1、图2、来阐述根据本公开的实施方式的基于决策树的测试用例排序方法。在本实施例中,提供了一种基于决策树的测试用例排序方法,根据本公开的一方面,提供一种基于决策树的测试用例排序方法,包括步骤:步骤1,编写测试用例并标记测试用例的特征属性;步骤2,执行测试用例,记录每条测试用例输出结果的bug数量及bug严重性;步骤3,利用决策树模型对测试用例的特征属性和bug数量进行训练和预测,获得决策树模型A;步骤4,提取步骤3预测的bug数量大于0的测试用例及其bug严重性,使用决策树模型对bug严重性进行训练和预测获得决策树模型B;步骤5,对于新的测试用例,以决策树模型A预测是否会有bug,如果有bug则以决策树模型B预测bug严重级别;步骤6,根据预测结果按bug严重级别的高低顺序进行排序。其中,决策树模型是一种预测模型,用来进行分类,是一种有监督学习。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树模型的预测决策程序如下:(1)绘制树状图,根据已知条件排列出各个方案和每一方案的各种自然状态。(2)将各状态概率及损益值标于概率枝上。(3)计算各个方案期望值并将其标于该方案对应的状态结点上。(4)进行剪枝,比较各个方案的期望值,并标于方案枝上,将期望值小的(即劣等方案剪掉)所剩的最后方案为最佳方案。决策树模型建模及其预测过程:1、收集读取数据。2、决策树训练数据准备:创建随机的训练数据集(90%)和测试数据集(10%)。使用order()函数以升序或降序的方式对数据列进行重新排列,可以结合runif()产生0-1随机数;set.seed()可以用来在一个预定义的序列中生成随机数,确保如果重复这里的分析,可以获得相同的结果,将数据划分为训练数据(90%或者900条记录)和测试数据(10%或100条记录)。3、基于数据训练模型,输出一个混淆矩阵,交叉列表,表示模型对训练数据错误分类的记录数。4、评估模型的性能,使用predict()函数,应用于测试数据集。进一步的,在步骤1中,所述测试用例的特征属性至少包括类型、功能模块、所需时间任意一种,其中,所述类型至少包括UI、功能、接口。进一步的,在步骤2中,所述bug严重性的级别根据bug的数量进行判断,1~2个为低级、2~4个为中级、4~8个为高级、大于8个为特高级,本文档来自技高网...

【技术保护点】
1.一种基于决策树的测试用例排序方法,其特征在于,包括如下步骤:步骤1,编写测试用例并标记测试用例的特征属性;步骤2,执行测试用例,记录每条测试用例输出结果的bug数量及bug严重性;步骤3,利用决策树模型对测试用例的特征属性和bug数量进行训练和预测,获得决策树模型A;步骤4,提取步骤3预测的bug数量大于0的测试用例及其bug严重性,使用决策树模型对bug严重性进行训练和预测获得决策树模型B;步骤5,对于新的测试用例,以决策树模型A预测是否会有bug,如果有bug则以决策树模型B预测bug严重级别;步骤6,根据预测结果按bug严重级别的高低顺序进行排序。

【技术特征摘要】
1.一种基于决策树的测试用例排序方法,其特征在于,包括如下步骤:步骤1,编写测试用例并标记测试用例的特征属性;步骤2,执行测试用例,记录每条测试用例输出结果的bug数量及bug严重性;步骤3,利用决策树模型对测试用例的特征属性和bug数量进行训练和预测,获得决策树模型A;步骤4,提取步骤3预测的bug数量大于0的测试用例及其bug严重性,使用决策树模型对bug严重性进行训练和预测获得决策树模型B;步骤5,对于新的测试用例,以决策树模型A预测是否会有bug,如果有bug则以决策树模型B预测bug严重级别;步骤6,根据预测结果按bug严重级别的高低顺序进行排序。2.根据权利要求1所述的一种基于决策树的测试用例排序方法,其特征在于,在步骤1中,所述测试用例的特征属性至少包括类型、功能模块、所需时间任意一种,其中,所述类型至少包括UI、功能、接口。3.根据权利要求1所述的一种基于决策树的测试用例排序方法,其特征在于,在步骤2中,所述bug严重性的级别根据bug的数量进行判断,1~2个为低级、2~4个为中级、4~8个为高级、大于8个为特高级,若用例对应的bug数量为0,则它的bug严重性的级别值设为空。4.根据权利要求1所述的一种基于决策树的测...

【专利技术属性】
技术研发人员:梁徽杨燕清郭俊杰江洁
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1