APP下载

基于业务驱动的软件测试过程改进研究分析

2020-12-09刘瑞杰杨文青

数字技术与应用 2020年10期
关键词:软件测试

刘瑞杰 杨文青

摘要:新技术背景下,软件研发发生了巨大的变化——在传统技术基础上广泛运用新技术,如物联网、大数据、云计算、机器学习、人工智能等,这对软件测试提出了新的要求和挑战。软件测试周期更短、可靠性和标准化程度更高等特点日益突出,软件测试过程不断改进和优化成为软件测试的新动力。

关键词:软件测试;测试过程改进;业务驱动;BDTM;测试组织资产库

中图分类号:TP306 文献标识码:A     文章编号:1007-9416(2020)10-0000-00

0引言

软件测试的经典定义是在规定条件下对程序进行操作,发现软件存在的错误,衡量软件质量,并对其是否满足设计要求进行评估的过程。软件开发全生命周期的软件项目测试,也是保障软件开发质量的重要技术手段,有效的促进和提升软件的稳定性和可靠性。此外,而随着信息技术的快速发展,软件研制模式和研发技术也发生了巨大变化,尤其是大数据、云计算技术的不断成熟和应用,以及互联网+时代的来临都给软件测试带来了新的挑战,对高效专业的软件测试要求日益迫切。

1软件测试的新变化

伴随着软件开发技术的发展,作为软件开发整个生命周期的软件测试发展将会出现新的特点:(1)软件测试周期短,软件研发技术的成熟以及项目的迭代开发等因素必然要求更快和更新的速度,因此软件测试周期需要更快。(2)软件可靠性测试要求更高。研制单位更加注重自测试,软件质量得到很大的提高,这势必对软件的可靠性更加重视,加强软件的可靠性测试有助于提高软件的稳定性。(3)软件测试将趋于标准化。各业务领域的软件测试规范相继推出,这使得软件测试日益规范化和标准化。

软件测试的新特点给软件测试管理提出了新的要求,而软件测试管理是在软件测试的整个过程中,运用合理的管理方法和管理工具進行监控,减低测试费用,提升测试效率。也就是说,软件测试的内涵是对测试人员(People)、测试过程(Processes)、测试工作产品(Products)的管理,即3P管理[1]。3P 管理给出了软件测试管理的三个要素,其中测试过程是非常重要的,决定了软件测试有效性、可靠性。

2软件测试过程模型

2.1 W模型

由Evolutif公司提出,主要强调的是软件测试伴随着整个软件开发周期,并穿于整个软件周期,而且测试对象不仅仅是程序,需求、设计及相关的文档同样要测试[2]。W模型体现了测试与开发的同步性,以及可操作性,便于发现软件问题。然而,该模型局限性也比较明显,无法适应软件开发复杂多变的特点。

2.2 TPI模型

TPI(Test Process Improvement)是荣获欧洲测试杰出奖的软件测试大师Martin Pol和Tim Koomen提出的软件测试过程模型,该模型目前是西方工业界和软件公司、研究机构普遍采用的测试过程方法,并基于TPI建立了其测试体系和测试规范;图1所示的TPI 模型能够检视您组织的测试过程成熟度,帮助定义渐进的和可控的改进步骤,建立其测试体系和测试规范。这在TPI NEXT中进行了优化,将20个域优化为16个域。TPI模型给出的软件测试过程持续改进过程对软件过程改进提供了很大的指导。

2.3 TMMi模型

TMMi模型与CMMI相似着眼于不同成熟度级别的软件测试,使用成熟度级别作为测试过程评估和改进的概念。将测试过程成熟度分为五个级别:初始状态、已管理、已定义和已度量、持续改进[3]。TMMi模型是一个测试过程改进的参考模型,主要用于确定组织当前处于该模型的哪个成熟度级别。TMMi仅仅明确了测试过程到什么程度,缺乏测试过程如何改进的相关描述。

3基于业务驱动的软件测试过程改进研究

3.1软件测试过程改进

TMAP(Test Management Approach)测试管理方法模型和TPI(Test Process Improvement)测试过程改进模型已经得到广泛的应用,其中TMAP主要是基于业务驱动测试管理(如图2所示),优势在于客户能参与测试过程的控制;TPI是基于业务驱动测试过程提升(如图1所示),优势在于更好分析当前的测试现状,从而得到测试的强项和薄弱环节,有助于建立一个提高测试过程能力的明确目标。然而对于测试组织来讲,总是希望项目以最高质量,最低成本,最短时间完成。测试过程改进的目标就是帮助测试组织实现项目目标的有效方法。

3.2基于业务驱动的软件测试过程改进研究分析

