一种基于软件测试用例库的设计方法

2021-09-18 07:49马萌赵煜
计算机与网络 2021年15期
关键词:软件测试

马萌 赵煜

摘要:本文设计了一种软件测试用例库,目的是实现软件测试用例的重复利用性,软件测试复用一方面可以解决测试人员经验不足带来的技术问题,另一方面还避免了设计用例设计过程的重复劳动,提高了测试效率。本文首先介绍软件测试用例的设计思想和具体编写方法,再提出软件测试用例库设计方法,将测试用例汇总起来,提取通用测试用例,通过专家评审,形成标准的软件测试用例库,供软件开发人员及测试人员使用,测试用例库的使用可缩短软件开发周期和降低软件开发成本。

关键词:软件测试;测试用例库;软件质量

中图分类号:TP316文献标志码:A文章编号:1008-1739(2021)15-48-3

0引言

随着软件无线电技术在项目中的广泛应用,软件种类多样化、复杂程度越来越高,软件行业加大了软件研制过程的测试力度,提升软件质量是研究的重要课题。软件測试工作是鉴定软件正确性、完整性、安全性和质量的过程。软件测试为保证软件可靠性定制了多种完整有效的测试方案,其中软件测试用例库的设计就是保证软件质量的一种有效手段。设计最少的测试用例、实现最大的测试覆盖率成为测试领域中研究的主要对象。软件测试用例库汇总以往的测试用例,将具有共同特点或类似特点的测试用例总结起来,将具有通用性、独立性、有效性、标准化和完整性的特点测试用例汇总在一起[1],通过专家评审,形成一种测试可借鉴的通用资料,供以后软件开发人员及测试人员使用,达到资源共享。

近几年软件测试服务已成为发展趋势,国内软件测试服务还处于发展初期,通过软件测试服务模式来提供软件测试用例库复用,是软件行业发展的趋势,也是软件测试领域发展的趋势。以往的软件复用指的是测试流程复用、测试方法复用以及测试用例复用,其中测试用例复用对于软件测试最为重要。

1通用测试设计方法

软件测试就是不断进行测试、排错、改错、回归测试、排错和改错,直至软件达到用户要求的一个循环过程[2],根据测试过程及输出结果验证软件正确性,并且给出相关测试报告。软件测试按照开发阶段划分,可分为单元测试、集成测试和合格性测试,其中各个阶段的测试还分为配置项软件测试和系统测试;按照软件类型划分,可分为嵌入式类软件和平台类软件,按照是否运行可分为静态测试和动态测试,其中动态测试分为白盒测试和黑盒测试。具体测试方法分类如图1所示。

测试用例是软件测试过程的核心,软件测试成本的大部分用于测试用例的设计,详细准确的测试用例可以提高测试质量。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。每一条测试用例都包含测试输入及测试步骤,执行测试用例可发现软件中错误的数据和逻辑关系。测试用例的设计与测试人员的个人习惯及测试经验息息相关,不同测试人员编写的测试用例具有差异性,甚至同一个人在不同时期编写的测试用例也具有差异性,会对软件测试结果产生不同的影响。进行软件测试用例通用性设计,可以将软件开发工作及测试工作做得“更快、更好、更全面”,即更快的设计测试用例,在测试过程中节省更多的人力及时间成本。测试用例主要内容如图2所示。

2软件测试用例库设计

2.1测试用例库设计

在软件领域,软件功能存在可借用性,因此测试用例也存在相同或相似的地方,针对这一现象设计了软件测试用例库,目的在于汇总以往测试用例,达到测试用例的继承,为后期设计测试用例节约时间。

测试用例库汇总现有软件已执行的测试用例,将具有共同功能、性能的测试用例归类汇总,测试用例库能否被重复使用取决于测试用例的通用性。为了实现测试用例的通用性,提高测试用例的复用程度,依据GJB5000、国家软件标准和企业标准,测试用例的设计采用如下规则[3]:

①共性分析:对同一领域具有相似需求的被测软件进行共性分析,分析其功能、性能等共同特点,根据它们的共性挖掘出可通用的测试点,比如大多数软件都具有登陆功能,便可将登陆的测试用例列入测试用例库。

②编写统一的测试用例库:根据共性分析,选出具有可复用性的测试用例,然后根据相关国家及企业标准,对测试用例做出统一的编写及规则设计,统一用例编写模板。用例模板包括用例名称、用例标识、用例目的、前提条件、测试输入、测试方法和步骤、预期结果、评价准则、假设与约束及实测结果等。

③测试用例的评审:测试用例库设计完成之后,组织相关软件设计人员、测试人员以及评审专家对测试用例进行逐条评审,确保测试用例的正确性,通过评审的用例以后可以直接使用。

