基于DTS的软件测试管理

DTS(Defect Trace System)在软件测试中缺陷跟踪管理系统主要完成对缺陷报告的记录、分析和状态更新等管理。一个完善的缺陷跟踪管理系统对于测试的成功实施是非常重要的。 [1] 
 【摘要】通过对软件测试管理的必要性和组成结构的分析,提出了三层架构的支持多角色协同测试的网络解决方案,设计了基于ASP.NET的软件缺陷跟踪系统。该系统有助于软件开发及测试活动的组织、管理和评价,提高软件开发效率及其质量。

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

软件测试是软件质量保证的关键步骤。美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件发布后的维护费用越低。另外,根据对国际著名IT企业的统计,它们的软件测试费用占整个软件工程所有研发费用的50% 以上。

  经过近几年激烈国际信息产业市场竞争的磨练,中国软件企业积累了一定的经验,具备了一定抵抗冲击的能力,然而与发达国家相比仍有很大的差距。中国软件企业必须通过提高软件产品的质量和自身的管理水平来提高自身竞争力,尽快与国际化标准接轨以适应国际市场需求。首先,要在认识上重视软件测试,软件项目的如期完成不仅取决于开发人员,更取决于测试人员;其次,要建立有效、规范的软件测试管理体系,改变管理上的随意、简单与紊乱;另外,开发与使用自动化工具,在软件测试时采用软件测试管理系统,提高软件测试管理水平与效率。

 1、软件测试管理概述

  软件测试管理是一种活动,可以对各阶段的测试计划、测试用例、测试流程、测试文档等进行跟踪、管理并记录其结果。采用软件测试管理可以为软件开发提供一个多阶段、逐步递进的实施方案。通过对测试的管理,可以用有限的时间和成本完成软件开发,确保产品的质量,进一步提高计算机软件在市场上的竞争能力。

  一般采用过程方法和系统方法来进行软件测试管理,构建完善的管理体系,对软件测试中的各个过程或活动加以识别和管理,以实现设定的总体目标(即在设定的约束条件下,尽可能发现和排除软件缺陷)。软件测试管理主要包括以下5个相互关联、相互作用的过程或活动:

  1)测试规划:确定各测试阶段的目标和策略。这个过程将输出测试计划,明确要完成的测试活动,评估完成活动所需要的时间和资源,设计测试组织和岗位职权,进行活动安排和资源分配,安排跟踪和控制测试过程的活动。 测试规划与软件开发活动同步进行。对于测试计划的修订部分,需要进行重新评审。

  2)测试设计:根据测试计划设计测试方案。测试设计过程输出的是各测试阶段使用的测试用例。测试设计也与软件开发活动同步进行,其结果可以作为各阶段测试计划的附件提交评审。测试设计的另一项内容是回归测试设计,即确定回归测试的用例集。对于测试用例的修订部分,也要求进行重新评审。

  3)测试实施:使用测试用例运行程序,将获得的运行结果与预期结果进行比较和分析,记录、跟踪和管理软件缺陷,最终得到测试报告。

  4)配置管理:测试配置管理是软件配置管理的子集,作用于测试的各个阶段。其管理对象包括测试计划、测试方案(用例)、测试版本、测试工具及环境、测试结果等。

  5)资源管理:包括对人力资源和工作场所,以及相关设施和技术支持的管理。如果建立了测试实验室,还存在其他的管理问题。

  软件测试管理就是采用适宜的方法对上述过程及结果进行监视,并在适合时进行测量,以保证上述过程的有效性。如果没有实现预定的结果,则应进行适当的调整或纠正。此外,软件测试与软件修改是相互关联、相互作用的。软件测试的输出(软件缺陷报告)是软件修改的输入。反过来,软件修改的输出(新的测试版本)又成为软件测试的输入。

  2、测试管理系统的架构

  由于测试是一个复杂的过程,而且需要反复不断地对被测试应用施加测试,单纯通过手工的方式已经不能在交付时间上及测试质量上给予保证。所以,开发使用软件测试管理系统以实现测试过程及其管理的自动化是软件测试必然的发展方向。

  由于测试管理包含了测试的规划、设计、实施、管理等多个过程,参与测试活动的角色又有多种(主要有项目经理、开发人员和测试人员等),所以我们采用图1所示的3 层架构来设计测试管理系统,以支持多角色协同测试。第1 层是表示层,与用户进行交互,负责处理客户请求,根据请求调用Web 服务,然后返回结果;第2层是业务逻辑层,又称为中间层,将表示层和数据库层紧密联系到一起,业务逻辑层不但支持客户端读取和存储数据,而且在业务方面也对表示层起到支持作用;第3 层是数据库服务器,包含各类数据库,如测试用例数据库、项目管理数据库等。其中客户端既可以是浏览器,也可以是Windows 应用程序或者其他应用程序,Web客户端由ASP.NET的窗体完成,服务器端业务逻辑由ASP.NET Web 服务程序完成。