按照TMMi的规定,通过测试过程不断的改进和优化可以提高测试组织的能力成熟度。同时测试组织在测试项目过程中产生并积累了大量的独特的数据资源,我们称之为测试组织过程资产。组织过程资产的累积程度是衡量一个测试项目组织能力成熟度的重要指标,也构成了组织的核心竞争力。鉴于此,为了推进软件测试过程改进,并针对许多软件总是为了解决用户的某类业务问题的特点,结合TMAP(Test Management Approach)测试管理方法模型和TPI(Test Process Improvement)测试过程改进模型,提出了基于业务驱动的软件测试过程改进模型,如图3所示。

图3所示基于业务驱动的软件测试过程改进模型,受到“业务/任务(测试目标)”或者“确认测试业务/任务” 的驱动,软件测试过程得以展开,软件测试过程改进离不开组织资产库。软件测试过程通过入库(资产库)进行评估,并给出改进建议,为新的测试过程提供参考,从而形成良好的循环机制。基本的过程如下:

(1)业务/任务(测试目标):由客户(不同业务类型的客户)发布任务/业务,启动、招投标形式。

(2)投标:由测试组织响应招标的业务/任务,通过组织资产库获取投标相关的信息(测试组织资质、业务服务范围、人员能力、技术能力、测试设备和工具、相关经验能力等),编制标书并进行投标。确认测试业务/任务后,将业务基本信息按照业务类型、被测设备、软件基本信息、合同进行入库(组织资产库)。

(3)確认测试业务/任务:由客户评标,选择中标的测试组织,并签订合同确认测试业务/任务。客户也可直接指派或者委托等方式直接与测试组织确认测试业务/任务。

(4)测试过程:由测试组织启动,组织从组织资产库中获取相关的业务数据(业务数据包括被测设备、软件基本信息、测试策略、测试方法、测试说明、测试记录、问题报告、改进建议等),执行测试计划、测试实施、测试总结。

(5)组织资产库:主要包括体系库(管理体系:组织资质、业务规范、操作程序、技术能力、服务范围、人员组织、测试设备、测试工具、测试文档模板等等)、构件库(按照业务类型、被测设备对各个配置项软件测试过程文件、以及经过评审的测试大纲和测试报告、合同等)、培训库(培训成果、培训内容、培训记录等)、过程库(经验教训、典型文档范例、最佳实践、过程改进建议等等)、度量库(公共度量集、客户满意度度量集、成本度量集、度量报告等)。组织资产库由测试组织进行管理、维护和使用。

基于业务驱动的软件测试过程改进模型以组织资产库为核心,测试组织在投标过程中可反复使用资产库中的体系库、构件库、过程库获取相关业务信息,半自动化生成投标文档,大大提高了投标文档的编制效率。同时组织资产库与测试过程形成的良性循环机制,测试过程既可以通过组织资产库获取过程改进建议,改进测试策略优化测试过程,又可以反复利用组织资产库进行测试方法复用、测试说明复用。这不仅仅有利于测试组织对测试过程的优化,大大节省测试时间,降低测试成本,提高测试效率,也有利于提升组织的能力成熟度。

4结论

本文根据新时代软件测试的特点和变化,对软件测试W模型、软件测试过程改进模型(TPI)以及测试成熟度模型集成(TMMi)进行分析,结合业务驱动测试管理(BDTM),给出了基于业务驱动的软件测试过程改进模型,该模型由业务驱动,并以组织资产库为过程改进的核心,通过当前规范化的测试过程为依托,使得软件测试过程更加符合项目实践。

参考文献

[1] 陈文萍.基于遗传算法的软件测试用例优化技术研究[D].北京:北京化工大学,2009.

[2] 胡玮.软件测试过程模型的改进与应用[D].杭州:浙江大学,2006.

[3] 冯超男,赵卫东,张丽.基于TMM模型的软件测试成熟度探究[J].电脑知识与技术,2016(17):226-228.

收稿日期:2020-08-22

作者简介:刘瑞杰(1982—),男,河南郑州人,硕士研究生,工程师,研究方向:软件测试与项目管理。

Research and Analysis of Software Testing Process Improvement Based on Business Driven

LIU Rui-jie1,YANG Wen-qing2

(1.The 32nd Research Institute of China Electronics Technology Group Corporation,Shanghai  201800;

2.Xinzheng Engineering Quality Supervision Station,Zhengzhou  Henan  451100)

Abstract: Under the background of new technology, great changes have taken place in software development—On the basis of traditional technologies, new technologies are widely used, such as Internet of things, big data, cloud computing, machine learning, artificial intelligence, etc., which puts forward new requirements and challenges for software testing. Software testing has new characteristics, such as shorter cycle, higher reliability and higher standardization, and the continuous improvement and optimization of software testing process has become a new driving force for software testing.

Keywords: software testing; testing process improvement; business driven, business driven testing management; test organization asset library

猜你喜欢

软件测试
基于OBE的软件测试课程教学改革探索
基于MBD模型自动生成测试用例的软件测试方法
计算机软件测试方法的研究
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
一种航空机载软件测试项目的进度改进模型
军用软件测试文档生成设计与实现
软件测试工程化模型及应用研究
智能电能表软件测试技术概述
《软件测试》课程教学策略研究