浅析企业如何应用STEP模型进行软件测试过程改进
2020-04-14郭文欣
摘要:很多软件企业没有完整不变的需求作为测试依据,导致项目工作开展中测试人员很被动。针对这一行业现状,结合软件测试STEP过程改进模型,提出测试过程引导开发过程的测试预防共享策略。发挥测试人员把需求分析,设计,质量控制提前量化的作用。重新定位软件测试过程管理和控制流程,确立企业通过STEP过程改进模型预防质量风险的办法。
关键词:STEP模型;软件需求;软件测试过程改进
中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2020)04-0209-02
收稿日期:2019-10-28
作者简介:郭文欣(1988—),女(满族),重庆人,专任教师,硕士,研究方向为软件测试与管理。
1 软件测试过程现状
软件测试基础理论中,作为指导测试进行的测试依据可以是文档或者信息。测试过程可以依据它来进行测试分析及测试用例编写。在当前的大部分企业中测试依据多被认为是需求规格说明书或原型图等。但是,由于国内IT行业内需求分析力量薄弱,又或者是甲方用户需求模糊不定,需求文档或需求信息常常出现功能描述不清,歧义性,需求缺失等情况。很多团队需求变更的沟通只局限于用户、需求调研人员和开发团队之间,测试团队没有追踪需求。这些情况对测试工作质量保证具有一定负面影响,在需求文档始终得不到确定和修正的情况下,如何在测试过程中规避需求不一致和缺失带来的质量风险是值得思考的。
2 STEP过程改进模型的提出
早在20世纪中期,软件测试过程的演变就标志着软件质量成本效益的发展,软件测试过程管理已经成为软件质量的重要保证。早期的测试阶段从调试为主时期、证明为主、破坏为主时期、评估为主时期演变发展为预防为主时期21。
STEP(Systematic Test Evaluation Process系统化测试评估过程)过程改进模型是在证明成本效益过程中不断实践产生的以预防为主的生命周期模型,它包括测试中的某些评审和分析活动,包括:评审软件需求,确定是否可定义令人满意的测试标准;分析软件设计,确定针对设计的测试条件;评审产品,如测试计划和测试数据,确定其充分性[1]。
3 基于STEP指导企业测试过程改进
3.1 STEP过程改进模型的假设
STEP过程改进模型是非规范性的,企业使用STEP模型需要满足一些前提条件,见表1。
3.2 STEP过程改进模型的策略
基于STEP模型测试共享预防策略,测试人员在软件设计之前就应开发出全面的测试集,将测试集设计置于软件设计之前。在这一策略中,授予测试部门产品发布权或延迟发布权,测试人员应对产品执行时的失败承担责任,该策略由以下四个部分组成[2]:
(1)向开发人员提供质量测试计划和测试设计的清晰定义,包括指导方针、措施和示例;
(2)在软件设计之前要求基于需求信息的测试设计,在软件实现之前要求基于软件设计的测试设计;
(3)形成良好的测试计划、设计和执行记录文档;
(4)上级充分授权及批准结果。
4 基于STEP模型确立企业改进内容
通过STEP模型的策略,确立企业在过程实施中可分三个
要素设计测试。核心要素是基于软件需求信息的开发,测试计划必须对软件失效风险进行评估且在开发周期的最早期开始,测试人员在开发活动开始前参与市场需求调研产出需求设计,向客户、分析人员、设计人员和程序员展示软件需求和设计结果。第二要素以软件设计信息为基础,使用测试用例集来提供对用户和开发人员都可访问的软件测试用例设计集来反哺开发设计。最后的要素以软件实现信息为基础,测试用例设计及执行的同时产出新需求纳入产品的下一个开发版本。企业的过程改进活动见图1。
这一预防生 命周期测试过程改进活动,前期在设计、编码之前,就要进行测试需求设计和测试用例框架编写,把经过评审的测试需求,设计,质量控制提前量化。测试团队需要参加项目调研分析、参与各项讨论活动会议,跟踪记录详细需求(包括客户或需求人员的口頭约定)。深入掌握业务、国家行业规范、规避受法律法规限制的系统风险。这样才能跟踪到任何一个细小的需求点,同时对易用性、安全性进行测试集设计。项目团队全员参与评审,形成一个完备的测试覆盖面,用例设计和测试执行过程中对于需求的补充一律纳入下一个版本开发计划。当前版本产出测试报告记录和缺陷、评估记录[3]。
5 结束语
在实际项目开发中,作为测试人员,如何在需求不完备的情况下,利用自己的知识,技能,储备和经验,应用各方面的条件来实现测试过程。作为测试规划和设计的先决条件,STEP模型强调需求分析式的预防模型,设法解决了测试被动到主导的问题。将测试引导开发视为风险管理的一种形式,能够较好控制软件失效的预期成本。
参考文献:
[1]Gelperin D,Hetzel B.The growth of software testing[J].Communications of the ACM,1988,31(6):687-695
[2]Rex Black.高级软件测试经理[M].刘琴,译.北京:清华大学出版社,2012.
[3]商惠华.基于过程改进的软件质量管理模型[J].计算机工程与设计,2011,32(5):1725-1729.
[通联编辑:代影]