软件测试用例复用策略研究及实现

2020-10-09 10:24李春秋
电脑知识与技术 2020年22期
关键词:测试用例软件测试模型

李春秋

摘要:本文研究了软件测试复用及可复用软件测试用例的设计过程,提出了可复用的软件软测试用例策略,建立了可复用的软件测试用例使用方式模型,解决了当前软件测试量大,效率低下的问题,提高了软件的质量。

关键词:软件测试;测试用例;复用;模型

中图分类号:G642 文献标识码:A

文章编号:1009-3044(2020)22-0218-03

开放科学(资源服务)标识码(OSID):

1 引言

随着软件产业化发展,软件系统的规模越来越大,结构越来越复杂。如何保障软件的质量,提高用户使用体验,是当前软件从业者面临的一个严峻问题。软件测试是提高软件质量的有效手段,是软件开发的重要组成部分[1],软件测试的关键点在于设计和执行测试用例,而测试用例的设计与测试人员经验以及测试人员对测试软件需求的熟悉程度密切相关,不同的测试人员的由于书写习惯和对需求的理解的差别,导致了大量的测试用例虽然面面俱到,但冗余现象严重,浪费了大量的人力、物力,且不利于后期维护软件。测试用例复用技术的发展,解决了测试用例设计由于测试人员经验不足带来的问题,同时提高了测试用例的设计质量,有效地提高了测试效率.保障了软件的质量。

2 软件测试中测试用例复用

2.1 软件测试复用

软件测试复用是软件开发中的一个重要阶段,它根据软件开发过程中各阶段的需求说明、程序代码设计测试用例,并执行这些测试用例,以期发现软件缺陷或者错误[2]。因此,软件测试的复用主要包括测试需求的复用、测试计划的复用及测试用例的复用。

(1)测试需求的复用,就是分析测试需求定义,确定软件测试的全部要求,提出软件测试的过程与方法,规范测试流程。

(2)测试计划的复用,就是指描述测试计划的范围、测试方案、测试策略、测试报告和软件缺陷的分析撰写等。

(3)测试执行的复用,就是设计测试用例集,执行每个测试集并记录测试结果。因此,测试执行复用主要是指测试用例的复用。

2.2 测试用例的可复用性

随着软件工程的发展,当前应用软件大部分都是模块化,只要根据需求修改一下模块源代码即可适用新的软件中,其架构不用变化太大。因此,对于这种模式的应用软件之前所采用的测试用例在大部分新的软件上也是可以使用的,也就是说这些测试用例都是可以复用的。实际上,在模块的开发过程中,底层被测试对象的测试用例常常用于高层被测对象中,如单元测试阶段的测试用例可以在集中测试阶段使用;集成测试阶段的测试用例可以在确认测试中复用等。

测试用例复用就是把一个已经执行的测试用例用在该软件新的版本或者其他軟件的测试中[3]。可复用的测试用例具有通用性、独立性、和标准化的特点。

3 软件测试用例复用策略

3.1可复用测试用例设计过程

正确地刻画、描述和管理可复用的测试用例是实现测试用例复用的关键技术[1]。因此,软件测试用例复用测试环境变化时,当前测试用例及其相关的测试用例都可能相继失效。所以,测试用例设计要注意一下几个方面:

(1)设计的测试用例之间必须相互独立。

(2)设计的测试用例必须具有通用性。对于被测软件的明确测试需求,为满足测试用例通用性的要求,我们应该关注是测试思路。目前,为了使测试用例是可操作的、可复现的,测试用例设计一般都要求很详细,但是这样的测试用例很难在其他软件测试中使用,只能在同一软件不同版本中测试使用。因此,需要对测试用例进行处理,减少和特定功能相关的信息以及与被测软件的相关度。但是为了软件测试用例可以复用,在设计用例时可以对差异之处进行预测,然后描述出来。该测试用例被复用时,测试人员可以适当修改该用例即可满足特定的需求。

(3)设计的测试用例必须使用统一的规范的自然语言或者术语描述,必须是完整的、标准的。

按照测试用例设计原则,并结合复用技术,可复用测试用例的一般描述见表1。

3.2 可复用测试用例的复用策略

测试人员制定测试计划和方案时,根据测试需求文档和被测软件使用说明,设计测试用例类型,然后在用例库中搜索与该测试项相似或者相同的测试用例,如果能查询到类似的测试用例,则提取已有的测试用例,将该测试用了具体化添加到测试方案中,如果检索不到可复用的测试用例,测试人员按照复用测试用例设计原则,生成新的测试用例并添加到测试方法中,方案执行完成后,新的测试用例检验无误后添加到测试用例中,这样可以收集大量的测试用例,如图1:测试用例复用策略。另外,每年固定几个日期对测试用库进行维护,合并相同或者相近的测试用例,删除冗余的测试用例。

