软件测试阶段的版本管理研究

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:amperezh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着信息化技术的发展,软件测试作为软件工程中的重要环节逐渐受到重视。为保证测试结果的准确性,在测试过程中对软件版本的管理尤为重要。本文通过对软件版本管理技术和方法的研究,结合测试阶段的特点,提出了一种基于职责、流程、规则、属性四要素的软件版本管理方法(DFRA模型),从而确保测试工作和被测版本的有效性,并且使整个测试过程可追溯。
  关键词:软件测试;版本管理;DFRA
  中图分类号:TP311.53
  1 测试版本管理的现状与问题
  众所周知,测试是提升软件质量的有效手段。然而,在测试过程中,我们经常会遇到如下问题:测试执行过程中,已经修复的缺陷,在下一个版本中重复出现;测试人员提交的缺陷被开发人员退回,理由是开发环境上不可重现。究其原因,就是测试版本管理的随意性:在测试开始之前没有制定测试过程中的软件版本管理计划,没有指定相应责任人,也没有制定版本管理的规则和流程,于是在测试过程中,何时由何人发布版本就不明确,随意的发布版本,造成了上述问题。软件版本管理是配置管理的一个重要部分,业内专家和学者进行了一些版本管理方面的研究,如软件配置管理中版本管理技术研究[1],增量开发软件项目版本管理关键问题解析[2],基于构件的软件配置管理中版本管理关键技术研究[3]等。但是,对测试过程中软件版本管理的研究非常少,在实际的项目中,测试阶段的版本管理也基本采用与开发阶段的版本管理同样的工具与方法。目前,市场上有上百种软件版本管理工具,这些版本管理工具一般采用的是“检出-修改-检入”的模式,是基于源代码文件的版本控制,完成代码的统一管理,对于开发过程来说比较适用。但是测试过程中的版本管理与开发过程中的版本管理的粒度不同,测试过程关注的不是软件中某一段代码的维护,而是要将软件作为一个整体发布,形成一个可测试的软件版本。因此测试过程中的软件版本管理虽然要以版本管理工具为依托,但是更需要一种规范化的流程和方法来对测试软件的版本管理所涉及的要素进行明确。
  2 测试版本管理的目标
  为解决上述问题,本文的研究工作将针对测试阶段的软件版本管理,通过研究制定一套测试过程的软件版本管理流程和规则。以期望达到如下目标:
  (1)使每一轮测试都在有效的版本上进行。如果在测试执行中,被告知被测版本无效,需要在另外的版本上重新测试,这会极大影响测试效率和进度,因此,有效的测试版本是保证测试效率的基础。
  (2)使测试过程可追溯。测试过程中的软件版本管理,除包含软件本身,还应包含与软件相对应的文档说明。也就是说在每次发布新的软件版本时,应同时提交相应的文档,说明此版本的软件实现了哪些功能,进行了哪些变更,修正了哪些缺陷,从而使测试,缺陷都能与版本对应,达到可追溯的目标。这样,通过测试的软件可以形成一个基线版本,传递至下一环节。
  (3)使软件在出现问题时,可以方便的回退到上一个版本。通过规范化的软件版本管理,可保留在系统形成可测试的基础版本到基线版本的任意版本的备份及相对应的文档说明,假设软件部署后,出现了严重的问题,可方便的回退到此过程中任意稳定版本。同样,软件在升级更新的过程中,如果由于更新的代码出現错误影响到了原有的代码,也可方便的将版本进行回退。
  总而言之,测试版本管理的目标是就是在测试过程中对需要测试的软件版本进行控制、记录、追踪,最终确保测试工作和被测版本的正确性、完整性、可控性,使得通过测试的版本能够满足用户需求。
  3 测试阶段的软件版本管理模型DFRA
  测试阶段的版本管理与开发阶段的版本管理关注点不同,在开发阶段,开发人员关心的仅仅是代码段、与代码相关的需求、设计,而对于测试阶段来说,测试是将整个软件(包括需求、代码、设计、文档等),作为基于计算机系统的一个元素,与其他系统元素结合在一起测试。
  针对测试阶段的特点,我们提出一个基于DFRA模型的版本管理方法。测试阶段的软件版本管理由四个要素组成:职责(Duty)、流程(Flow)、规则(Rule)、属性(Attribute)。
  3.1 版本管理角色与职责
  版本管理的第一步是明确版本管理的角色和职责。通常针对版本管理中的问题,需要多方面人员共同协调解决,在版本管理中需要参与的角色包括:
  版本管理员:实施版本管理(建立版本基线、实施版本变更操作)、版本基线发布、备份。
  项目经理:负责审核代码、并提交测试版本变更、确定版本信息。
  开发人员:负责提交本人编写的代码,保证代码的正确性。
  测试人员:对各版本进行测试,提交缺陷,新版本发布后进行回归测试。
  3.2 版本管理流程
  明确版本管理流程,就是根据版本管理的角色分工去实施版本的管理的过程。本节从版本的总体管理流程和测试过程中的具体版本发布流程两个角度进行说明。
  版本的总体管理流程如图1所示,首先将通过集成测试的软件形成一个基础版本,然后在测试过程中根据实际情况进行相应的版本发布管理,系统测试结束之后,形成了一个基线版本。此版本可作为下一个测试阶段如业务验收测试的基础版本。同时系统测试总结报告的测试结论也是基于测试阶段最后的基线版本得出。测试阶段的版本管理流程是测试过程的一部分,在图2中体现为:
  具体流程说明如下:(1)开发人员完成所负责模块的代码编写任务后,提交到项目经理处;(2)项目经理向测试部门提交测试任务;(3)版本管理员准备测试所需的环境,发布基础版本;(4)测试人员开展测试并实时提交BUG;(5)开发人员处理测试过程中所出现的BUG,进行相应修改后,提交代码和修改说明至项目经理处;(6)项目经理提交发布请求至版本管理员处;(7)版本管理员发布新的版本后,通知项目组成员(包括测试人员);(8)提交给测试人员进行回归测试;(9)测试完成后,测试人员提交测试报告;(10)项目经理与各相关人员经讨论后确定好新版本各项信息,版本管理员发布基线版本。   3.3 版本标识规则
  进行版本标识,将每次发布的版本通过标识进行区分,并达到使版本标识规范和清晰的目标。采用的命名规则为项目简称:主版本号、子版本号、阶段版本号、日期版本号。当软件首次被提交到测试阶段时,会形成一个初始版本:项目简称1.0.0日期。下表对主版本号、子版本、阶段版本号如何划分进行说明:
  3.4 版本属性
  针对测试过程中软件的每一个版本,都要有文档描述其相应属性。开发人员在提交本人所负责模块的代码时,需要告知版本管理员,所做的修改,如增加的功能、特性或模块,修复的缺陷等。版本管理员在每次发布新的版本后,都要填写该版本的修訂说明并发送项目组全体成员。并且在缺陷管理工具中配置相应的版本号,以便使测试人员在提交和验证缺陷时能与被测试的软件版本相对应。
  3.5 小结
  综上所述,在基于DFRA模型的测试版本管理方法中,职责是基础,流程是主线,规则与属性是核心,这四个要素缺一不可(图3)。通过明确职责,采用规范的流程进行版本管理,实现确保每个测试版本有效性的目标,通过明确规则,描述版本属性实现了可追溯的目标,同时在确保了每个版本的有效性及可追溯性的前提下,一旦软件出现问题,便可回退至上一稳定版本。
  4 实例分析
  O系统是一个银行管理信息类系统,在项目一期的系统测试阶段没有采用规范的版本管理方法,主要由项目经理临时决定发布版本,在测试过程中,出现过多次修复的缺陷反复出现的情况,更严重的是已修复的缺陷在生产系统上出现的情况。在二期的系统测试阶段中,项目组采用基于DFRA模型的方法进行软件版本管理。在测试开始执行前,即指定了专人作为版本管理员,同时项目经理、开发人员、测试人员都通过培训树立了较强的版本管理意识,在测试过程中严格按照版本管理流程进行版本发布,同时每次发布的版本都有唯一的版本标识,在缺陷管理工具中及时更新版本列表,用表格记录每个唯一版本的属性。在整个系统测试执行期间,按照测试阶段的软件版本管理流程(图3)发布版本15次,生成了版本属性表格(表2)。
  通过采用DFRA版本管理方法,使系统测试始终都在有效的版本上执行,未出现由于版本错误导致测试返工的情况;同时实现了可追溯的目标,使功能模块发现的缺陷、修复的缺陷都能与版本不相对应;并且在上线前,由于开发人员修改某段代码导致系统功能不可用,采取了回退至基线版本的方法;实现了测试版本管理的预期目标。
  5 结束语
  本文提出了一个基于DFRA模型的测试阶段软件版本管理方法,并通过实例描述了该方法的使用。与开发过程中使用的版本管理方法不同,开发过程的版本管理一般是源代码级别的,实现代码的统一管理。而测试过程的版本管理模型是将源代码、数据结构、文档视为一个整体。通过版本管理,保持软件版本与文档的一致性,从而使整个测试过程可追溯,软件在出现重大问题时,可回退至任意稳定版本。
  参考文献:
  [1]刘燕秋,勉玉静,赵文耘.软件配置管理中版本管理技术研究[J].计算机工程与应用,2003(21):68-71.
  [2]赵颖,蔡伶.增量开发软件项目版本管理关键问题解析[J].软件导刊,2012(05).
  [3]韦杰.基于构件的软件配置管理中版本管理关键技术研究[D].大连海事大学,2006.
  作者简介:张金山(1959-),男,陕西人,本科,副处长,工程师,研究方向:测试理论及管理;张鸿(1980-),男,土家族,湖北人,本科,职能组经理,工程师,研究方向:测试理论及管理;刘沅斌(1983-),女(汉族,湖南人,本科,一般员工,工程师,研究方向:测试理论及管理;赵娜(1979-),女,山东人,硕士,一般员工,工程师,研究方向:测试理论及管理;郭金京(1980-),女,北京人,硕士,一般员工,工程师,研究方向:测试理论及管理。
  作者单位:中国农业银行,北京 100161
其他文献
在短短几天里,战火从搜狗蔓延到百度,从互联网公司蔓延到硬件厂商。如果说搜狗嫁给腾讯是战争的导火索,那么华为、小米等手机厂商的应用商店被牵扯进来让战争进一步升级,而在搜狗
摘 要:随着太原市规划实施城市轨道交通工程,就对编制太原市轨道交通预算定额提出了要求,在定额编制全过程中引入现代信息技术,不仅降低了成本,提高了效率,而且促进了定额水平的提升,推动了该项工作的发展,并为后续的发展数据支持。  关键词:城市轨道交通;定额编制;信息技术  中图分类号:TP311.52  城市轨道交通(Rail Transit)具有运量大、速度快、安全、准点、保护环境、节约能源和用地等
针对测绘卫星海量影像数据的不断增长,本文提出了一种遥感卫星原始码流数据信息管理系统的设计方法,实现了对卫星原始码流数据的信息管理,并设计了可视化用户界面予以实现,工作实践证明,该系统可有效的提高工作效率。
李昌群,佛山市政府副秘长(挂职)、中国科学院佛山产业技术创新与育成中心主任。作为中科院派出的一位既懂科研又善经营的复合型人才,李昌群积极推进佛山中科院物联网应用研究中心