④分类划分测试用例库:由于软件种类繁多,一旦形成共用的软件测试用例库,如果不分类,在使用过程中会比较繁琐、不容易查找,因此根据不同的软件类型将测试用例进行分类,这是很关键的一步,有利于使用者查找,并且保证测试在各自领域的独立性。

⑤测试用例入库:将通过测评和分类后的测试用例,根据其属性和功能类别录入测试用例库中[4],并作为专门的软件资产。

⑥完善测试用例:在测试过程中会不断发现各种共性的测试点,及时汇总新的测试用例,定期评审补充至测试用例库,对于测试用例库中已有的测试用例,在测试过程如发现不足,应及时修正,做到测试用例库越来越完善。

2.2可复用测试用例的管理

可复用测试用例的管理包括测试用例的存储、检索、复用及维护等[5]。测试用例库根据软件类别分类汇总,对于出现概率多的用例进行单独汇总,例如安装卸载功能、登录功能、参数设置功能、日志记录查询功能和修改密码功能等。汇总的测试用例符合测试用例设计规则,后期遇到新项目,测试人员通过对比找出一版最为接近的,在其基础上修改即可[6]。这样不仅在编写测试用例环节可节约一部分时间,为项目缩短工期,而且选择一版设计最为详细的测试用例,可更全面地测试被测软件,提高软件质量,提升软件质量目标。

软件测试用例库使用Excel制作,根据软件类型分为不同的sheet表,每个sheet表中详细介绍各类用例具体测试方法及步骤,以及预期结果,方便查阅,具体设计如图3所示。

梳理测试用例分析并统计用例出现的概率,分类汇总各类测试用例,对于大概率测试用例重点标注,供不同的测试人员查阅,能有效提高设计人员效率,降低软件缺陷密度,进一步提升软件质量。安装卸载测试用例库部分内容示例如表1所示。

2.3测试用例库维护

测试用例库的维护需要管理人员定期补充测试用例,分类汇总,尽可能详细地全面覆盖测试指标,查漏补缺,逐步细化用例分类及出现概率,增加新研制软件测试用例,以适应技术发展趋势。对于后期补充的测试用例,定期进行专家、软件质量师和标准化审核,及时删除冗余用例,避免重复用例出现。随着软件技术的发展和测试用例数量的不断增加,对不再具备复用价值的测试用例移出测试用例库,以便提高搜索和使用效率建立长期维护机制,不断完善测试用例库,实现价值共享。

3测试用例库应用效果

测试用例库中标注的易出现的测试问题对设计人员产生指导效应,有效防止软件设计初期出现问题,更早避免缺陷,提高设计人员设计水平,提高设计效率。测试用例库中的测试用例都是经过专家评审的,是多年来的测试实践积累下来的成熟测试用例,能有效防止缺陷发生。除此之外,测试用例的优劣取决于测试设计师的经验和水平,并且直接影响软件测试的效率,测试用例库的使用节约了测试人员设计测试用例时间,对于新入职的测试人员起到有效的指导作用,提高设计测试用例的效率,从而降低软件测试成本。

4结束语

设计软件测试用例库的目的是增强软件测试用例通用性、复用性,进一步扩充测试用例库的规模,完善测试用例库覆盖领域,为用例的复用提供广阔的空间。在后期可以专门开发一款测试用例库软件,实现测试用例修改,直接导出应用,比起现有的Excel更方便管理、维护和使用。在软件测试用例库的使用过程中还存在不少问题,需要不断总结经验,及时更新维护测试用例库,使用更好的管理软件进行更为有效、合理的管理,将测试用例库进一步推广使用,更有效地提高测试效率。

参考文献

[1]张娟.软件测试中测试用例复用的研究[D].上海:上海大学2012.

[2]范勇,兰景英,李绘卓.软件测试技术[M].西安:西安電子科技大学出版社,2009.

[3]候成杰,江云松.航天器软件测试技术与实践[M].北京:国防工业出版社,2017.

[4]中华人民共和国国家质量监督检验检疫总局,中国国家标准化管理委员会.计算机软件测试规范:GB/T15532-2008[S].北京:中国标准出版社,2008.

[5]刘佳,王丽,杨俊叶.计算机软件测试方法及应用分析[J].科技风,2020(9):119.

[6]国家市场监督管理总局,国家标准化管理委员会.系统与软件工程:GB/T38634-2020[S].北京:中国标准出版社,2020.

猜你喜欢
软件测试
软件测试方向人才培养“1+X”融合研究
大数据背景下软件测试技术的发展
软件测试课程教学改革探讨
关于 Web 应用系统的软件测试的研究
核心概念与案例驱动的软件测试课程教学研究
军用软件测试项目管理系统设计与实现
智能手机菜谱软件的设计
软件测试发展现状及前景的探讨