图1. 支持协同测试的测试管理系统架构图

3、缺陷跟踪子系统的设计

  软件缺陷是指软件的实际运行现象与软件需求不一致或错误的现象。软件缺陷跟踪系统(Defect Tracking System, DTS)是软件测试管理系统的核心部分,对软件缺陷处理过程最基本的要求包括以下几个方面:1)整个处理过程应该是闭合的,即确保每一个被发现的问题在过程中都能得到解决,在整个过程中追踪缺陷的状态,问题记录在整个合同期内都得到维护;2)每一个被发现的软件缺陷都应该按类别和优先级进行分类;3)对软件缺陷的改正应该进行验证,以确保问题确实被解决、不利的影响已经被消除,并且解决该问题所引起的变化不会带来新的问题。

  根据1988 年公布的美国国防部软件开发标准 [DOD - STD - 2167A ][5]和 1995 年公布的软件开发与文档标准 [MIL - STD - 498][6],在缺陷跟踪子系统中,将软件缺陷生命周期划分为6个生命状态:open(打开)、working(修改)、verify(验证)、cancel(取消)、close(关闭)和defer(延迟),能详细记录、跟踪和管理每个软件缺陷的生命过程,直至排除这个缺陷。还为软件缺陷设定了严重级别、处理优先级、缺陷类型等属性,可自动分清软件缺陷的轻重缓急,并能提供相关的分析和统计功能。

  在此基础上我们建立了图2所示的软件缺陷处理过程模型,根据有效性、完备性和正交性等原则,确定软件缺陷的状态及状态之间的转换关系,然后确定状态同角色、活动、信息之间的关系。软件缺陷处理过程模型的建立提高了对软件缺陷处理过程的理解,并为软件测试管理系统的实现打下了基础。

图2. 软件缺陷的处理过程模型

  软件缺陷处理过程模型在设计时体现了以下的思想:1)软件缺陷状态在整个软件缺陷处理过程中的核心地位。软件缺陷当前所处的状态决定了目前应负责任的角色、下一步应该进行的活动。在软件缺陷状态发生变化时自动通知下一个应负责的角色;2)角色是一定权利和义务的体现。不同级别的用户对同一个软件缺陷拥有不同的处理权限。在具体实现时,对于软件缺陷处理过程模型中的每个活动,都提供相应的命令来支持;对于每个级别的用户,只能实施同相应角色符合的命令;状态转换时,以MAIL等形式通知下一个应负责的角色。

  4、基于DTS的软件测试管理体系

  组织结构决定运行机制,软件生产组织结构在一定程度上决定了软件测试能否有效和高效进行。因此,要提高软件测试效率和软件开发质量,除了要建立独立于软件开发的软件测试队伍之外,还必须有一个合理的组织结构和运行机制,从而形成完善的软件测试管理体系。

  合理的软件生产组织结构应该如图3所示:以项目为中心,为每个项目设一个项目经理,负责整合开发部、测试部以及市场部中的人力资源和协调各部门软件生产、销售活动,形成“三位一体”的组织结构。这个组织结构包含了多种不同的身份:项目经理、部门经理、软件设计师及程序员、软件测试师及测试员、市场销售人员及技术支持人员等。这个结构的最大好处就是有效的制衡了软件开发和软件测试,协调了软件生产与市场销售,使得测试、开发和销售都能高效的开展。

图3. 合理的软件生产组织结构

 

 有了合理的组织结构,软件项目团队的全体成员就能以软件缺陷跟踪系统(DTS)为工作的参照物,形成良好的工作流程和运行机制,构建如图4所示的软件测试管理体系:测试人员(包括软件测试师和测试员)向缺陷跟踪系统报告新bug,在新版本上执行回归测试验证bug是否正确修改;开发人员(包括软件设计师和程序员)每天浏览属于自己需要修改的bug,修正bug后及时更新bug的状态;项目经理及部门经理根据缺陷跟踪系统的bug分布信息,跟踪和控制软件开发过程;市场销售人员和技术支持人员根据缺陷跟踪系统的bug状况,估计软件的发布期限。

图4. 缺陷跟踪系统驱动的软件测试管理体系

  5、小结

  本文针对国内软件企业对软件测试及其管理的需求,提出了三层架构的支持多角色协同测试的网络解决方案,设计了基于ASP.NET技术的软件缺陷跟踪系统,并以此为基础建立了完善的软件测试管理体系。实践表明,该测试管理体系对于提高软件开发效率及其质量具有良好的效果。


转载于:https://www.cnblogs.com/qileilove/archive/2012/01/10/2318151.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值