首页 软件缺陷跟踪系统的设计与实现

软件缺陷跟踪系统的设计与实现

举报
开通vip

软件缺陷跟踪系统的设计与实现软件缺陷跟踪系统的设计与实现 大连理工大学 硕士学位论文 软件缺陷跟踪系统的设计与实现 姓名:徐建军 申请学位级别:硕士 专业:软件工程 指导教师:吴国伟 20050528蕉堡三奎堂堡主鲎垡堡苎 .一一 要 摘 软件开发的规模日趋增大,开发过程中出现的缺陷的数量越来越多,因此 软件产品在交付前要经过测试确保软件的质量,而测试的目的是为了尽早发 现软件系统 中的缺陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得 到处理是 测试工作的一项重要内容。 缺陷跟踪系统 ,简称又称...

软件缺陷跟踪系统的设计与实现
软件缺陷跟踪系统的设计与实现 大连理工大学 硕士学位 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 软件缺陷跟踪系统的设计与实现 姓名:徐建军 申请学位级别:硕士 专业:软件工程 指导教师:吴国伟 20050528蕉堡三奎堂堡主鲎垡堡苎 .一一 要 摘 软件开发的规模日趋增大,开发过程中出现的缺陷的数量越来越多,因此 软件产品在交付前要经过测试确保软件的质量,而测试的目的是为了尽早发 现软件系统 中的缺陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得 到处理是 测试工作的一项重要内容。 缺陷跟踪系统 ,简称又称作软件错误报告 ,简称系统,用于集中跟踪软件测试过程中发现的错误,是添 加、修改、排序、查寻、存储软件测试错误的数据库程序。由于大型本地化软件测试项 目一般测试周期较长,测试范围广,存在较多软件缺陷,对测试质量要求较高,多语言 本地化同时测试,所以错误跟踪系统特别适用于大型本地化软件测试项目的跟踪测试缺 陷的要求。 本课题从需求分析、系统设计与实现、缺陷跟踪系统在软件测试中的应用以及 体系框架及技术进行论述,着重实现了缺陷跟踪流程的确定以及角色,权限的分配, 从而保证了软件测试过程的完备,简洁,分工明确。希望通过对软件测试中缺陷跟踪的实 现,得到一套能灵活应用于各种业务环境的缺陷跟踪方法。 目前市场已经出现了一些通用缺陷跟踪软件,这些软件在功能上各有特点。本着高 内聚低耦合的重要原则,将本系统基于架构划分为典型的三层应用软件系统:数 据层、业务层和用户界面层。文中着重介绍本人参与设计与实现的系统模块:缺陷跟踪 模块,缺陷提交验证模块,项目和缺陷属性管理模块,基于角色的权限控制机 制,其中 包含系统特色功能部件的实施。 关键词:设计模式;面向对象;缺陷跟踪系统;统一建模语言;模型视图一控制 墼堡鐾堕竖堕至篓塑堡生里塑, .也, ,, . ,, . 舀, , . ., , , ,,. .., :. ., , ,. : ;;;; .?.独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究 工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 大连理工大学或其他单位的学位或证书所使用过的材料。与我一同工作 的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢 意。 作者签名:金壶垂日期:边互:点:兰当大连理工大学硕士学位论文 引 言 .课题的来源背景 开发人员都希望自己的产品技术领先,好用,没有缺陷。但一个能称为产 品的软件项目,没有出现过是不可以想像的,如果一个项目能够经过较充分的测 试,也许可以将绝大多数限制在软件发布前,因此以软件测试为中心的软件质量 保证技术在整个软件质量保证过程中起着重要作用,测试执行中需要对缺陷报告进行有 效的跟踪和控制,这就是我们在这里要讨论的主题:缺陷跟踪。 缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果,软件测试 过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理~般而言需要达到以下的目标: 确保每个被发现的缺陷都能够被解决;这里解决的意思不一定是被修正,也可能 是其他处理方式例如,在下一个版本中修正或是不修正,总之,对每个被发现的 的处理方式必须能够在开发组织中达到一致。 收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;决定测试过程是否结束 有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效豹一种 方式。 收集缺陷数据并在其上进行数据分析,作为组织的过程财富。 .选题意义 理论意义 “零缺陷”质量管理的概念来源于一些国际上著名的硬件生产厂商。尽管软件的开 发与硬件生产有极大的差别,但我们仍可以从“零缺陷”质量管理中得到启迪。“零缺 陷”质量管理至少有两个核心内容:一是高目标,二是可执行的规范。 在软件系统工程建设中,项目开发单位必须有针对此项目的质量保证机构或个人 依工程项目规模而定,并制订包括管理、文档、评审、工具等内容的质量保证计 划。工程项目的建设在严格的质量监督之下才能够完成预期的工程目标。忽视软件工程 质量保证体系的建设,将造成开发过程随意性增大,出现不按设计编码、系统版本失 控、测试工作不到位等情况,导致工程建设质量、进度及资金投入等失控。 提高质量是软件工程的主要目标。软件的高质量并不是“管理”出来的,实质上是 设计出来的,质量的管理只是一种预防和认证的手段而已。软件的质量因素很多,如正 确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用 性、可扩充性、兼容性等等,为了便于理解,可以将质量因素粗略地分成几类,其中软件缺陷跟踪系统的设计与实现 “正确性与精确性”排在首位,而“性能与效率”,“易用性”,“可理解性与简洁性”、“可复 用性与可扩充性则亦是举足轻重的质量因素。 在软件工程质量保证体系中,软件测试是软件质量保证的重要手段。有些研究数据 显示,国外软件开发机构%的工作量花在软件测试上,软件测试费用占软件开发总费 用的%至%。对于一些要求高可靠、高安全的软件,测试费用可能相当于整个软件 项目开发所有费用的至倍。由此可见,要成功开发出高质量的软件产品,必须重视 并加强软件测试工作。 测试工作的流程就是质量管理的过程,该 工作流程 财务工作流程表财务工作流程怎么写财务工作流程图财务工作流程及制度公司财务工作流程 的绝大部分工作都是为达 到确定 的质量目标而进行的。在测试过程改进的过程中会产生大量的有关问题的历史数据,可 以称为知识库,这些问题数据的采集和管理,就成为了一个重要的问题。所以就需要有 必要的工具支持来采集和管理这些数据,虽然工具不能解决所有问题,但必要的工具支 持可以大大提高质量。软件能力成熟度 蚵 ,简称是美国软 件工程研究所 ,缩写为首先提出的。目前代 表着软件发展的一种思路,一种提高软件过程能力的途径。尽管它存在着某些不足。例 如,成熟级别、关键过程域、公共属性和关键实践还需要在软件行业进一步深入地讨论 和修订,但它确实为软件行业的发展提供了一个良好的框架,而且是浓度软件过程能力 提高的有用工具。 软件过程成熟度的提高是一个渐进的过程,需要一个长远的、可持续发展的过程作 为保证。为建立一个面向过程持续提高的基础和文化,有些软件企业可能要花费很大的 精力和时间。但是这种努力对任何一个软件企业来说都是非常必要的。 对于应用程序开发经理来说,正式的缺陷跟踪在整个软件开发生命周期中起到了至 关重要作用。通过回顾这些程序收集的问题,我们可以对软件开发过程进行相当有深度 的洞察,特别是哪些地方成功了,哪些地方还需要改进。将这些程序集成到软件开发过 程中,能够有力地支持项目开发和质量保芷工作,例如鉴定和调整用户需求的收集、确 定测试的改进方案或整体可用性。 发展历史及应用价值 国内外软件测试中缺陷管理的历史 在国外,软件测试已成独特市场,美国著名软件质量分析师贺越明介绍了国外的情 况,在软件业较发达的国家,软件测试不仅早己成为软件开发的一个有机组成部分,而 且在整个软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均 ..大连理工大学硕士学位论文 资金投入为例,通常是:“需求分析”和“规划确定”各占百分之三,“设计”占百分之五, “编程”占百分之七,“测试”占百分之十五,“投产和维护”占百分之六十 七。测试在软件 开发中的地位,由此可见一斑。在美国硅谷地区,凡是软件开发企业或是设有软件开发 部门的公司,都有专门的软件测试单位,其中软件测试人员的数量相当于软件开发工程 师的四分之三。在这些公司或部门中,负责软件测试的质量保证经理的职位与软件开发 的主管往往是平行的。据了解,在软件产业发展较快的印度,软件测试在软件企业中同 样拥有举足轻重的地位。许多领先的大公司都在一直致力于软件的缺陷跟踪管理.如微 软的开发管理经验:%以为核一,%专门的缺陷跟踪工具如/ 驱动.?公司一直以来是改进软件过程和工具的先驱,大约年提出了自动缺陷跟踪. 的以及开源软件等等也广为利用.所以把强大的.灵活.易用的缺 陷管理工具,用于软件开发的过程中,对软件缺陷进行记录及缺陷处理结果状态进行自 动跟踪、记录、归类处理,灵活满足各种业务环境和各种产品的需求。使项目开发的质 量增强,同时带来整个机构的生产效率的提高,是很有发展前景的。 国内,萌芽中的市场才起步,软件必需经过测试,测试是验证软件是否能达到期望 功能的难一有效的方法。据了解,目前国内的软件测试一般有下列几种形式:一是软件 公司内部进行的功能性测试;二是用户进行的测试;还有就是第三方测试,就是专业软 件测试人员运用一定的测试工具对软件的质量进行检测。 敏锐的人士却可以嗅出,萌芽中的市场正开始起步。上海著名的软件企业微创软件 就向上海的用户发布了缺陷跟踪管理系统和测试用例管理系统 ,它们的发布填补了国内软件公司目前在测试管理软件市场上的空白。 缺陷跟踪程序由过去的问题日志报告慢慢发展而来。如今,这类系统通常是基于 的应用程序,能够与客户支持功能例如服务台或应用程序完全集成。这些程 序包括内建的自动报警、工作流管理、问题定位、问题优先处理、检查跟踪、远程管理 以及多层安全性。还有很多程序甚至在决策支持功能中包括详细的度量跟踪和报告,例 如指出开发弱点或教育时极。 .论文工作内容 本文着眼于软件公司内部进行的功能性测试,即缺陷跟踪在软件系统测试过程中的 应用,文中着重地介绍本人参与设计与实现的系统模块:缺陷跟踪模块,缺陷提交验证 模块,项目和缺陷属性管理模块,以及基于角色的权限控制机制。 .一软件缺陷跟踪系统的设计与实现 体系框架及技术 为了将设计模式有效地应用于应用开发之中,在软件基金赞助 下,一个叫做的项目 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 得以开展,项目的创立者希望通过对该项目的研究, 改进和提高、、标签库以及面向对象的技术水准,为开发人员提供一个开发 模式的应用框架,正是这个项目的产物。 . 体系结构 ., 概述 这个名字来源于在建筑和旧式飞机中使用的支撑金属架。为应用 提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务 问题上。此 外,框架提供了许多可供扩展和定制的地方,使得应用程序可以方便地扩展 框 架,来更好地适盘用户的实际需求。 是一个 ,就是将相同类型问题的解决途径进行抽 象,抽取成一个应用框架。 图. 体系结构.. 圈.展示了的体系结构。 的体系提供了一套明确机制,从而让开发人员很容易的扩展和控带《整个 开发上的结构。通常,基于请求响应模式的应用 基本上有如下几个表现逻辑结构组成。 控制器??控制整个中各个组件的协调工作。 .一大连理工大学硕士学位论文 业务逻辑层 ??对本身来说,这里仅仅只是概念和 几个提够服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发 人员在 上再次扩展。 数据逻辑层 ??绝大应用系统都需要涉及到数据交互,这一层主要 包括了数据逻辑和数据访问接口。 ..与模式 实质上就是在 的基础上实现的一个框架。在框架 中,模型由实现业务逻辑的或组件构成,控制器由和 来实现,视图由一组文件构成。 图. 框架图 .. 图.展示了实现的框架图。 主要由两大部分组成,其一是上面所说的改善系统结构的框架 部分;另一部分是的标签库,主要由页面制作人员使用。是的 、 一种实现,它很好的结合了、 、等技术。 ...从视图角度 视图就是一组文件,在这些文件中没有业务逻辑,也没有模型信息,只有 标签,这些标签可以是 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的标签或客户化标签,如标签库中的标签。 ..软件缺陷跟踪系统的设计与实现 此外,通常把框架中的 也划分到视图模块中。框架利 用 来进行视图和控制器之间表单数据的传递,把用户输入的表单数据 中的 保存在 中,进而传递给控制器,控制器可以对. 数据进行修改,文件使用标签读取修改后的? 的信息,重新 设置表单。 ...从模型角度 基于系统中的部分可分为两部分:系统的内部状态和能够改变状态的 行为业务逻辑。 通常应用程序将系统内部的状态表示为一组一个或多个的,使用属 性来表示状态的细节。在中,系统模型的状态主要由蛳或组 件来实现。 ...从控制器角度 在 中,控制器主要是,主要负责接收 请求信息,然后根据配置文件...的配置信息,把请求转发给适当的 对象。但是对于业务逻辑的操作则主要由、、 这几个组件协调完成。其中,扮演了真正的控帝逻辑的实现者, 负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程;而 和刑则指定了不同业务逻辑或流程的运行方向】。 图.展示了处理流程图,以的次序图的方式展示了请求.响应流程。 我们按照这个请求.响应流程走一遍。 处理客户请求,根据 具体的配置设置应用验证,利用配置的对想把请求映射到 处理器对象进行处理:处理对象访问廿中的数据、处理和响应客户请 求,还调用后台的组件,这些组件封装了具体的业务逻辑,处理器对象根 据处理结果 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 ,进行转发处理。 框架的处理流程清楚的实现了系统的特点。 ..大连理工大学硕士学位论文 图. 处理流程图 ..饥【乜框架处理流程中的组件 。 披据崖 ‘孽‘磐謦腑瞬。 :螗景,囊 离霉翠 霉雾三, ?一一 一 /,群一 , ,?,,啤 / 茹. 蚕产二磷 留 占 虑白目 ;?? 卜人嘻 ; \、么 . ; 謇兰曩 囊 ?四? 图. 组件图 .. 软件缺陷跟踪系统的设计与实现 表. 框架中所使用的组件: 组件名 作用 控制器 包含事务逻辑 显示模块数据 帮助控制器将请求映射到操作 用来指示操作转移的对象 用来存储和回收错误 标记库 可以减轻开发显示层次的工作 .. 控制器组件 正如前面所提及,控制器组件负责接收用户请求、根性模型以及选择合适的 视图组件返回给用户。控制器组件有助于将模型层和试图层分离,有了这种 分离,就可 以在同一仓模型的基础上得心应手地开发多种类型的视图。 .. 模型组件 模型是应用中最重要的一部分,它包含了业务实体和业务规则,负责访问和 更新持 久化数据。应该把所有的模型组件放在系统中的同一个位置,这有利于维护 数据的完整 性,减少数据冗余,提高可重用性。 模型应该和视图以及控制器之间保持独立。在分层的框架结构中,位于上层 的视图 和控制器依赖于下层模型的视线,而下层模型不应该依赖于上层的视图和控 制器的实 现。 .. 视图组件 框架的视图负责为客户提供动态网页内容。视图主要由网页构成, 此外,框架还提供了客户化标签和 ,这些组件提供对国际 化、接收用户输入的表单数据、表单验证和错误处理等的支持,使开发者可 以把更多的 精力放在实现业务需求上。 .. 标签库 标签库是架构的很大一部分,它简化了试图组件的发展,并将试图与 架构的其余部分绑定在一起。提供了五种功能强大的标签苦,包括:标签 库、标签库、标签库、标签库和标签库。熟练使用这些标签 苦,可以简化开发交互式的、基于表单的应用的过程】。 ..大连理’】:大学硕士学位论文 需求分析 .缺陷跟踪系统指标 缺陷应当被通报并分配给开发人员,以便进行改正。在问题解决之后,应当对被修 改的部分重新进行测试。而且应当根据情况进行回归测试,以检查被修改的部分是否在 其他部分引出新的问题。如果使用了缺陷追踪系统,可以缩短这些过程。发现了软件缺 陷,需要记录下来,不但要记录结果,同时需要详细描述发现的步骤,以各程序员重现 问题,并解决它。要求报告写的清楚明了和准确。有时利用截屏技术把当时的情况保存 成图片,可以达到一图胜千言的效果。 .缺陷需求 ..缺陷描述 根据测试项目的具体特点和测试要求,确定缺陷跟踪系统的具体组成结构和功能。 通常对缺陷的描述应该包含以下的内容: 表.缺陷描述表 ....软件缺陷跟踪系统的设计与实现 续表缺陷描述表 缺陷基本信息 缺陷验证人 对被处理缺陷验证的验证人 缺陷基本信息 缺陷验证结果描述 对验证结果的描述通过、不通过 缺陷基本信息 缺陷验证时间 对缺陷验证的时间 ..大连理:大学硕士学位论文 续表.缺陷描述表 对缺陷的详细描述;之所以把这项单独列出来, 缺陷的详细描 是因为对缺陷描述的详细程度直接影响开发人员 述 对缺陷的修改,描述应该尽可能详细 测试环境说明 对测试软硬件环境的描述 对于某些文字很难表达清楚的缺陷,使用图片等 必要的附图 附件是必要的 缺陷的描述项中用淡青色描述的是缺陷在处理阶段填写的内容;用淡蓝色描 述的是 缺陷在验证阶段填写的内容。除上述描述项外,从统计的角度出发,还可以添 加上“缺 陷引入阶段”、“缺陷修正工作量”等项目。 ..缺陷属性 ...缺陷严重程度 缺陷跟踪系统对每个缺陷都记录一个严重程度指针,此缺陷程度可分为以下 四类, 默认情况下四类的说明信息为空,但管理人员可以在定义项目时,修正项目 中缺陷严重 级别的说明: 危急:能使相关的系统内软件或整个系统损坏,或造成严重的信息 遗失,或为安装该软件包的系统引入安全漏洞。 严重:主要功能丧失,导致严重的问题,或致命的错误声明。 常规:次要功能丧失,不太严重,如提示信息不太准确。 轻微:微小的问题,对功能几乎没有影响,产品及属性仍可使用。如有个 错别字。 ...缺陷优先级 同时,缺陷跟踪系统还对缺陷的修正优先级进行分类,同样修正优先级的 级别描述也可以自行定义。 紧急:此缺陷比较严重,或此缺陷影响了其他方面。 高:缺陷修正级别比较高。 一般:一般缺陷的修正级别。软件缺陷跟踪系统的设计与实现 低:修正级别最低,一般此缺陷不影响软件的运行,但可能影响了软件的 性能。 ...缺陷常见类型 功能未实现:与规格说明书不一致。 不能工作:死机或没反应。 不兼容:与其他部分不兼容。 边界条件。 界面、消息、提示不够准确,不友好。 文档与帮助信息中的缺陷也是缺陷。 ..缺陷跟踪流程 缺陷跟踪系统是软件开发和维护过程中重要的辅助软件,用于跟踪记录软件的缺 陷、需求变更等;是保障开发人员与测试人员沟通的桥梁,使软件开发流程更加协调 】。让我们来看一下缺陷跟踪步骤: 测试人员将软件的缺陷通过缺陷跟踪软件提交给开发人员; 开发人员根据测试人员或客户提交的缺陷现象、描述、重现条件等数据对该缺陷 进行分析,修正完成后,除了将修正的代码提交,编译成产品之外,还要修改缺陷跟踪 系统中记录的对应的缺陷的状态,将其状态改为“已经修正”; 现在又传到测试人员手中,测试人员对新编译的产品进行测试,看是否真的已经 修正了这个缺陷,如果没有完成修正,重新将缺陷的状态改为“尚未修正”;如果经过测 试发现已经修正,贝将缺陷的状态改正为“关闭”。 从上面的例子中,我们可以看出,缺陷有自己的生存周期。一般缺陷追踪软件把缺 陷的生存周期的各个阶段用“状态”来描述,但是不同的组织,缺陷跟踪流程会有所不同 图.展示了一个典型的缺陷生命周期图。 流程中的角色: 测试人员:进行测试的人员,缺陷的发起者: 项目经理:对整个项目负责,对产品质量负责的人员: 开发人员:执行开发任务的人员,完成实际的设计和编码工作; 评审委员会:对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行 使仲 裁权力。 缺陷的状态 ..大连理工大学硕士学位论文 初始化:测试人员提交新缺陷时,将缺陷置成状态并追加缺陷基 本信息。 己分配:将缺陷分给修正责任人之后,相应的分配人员将缺陷状态置成 ,且要追加预定修正完了日。 修中:修改责任人修改过程中,将缺陷状态置成,且要附加上缺陷 产生原因、解决方案、拟变更内容等信息。 已修正:修改责任人修改完成后,将缺陷状态置成,且附加缺陷修正 信息,等待测试人员验证; 故重开启:缺陷修正后但未通过提交缺陷的测试人员的确认时,将缺陷 状态置成,且要附加上缺陷确认未通过的描述信息。注意:状态是 针对同一缺陷而言,如果修正该缺陷引起了其他缺陷,则需要重新提交一个 新缺陷状 态为。 保留..缺陷暂时不需要解决时或根本称不上缺陷时,将缺陷状态设置为 ,且要附加上缺陷保留的原因。 缺陷重复:出现重复的缺陷时,将此缺陷状态置成。 关闭:测试人员验证缺陷修改正确时,将缺陷关闭,状态置为,同 时要附加上缺陷验证信息。 故障表述 应包含三个基本部分:概要、再现步骤和隔离。使用状态来管理缺陷生命周 期。 图.缺陷生命周期图 .. ..软件缺陷跟踪系统的设计与实现 ..缺陷生命周期中的问题、角色和转移 缺陷跟踪系统应跟踪开发人员所有权及测试人员所有权。当缺陷返回到测试 组织 时,缺陷跟踪系统应分配一个测试人员来执行验收和回归测试】。 缺陷生命周期中的角色所有权如图所示。 图.角色转移图 .. 测试人员在发现缺陷后会给出故障的基本信息:能否再现故障,故障标明是 被测系 统错误还是测试有误,影响故障的原因。 开发者得到缺陷的信息后会跟踪,修复缺陷并把修复后的缺陷信息提交;故障的根 本原因,能否在不引入新问题的情况下修复缺陷,修复的缺陷能否正确通过调试。 测试人员最重要确认缺陷状态:缺陷是否被修复,修复后的系统能否通过以前没有 通过的相同的测试,系统的其余部分能否正常工作。 这样能保证测试人员与开发人员在错误报告和测试发布过程中的交互和劳动分工的 明确。 .系统功能概述 缺陷跟踪是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺 陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得到处理是测试工 作的一项重要内容【。 ..系统目标 缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果,软件测试 过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下的目标: ....大连理工大学硕士学位论文 确保每个被发现的缺陷都能够被解决;这里解决的意思不一定是被修正,也可 能是其他处理方式例如,在下~个版本中修正或是不修正,总之,对每个被发现的 的处理方式必须能够在开发组织中达到一致: 收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;决定测试过程是否结 束有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一 种方式; 收集缺陷数据并在其上进行数据分析,作为组织的过程财富。 上述的第一条是最受到重视的一点,在谈到缺陷跟踪管理时,一般人都会马上想到 这一条,然而对第二和第三条目标却很容易忽视。其实,在一个运行良好的组织中,缺 陷数据的收集和分析是很重要的,从缺陷数据中可以得到很多与软件质量相关的数据 】。 ..系统总体要求 测试管理工具用于对测试进行管理,它主要是对软件缺陷、粳试计划、测试用例、 测试实施等进行管理。本缺陷跟踪系统总体上可以对产晶在整个开发周期内 产生的缺陷 和变更进行有效管理,尤其在测试阶段,项目组的每个成员几乎都以该系统为中心来展 开各自的工作,设计良好的管理系统可以简化和加速变更请求的协调过程,理顺项目团 队间的沟通,使之协作自动化,这个系统可以说是产品质量控制的基础。总体要求如 下: 支持国际化。系统可以应用不同地区、不同语言的软件测试中。 具有权限控制功能。这是缺陷跟踪系统重要考虑的因素。 具有通知功能。缺陷的变更应该能够通过出口件通知相关的负责人。 具有查询功能。例如:查询那些是属于本人负责的缺陷:查询仍处于瑚状态 的缺陷; 具有统计功能。能够统计一段时期每个人发现的缺陷数量。缺陷的平均修正时间, ~个产品周期发现的缺陷总数等等。这些统计数字对于软件测量具有重要意义。 具有项目管理及缺陷属性管理功能。保障了软件测试的灵活性。 ..系统具体功能组成 缺陷跟踪系统主要包括以下几个功能模块: 角色控制的登陆模块。 缺陷跟踪模块。 缺陷提交、验证模块。 一.软件缺陷踪系统的设计与实现 “项目和缺陷属性管理模块。 ..,权限控制模块 作为一个缺陷跟踪管理系统,必须注意权限分配的问题。缺陷记录作为软件开发过 程中的重要数据,不能轻易被删除;对于已经关闭的缺陷,也不能随意进行修改。因 此,缺陷跟踪管理系统必须设置严格的管理权限,非相关人员不得进行相应操作,修改 相应数据。 正确的角色划分也是缺陷跟踪系统的重要考虑要素,一般要保证开发工程师不能关 闭缺陷,软件测试工程师不能修改缺陷等。所以在进入缺陷耻亲系统时,用户在登录页 面输入员工号、口令、密码、角色及项目名称后,根据不同的角色权限进入不同模块的 页面,实现页面及业务的限制性访问功能。 根据前面缺陷流程图的角色,系统用户可分为四级:系统管理员,测试人员,开发 人员,评审委员会。系统管理人员可以新建用户、修改用户和删除用户,还负责项目属 性、缺陷属性定义,所以一般是项目经理或项目负责人;测试人员可以缺陷提交验证; 开发人员主要负责跟踪缺陷。 ...缺陷跟踪模块 本系统提供基于浏览器界面,允许顾客和全体职员通过因特网访问和查询缺陷的状 态;也可以使用图形用户界面来访问和编辑缺陷信息;根据缺陷状态的迁移来跟踪缺 陷,以支持从缺陷开启到最后处理的协调工作流。 具有跟踪权限的用户根据缺陷说明文档,可以对缺陷状态等的缺陷信息进行更新来 完成缺陷跟踪。 在此模块中还提供如下功能: 当缺陷状态改变时,提供电子邮件的自动传输,是否通知可以在每个缺陷上指 定。 缺陷统计信息可由框图、柱状图、饼状图等曲线图表示。 支持格式的文件下载、打印缺陷统计信息。 缺陷报告信息文件可在页面上传、打开。 多种组合的缺陷检索及缺陷排序。 所有的记录无法删除,对于每个记录只能添加或更改内容。 ...缺陷提交验证模块 测试人员可以访问本模块,缺陷提交负责人与缺陷验证负责人必须是同一人,来做 到缺陷的真正解决或预留。 ..大连理:大学硕士学位论文 测试人员在提交缺陷时,有责任提供缺陷说明文档,以使得相应开发人员清楚缺陷 发生的原因来纠正缺陷。只有通过验证,缺陷状态才能设为关闭,也就是说缺陷跟踪过 程中,缺陷状态只有相应的测试人员才有权限设置。 ...项目和缺陷属性管理模块 项目属性包括项目描述、项目模块名、各模块包名、项目人员角色权限管理、项目 双方及项目预计计划。 由于缺陷跟踪系统与本公司的需求管理、自动化测试工具、项目特征相关,所以缺 陷的属性说明可根据项目情况来改变定义。 ..业务工作流程 图.业务工作流程图. 图.展示了缺陷跟踪系统在软件开发过程中所担当的角色。 是所有工作的核心,要求程序员及时把最新代码放入代码库,一般 在下班后进行。所以测试人员每天上班的第一件事是首先从发布服务器上 拿到软件新版本,验证已解决的缺陷;然后根据测试用例检验今天的版本,在 缺 陷跟踪系统中记录新发现的缺陷。 ..软件缺陷跟踪系统的设计与实现 软件的最新代码,验证自己负责的 开发人员首先从版本控制工具中 模块是否有新;然后打开缺陷跟踪工具,查看指定给自己的缺陷,解决高优先度的 缺陷,因为质量重于新功能。要注意版本工具中的最新变化,在本机和单元测 试,若不存在阗题就 代码。 工程师在一定的时期从源代码服务器上拿到最新源代码进行整个软件 ,如果通过,可将软件放到发布服务器上。 评审委员会一般由开发组长、测试组长和项目经理组成,通过缺陷跟踪系统评 估每个未解决的缺陷,预测项目实际进度和发布时间。 图.系统模块 . .本章小结 本章主要进行系统地需求分析,描述了软件缺陷的基本信息:从缺陷严重程度,缺 陷优先级.缺陷常见类型等归纳了软件缺陷的属性;明确了缺陷跟踪流程中人员的角色 和缺陷的生命周期;概要地介绍系统了系统的组成及具体功能模块。 ..大连理工大学硕士学位论文 系统设计 目前市场已经出现了一些通用缺陷跟踪管理软件,这些软件在功能上各有特 点。本 文是基于廿架构开发的缺陷跟踪系统,这是考虑到架构很好地实现了 的设计模式,设计模式已经成为现在很多软件开发的典型模式。 目前大多数企业采用技术的结构设计与解决方案,模型.视图.控制. ,简称结构是目前最常见的应用所基于的体系结构,主要 适用于交互式的应用,尤其是存在大量页面及多次客户访问及数据显示:相 比较 而言,一个工作流体系结构更多应用于过程控制和较少交互的情况下。 是 在世纪年代为编程语言发明的一种软件设 计模式,至今已被广泛使用,最近几年被推荐为公司平台的设计模式,受到 越来越多的开发者的欢迎。 本章将详细介绍模式的架构、特点以及其应用于平台中进行应用开发 时所采用的关键技术。 .使用进行系统地面向对象分析 面向对象分析的主要作用是明确用户的需求,并用标准化的面向对象的模型 规范地 表述这一需求。分析阶段的工作应该由用户和开发人员共同协作完成。 设计人员将从用户那里收集到的信息反映到使用案例中。使用案例 所表达的正是参与者与系统功能 之间的交互。框图显示哪个角 色启动使用案例,并显示角色何时从使用案例收到信息。用户了解系统功能,通过使用 案例图很容易指出设计系统是否缺少功能或功能定义是否正确。 根据缺陷跟踪系统的需求,本文将使用进行系统地面向对象程序分析过程总结 为以下四个步骤: ..按功能划分模块 设计人员根据模块划分原则,将系统划分为耦合度最小的若干功能模块,每个功能 模块用一个包表示,包内还可以划分子包。包将一些具有共性的类组合在一起,包有两 种常用的划分方法,一种是按照类型组台划分,将同一类型的类放入相同的包,这种方 法常用于面向对象分析阶段;另一种是按功能组和划分,实现某一功能的类放入同一个 包,这种分包方法的好处在于功能的可复用性。如果将类认真组合,就可以得到相互独 立的包。 ..软件缺陷跟踪系统的设计与实现 根据需求分析信息,缺陷跟踪系统可以划分为以下功能模块:公共模块、登录模 块、测试人员模块、开发人员模块、管理人员模块。下面使用工具进行的功 能模块 的划分: 女剧“ ,镅暖瞄蕊 巨. 渤砖,垤。‘ ?口口 田【: 国 . 研 .墅 图.系统功能模块.. 可以看出,为了方便功能的描述,各个功能包可以划分功能更加具体的子包, 直到 系统的每个功能都可以清晰的表达出来。子包的层次依据系统的复杂度以及 分包方法而 不同。 ..使用案例图叫确定用户需求 图.缺陷跟踪系统功能包的使用案倒图 .. ..大连理工大学硕士学位论文 使用案例图描述的是外部执行者所理解的系统功能。用例模型用于需求分析 阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格 达成的共识。从本质上讲,一个用例是用户与计算机之间的一次典型交互作用,执行者 是指用户在系统中所扮演的角色,其图形化的表示是一个小人。执行者与案例之间带箭 头的线段表示执行者与案例之间的关系 。 图.表示了基本角色具有的相关使用事例,上图中与“软件开发者“角色有关的 使用事例如下: 跟踪缺陷:当软件开发者跟踪缺陷时,更新缺陷状态以表明解决缺陷的过程。 更新缺陷文件:当缺陷的状态发生变化时例如:从状态变为状 态时,需修改缺陷文件来说明缺陷更新的原因。 标记为相同的缺陷:经常会有多个缺陷文件报告相同的缺陷,在这样的情况 下,最有效的方式是只打开一个缺陷,对其他缺陷将状态直接设为关闭并添加一个说 明。 检查缺陷状态:在跟踪缺陷过程中,任何职员都可以查看缺陷状态,以便做到 缺陷统计。 上图中与“质量工程师”角色有关的使用事例如下: 报告新的缺陷:测试人员可以提交新缺陷,无论代表顾客或代表项目内部测试 中发现的缺陷。 验证为再生的缺陷:当在现场报告了有关缺陷时,开始应请教支持工程师或开 发人员判断是否在开发环境下再生出来。这一步显著的减少了所遇到的某些问题,这些 河题可能是由于误用或误解原始式样书中的某部分而引起的,或者反复发生问题的地方 需要其它软件或特定的程序。 验证为已解决的缺陷:尽管允许软件开发者将缺陷标记为已解决的,但还是要 有质量工程师来钡试软件并判断解决方案是否有效,而且没有破坏其他程序。 上图中与“项目管理人”角色有关的使用事例如下: 向开发者指派缺陷:当提交了一个为“”状态的新缺陷时,如果缺陷没 有明确指定开发者,则需要指派给~个开发者来解决。管理人员是唯一被授权对缺陷报 告进行修改的角色。 定义缺陷属性:管理人员对于缺陷严重等级、缺陷修正优先级等一些缺陷属性 可以进行重新定义, ..软件缺陷跟踪系统的设计与实现 项目成员角色管理:当注册一个新项目或项目成员改变时,管理人员是唯一 被 授权对项目成员、项目角色调配的角色。 ..用顺序图 描述功能模块流程 虽然在使用案例图中可以加注释,以及在案例中加以详细的功能描述和工作流程描 述,但是对于业务流程复杂的功能模块,使用案例图并不能形象直观的显示执行者触发 】。 案例的工作流程,这?缺陷可由顺序图来补充 囤囤匮习囤 旱人~ “旦 , 、 门??????一????? 。,一 图. 功能包的顺序图.. 顺序图用来反映若干个对象之间的动态协作关系,着重体现对象间消息传递的时间 顺序,也就是随着时间的流逝,对象之间是如何交互的。顺序图由若干个对象组成,每 个对象用一个垂直的虚线表示。线上方是对象名,每个对象的正下方有一个矩形条,它 与垂直的虚线相叠,矩形条表示该对象随时间流逝的过程从上至下:对象之间传递 的消息用消息箭头表示,它们位于表示对象的垂直线条之间,时间说明和其他的注释作 为脚本放在图的边缘】。 ..设计原型 对于基于的应用,面向对象分析阶段另一重要成果是开发的系统原型,系统 原型不必完成真正的参数传递与方法调用,但要反映系统的真实流程。原型一方面使用 户者到系统的雏形,可以模拟数据流程走一遍,进一步确定系统功能的完备性;另一方 面原型是以后页面设计的基础。 ..大连理:大学硕十学位论文 下面是缺陷跟踪系统最终产品与原型的对比图,缺陷跟踪流程中的缺陷信息查询图 见图.。 图.缺陷查询原型图 ..基于设计模式进行系统地面向对象设讯立程 在面向对象的设计阶段,注意的焦点从问题空间转移到了解空间。是 一种包含对所设计系统的逻辑的和物理的过程描述,以及系统的静态和动态模型的设计 方法。 设计模式中增加了程序的可维护性、可扩展性,并使测试变得更加容易。缺 陷跟踪系统的部分只有一种页面展现形式,而没有无线用户、用户 等,因此将设计重点放在部分。部分采用技术实现,在面向对象程序 分析阶段根据需求分析结果建立的系统原型实现可以作为页面的静态部分,只需在 静态页面中嵌入实现系统业务的代码,部分即可实现。 ..软件缺陷跟踪系统的设计与实现 部分根据设计模式分为三个组成部分:,,。 是在各层间传输的,针对数据库记录的结构; 封装数据 提供对 库操作及数据库差异,提供对数据库操作的统一入口; 外统一访问接口,实现关系。 在面向对象设计阶段,需要把软件的功能抽象、细化,同时考虑数据间的层次关 系,建立与之对应的对象,接着分析对象间的关系即软件架构并定义对象的属性和 方法。基于架构应用的面向对象涉及可以归纳为以下四个步骤: ..使用结合设计模式进行系统结构化分析 面向对象分析阶段的使用案例图是从用户的角度观看系统的功能,是用户和系统分 析人员交流的桥梁。在清楚了解系统需求之后,在面向对象分析阶段需要从系统设计的 角度将系统功能重新抽象、细化,根据对系统功能抽象,将系统划分为功能定义清晰的 多个功能模块】。 在逻辑视图中系统的抽象功能模块及公共类模块可以用包来表示,包可以根据功能 划分为若干层次,然后根据 设计模式中、、三部分,每 个模块下还可划分为、、、、、等包: 图.模块包图 晦. ..使用抽取系统对象 面向对象思想的核心是将实际问题抽象成一系列封装了数据和操作的对象,在面向 对象设计阶段最重要的任务就是对象的抽取以及对象与对象之间关系的描述。对象的抽 取源于对系统功能的全面了解。在上一步中,根据对系统功能的把握抽象出若干功能模 块,要抽象出完备、合理的对象,还需对每个功能模块的内部流程进行详细分析 。 时序框图在面向对象的分析中已经使用过,在面向对象设计阶段,我们 从对象的角度来分析抽象系统功能模块的工作流程,并从中找出对象及其方法和属性。 .?查墼三奎茎堡主塑照 一一 ????????????????????????????????????????????????????????一 图.缺陷跟踪顺序图 遮..图.展示了缺陷跟踪系统子包中的缺陷跟踪时序框图。 从图.可以看出,时序图最上面一排方框表示此抽象功能泳道的类,虽然此时此 类的方法和属性尚未抽象出来,图中箭头表示类的方法调用,箭头上方的文字为此方法 的描述,箭头的出发方向表示此方法的调用类,箭头的指向方表示方法归属的类。通过 时序图对功能流图的详细描述,可以从中抽象出类的结构和类与类之间的关系。如果系 统流程过于复杂,时序图尚不足以抽象出类的组成和关系,还可以使用协作图和状态 图。本系统功能流程不是很复杂,用时序图即可描述清楚系统功能流程。 根据时序图抽象出对象的主要方法是在时序图中筛选名词、找出对象,继而找出与 对象相关的方法讧也和属性。。在对象的抽取过程中尽量遵循以下原则: 无论是属性还是状态,只要发生变化,尽量抽取为对象将其变化封装,有利于提高 扩展性。 能使用组合关系的尽量不使用继承。继承会使系统层次结构越来越复杂,父 类改变 的同时会影响许多子类。 尽量定义抽象类和接口,便于系统的扩展。 ..软件缺陷跟踪系统的设计与实现 对象抽取之后,可以将对象的类图画出,并分别放入上一步定义好系统包结构中。 例如根据上面的时序图,可以抽象出包中类图如图.所示。 ? 旧 一? : :【 图. 包图 .. 图.对象顺序图 .. 类图中不仅要详细定义类的属性和方法,还把这些类用相应的关系联接起来。 对象映射将完成的类映射到顺序图中,如图.所示。建立映射后,类图中的类发 生变化时顺序图也相应变化,但顺序图的变化不会影响到类图。因此类图若在实现中发 生了改动,该图会自动映射到顺序途中,保持了设计和结果的一致性。 ..大连理工大学硕士学位论文 ..模块详细设计 ...系统包结构 根据不同角色对系统有不同的操作权限、及系统的功能,可将分为四个模 块:登录模块、缺陷提交验证模块、缺陷跟踪模块及系统管理模块。 图.系统包结构图 .. .:系统唯一的入口点,主要实现了权限控制功能。 .:质量工程师专用模块,在此模块实现了提交新缺陷、验证缺陷等功 能。 .:被授权的管理人员专用模块,在此模块实现了缺陷系统的管理功 能。 .:开发人员与管理人员均可以访问的模块,实现了缺陷跟踪功能。 .:实现了程序与数据库数据的交互。 .:定义了系统需要的常量、专有信息。 系统的主要模块都用到了数据库类,数据库类的类图如图.所示。 ..软件缺陷跟踪系统的设计与实现 图.数据库类图 .. ...登录模块 主要负责权限验证,根据不同的使用角色,可进入不同的模块。在此模块主要 实现 了用户、、等功能。此模块的主要类图及类间关系如图. 所示。 ?百石磊???? ??四口 ???????????????????? ??. .口 .? 川:口 ???二???????二????... 硼。怖、删 四? ?????????????????????????????????一 蟊九.。 』医 ??????????????????一一 一:“?々.忆 图.登录类图 一 ....大连理工大学硕士学位论文 :验证业务 :访问控制过滤器,根据角色进行访问控制。 :字符编码过滤器。 :按钮说明类。 :用户授权类。 :权限代码类。 ..缺陷提交验证模块 主要负责缺陷的提交和验证,一般是测试工程师访问此模块,此模块的主要 类图及 类间关系如图.所示。 图.提交验证类图 .. :初始化缺陷生成页面,缺陷登记人从登录页面取得。 :提交新缺陷,将缺陷信息保存到后端数据库。 :与后端数据库中的缺陷信息表相对应。 :显示缺陷登记人提交过的缺陷信息。 。.软件缺陷跟踪系统的设计与实现 :缺陷验证,验证修改责任人修正的缺陷是否正确。 ...缺陷跟踪模块 主要负责缺陷跟踪,一般是开发工程师访问此模块,此模块的主要类图及类 间关系 如图.所示。 :缺陷跟踪控制类,控制跟踪业务流程。 :缺陷跟踪业务类。 :缺陷曲线统计生成类。 :以格式下载缺陷统计信息。 向有关人员进行自动发送。 图.缺陷跟踪类图 .. ...系统管理模块 此模块主要负责系统的管理,图.展示此模块的主要类图及类间关系。 :系统管理控制类。 :系统管理业务类。 ..大连理工大学硕士学位论文【?九 四? ??九 ?女 咖。 ”『四目口。舳自州口??四仲叫怖: 怖?懈,阳 ?九嗍? 尽 删帅 ?口:“?.日????酬“口 ?舳口俐??划? 口嗍四 ?幛 ?晒????口胤叫怖 四 ~叫??酬八 九?怖? ?四“???? ?々旧?。幛?九 ??岫?』?目?。‘眦?胁叫,帅.?..? 。 ,开 一 一.。辩, “卜:, 《鹜丞一 。卜 图.系统管理类图喀.系统架构及数据库设计 缺陷跟踪系统为基于应用框架的应用系统,本文依据框架的个 基本组成部分:视图、模型、控制器,详细描述系统的设计实现。 .. 架构设计 目前市场已经出现了一些通用缺陷跟踪管理软件,这些软件在功能上各有特点。在 本系统中,本着高内聚合低耦合的重要原则,尽量降低系统各个部分之间的耦合度,将 系统基于架构划分为典型的三层应用软件系统:数据层、业务层和用户界面层。 为了使应用服务层的设计达到最好的效果,还需要对各层作进一步的职能分析和层次细 分。 图.中,各层需要做的逻辑如下: 表示层:本层执行前一个画面发生的商务逻辑、或者生成下一个画 面中表示的必要信息等。 业务层:本层进行业务逻辑的实现。 数据层:本层处理系统中需要的持久化数据。 功能内聚和数据耦合是设计本系统需要达成的目标。内聚和耦合包含了横向和纵向 的关系。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦 一.软件缺陷跟踪系统的设计与实现 合体现在系统的各个层次之间的关系。在本系统中为使性能更优良,除各层内部要遵守 一定的规则之外,各层之间还指定了一系列的约定,如下: 相关的东西只允许出现在表示层。 表示层数据需要经过转换后业务化,才能向业务层传递。 业务层对表示层的调用接口只体现在类,该类可根据业务模块划分。 图.缺陷跟踪系统的系统结构图.. ..缺陷数据库设计 在设计模式中,的组成部分之一 ?是后段数据库与前 端显示逻辑之间传递数据的桥梁,中类的属性是与数据库的表结构相对映的。如果 中的类已经抽象出来了,则可以根据来设计数据库;如果数据库是即定的,则 可以根据数据库的表结构来抽取中的类的属性。缺陷跟踪系统的数据库结构是由系 统功能分析设计得出的,中类的属性决定了数据库的结构。 ...系统数据库设计 系统数据库的设计实现,对系统的应用具有重要的意义。系统选用数据库 版本实现缺陷跟踪系统的数据维护与管理【。依据系统的功能需求,数据 库主要包含如下数据表: .大连理工大学硕士学位论文 缺陷信息表:描述缺陷信息相关内容。 项目信息表:描述除项目模块之外的项目信息相关内容。 项目模块表:描述项目模块的信息,由于多个模块的存在可能性,所以把模块 信息 从项目信息中抽离出来。 缺陷严重程度表:根据不同的项目情况可以定义缺陷的严重程度。 缺陷优先级表:根据不同的项目情况可以定义缺陷的优先级。 缺陷类型表:根据不同的项目情况可以定义缺陷的类型。 员工信息表:员工信息的基本描述。 角色信息表:角色描述信息。 权限信息表:权限描述信息。 员工到角色的映射表:将员工与角色关联起来。 角色到权限的映射表:将角色与权限关联起来。 ...数据库设计图 缺陷信息表:缺陷描述信息。 项目信息表:、名称、描述、登记日期、预计发布日期、发布日期、项目双 方。 项目模块表:项目?、模块名、模块代号。 缺陷严重程度表:项目、程度、描述。 缺陷优先级表:项目、优先级、描述。 缺陷类型表:项目?、类型、描述。 员工信息表:员工,员工名,员工密码 角色信息表:角色?,角色,描述。
本文档为【软件缺陷跟踪系统的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_083599
暂无简介~
格式:doc
大小:71KB
软件:Word
页数:0
分类:工学
上传时间:2017-11-13
浏览量:24