3.3 可复用测试用例使用方式

文献[2]提出了一个复用测试用例使用流程:根据测试场景的用例图定义测试用例类型,在根据所定义的测试用例到测试用例库中查找是否有和当前测试用例类型相同的测试用例。如果查找到相同的测试用例,则将用例添加到设计文档中,程序结束。如果没有查找到相同的测试用例,则根据需求重新编写测试用例并执行,如果执行结果和预期结果一致,则将该用例添加到测试用例库中,以便下次复用,程序结束。这个测试用例使用方式只适用于不需要修改当前测试用例的情况,违背了可复用测试用例的通用性特点。因此,该测试用例复用方式在实际测试时不适用。

本文提出了基于复用的软件测试用例使用方式模型。该模型针对一个实践中的测试软件,和其他复用的软件测试模型不同,该模型融合了软件测试用例设计、测试用例修改及测试用例的复用,如图2:基于复用的软件测试模型。

在“复用需求”中,测试人员分析被测软件的需求文档、使用说明、功能等,对测试用例进行描述,并确定测试策略、测试用例类型、测试领域等。

在“用例检索查找”中,测试人员用检索工具在当前用例构建库中查找满足要求的测试用例。这种方式查询的测试用例一般有三种可能:第一种是存在且合理的,则直接复用;第二种是不存在,则创建新的测试用例,设计新的测试用例要满足测试用例复用特点;第三种是查询到一些相似的测试用例构件,则对其进行修改、完善该用例以满足当前需求后复用。

在新添加用例过程中,复用后新添加及完善后的测试用例添加到新用例构件库中,最后添加到用例历史库中,采用这种方式收集测试用例,可以保证可复用测试用例的数量和质量,为以后软件测试时提供方便。

4 测试用例复用实现的过程

测试用例复用一般分为同一个软件不同版本或者不同阶段测试时的复用以及相似软件之间的复用。

(1)同一个软件测试复用。同一个软件在开发过程中或者不同版本测试时,可以用到测试用例复用。开发过程中测试用例复用是指低层测试对象的测试用例可能部分地用到高层对象的测试中[3],如集成测试时所采用的测试用例可以在系统测试时使用。高版本软件测试时,可以到测试用例库中检索该软件上一个版本测试时的测试用例进行测试。测试结束后,如果添加新测试用例被有选择地添加到测试用例历史库中,用作以后测试软件测试时使用。

(2)相似软件的测试。该类型软件测试时主要考虑软件开发时的编程语言、架构、软件所属行业、软件的相关功能及运行环境。并判断两者之间的相关度。如果相关度比较高,则可以在测试用例库中检索相关需求的测试用例进行复用。这种复用主要是复用测试方法、测试数据等。

5 总结

介绍了软件测试的复用,描述了设计可复用的软件测试用例的过程及复用策略,提出了一种可复用测试用例库的使用方式,采用测试用例库的使用方法在相同软件以及相似软件之间实现了的测试用例复用。从而提高了软件测试的效率,保证了软件产品的质量。

参考文献:

[1]夏启明.软件测试及评价的复用策略研究及其实现[Dl.武汉:武汉大学,2010.

[2]尚冬娟,郝克刚,葛玮,等.软件测试中的测试用例及复用研究[J].计算机技术与发展,2006,16(1):69-72.

[3]尹平.可复用测试用例研究[J].计算机应用,2010,30(5):1309-1311,1355.

[4]王珊珊.软件测试中可复用測试用例研究[J].信息技术与信息化,2015,18(3):119-121.

[5]芮素娟.基于XML的测试用例复用研究[D].重庆:西南大学,2006.

[6]王明珠,软件测试中测试用例复用的研究[J].信息系统工程.2014,136.

[7]储海华.计算机维护类软件测试用例的设计及复用研究[J].软件产业与工程,2013(5):51-56.

【通联编辑:梁书】

猜你喜欢
测试用例软件测试模型
重要模型『一线三等角』
基于SmartUnit的安全通信系统单元测试用例自动生成
基于OBE的软件测试课程教学改革探索
重尾非线性自回归模型自加权M-估计的渐近分布
EXCEL和VBA实现软件测试记录管理
基于混合遗传算法的回归测试用例集最小化研究
关于软件测试技术应用与发展趋势研究
3D打印中的模型分割与打包
软件测试工程化模型及应用研究
FLUKA几何模型到CAD几何模型转换方法初步研究