软件质量保证复审研究

摘要】软件质量保证软件开发的重要内容。软件质量保证复审则是软件质量保证的重要组成。本文就软件质量保证复审系统性和应用性做些探讨。

  【关键词】软件质量保证体系;系统性

  一、软件质量

   软件质量是“与软件产品满足规定和隐含需求的能力有关的全体特征(或特性)”。为满足软件的各项规定的或隐含的功能、性能需求,符合文档化开发标准,就 需要相应地设计出一些质量特性及其组合,质量目标,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产 品的质量就是高的。这些被定义出来的特性及其组合就称之为软件“质量目标”。软件质量是各种特性的复杂组合,它随着应用的不同而不同,随着用户提出的量要 求不同而不同。承担保证软件质量的任。包括软件工程师、项目管理者、客户、销售人员和SQA(Software Quality Assurance)小组的人员。

  二、软件复审

  (1)软件复审:软件复审是软件工程过程中滤除缺陷的“过滤器”。在软件项目开发过程中的多个不同点上,软件复审活动能够起到及早发现错误进而引发排错活动的作用。软件复审目的是尽可能多地发现被复审对象中的缺陷,起到“净化”工作产品作用。由于发现别人生产工作产品中的缺陷比发现自己的缺陷要易,所以复审应在不同的工程师之间进行。任何一次复审都是借助人的差异性达到目标活动,目标包括:①指出一个人或一个小组生产的产品所需进行的改进。②确定被审核产品中不需要或者不希望改进的部分。

   (2)软件缺陷对成本的影响:在软件工程活动中,“缺陷”是指在软件交付给最终用户后发现的质量问题;而“错误”描述在软件交付前由软件工程师发现的质 量问题。很明显,缺陷带来的危害远大于“错误”带来的影响。因此,正式技术复审的主要目标就是在复审过程中发现错误,以便潜在的缺陷在交付之前变成“错 误”并得到纠正。正式技术复审的明显优点就是能够较早发现错误,防止错误传播到软件过程的后继阶段。“尽早”发现错误是我们的追求,因为同样的错误对成本 和工期产生的影响与发现错误、改正错误的时间是密切相关的。

  (3)缺陷的放大和消除:可以用“缺陷放大模型”来说明及时的复审在软件工 程中的作用。复审过程可能没有完全发现来自此步骤之前的和新发生的所有错误。从而可能在本阶段“继承”了一些错误,并将一部分错误引入下一阶段。其中,一 部分来自前一阶段的错误可能会误导本阶段的工作,导致在错误的基础上产生更多的错误,形成错误的“放大”效应。

  三、正式的技术复审

   正式技术复审(FTR)是一种由技术工程师进行的软件质量保证活动。FTR的目标是:①在软件的任何一种表示形式中发现功能、逻辑或实现上的错误。②证 实经过复审的软件的确满足需求。③保证软件的表示符合预定义的标准。④得到一种以一致的方式开发的软件。FTR是一类复审方式,包括“走查”、“审查”、 “轮查”以及其他软件小组的技术评估。每次FTR都以会议形式进行,经过适当地计划、控制和相关人员参与,FTR才能获得成功。

  (1)复审会议的组织:从保证会议效果出发,不论进行什么形式的FTR活动,会议的规模都不宜过大,控制在3~5人较好;每个参会人员都要提前进行准备,但是复审准备工作占用的工作时间应当少于两小时;会议的时间不宜长,控制在两个小时之内。

   FTR的焦点是某个工作产品,比如一部分需求规约,一个模块的详细设计,一个模块的源代码清单等等。负责生产这个产品的人通知“复审责任人”产品已经完 成,需要复审。复审责任人对工作产品的完成情况进行评估,当确认已经具备复审条件后,准备产品副本,发放给预定要参加复审的复审者。当发现错误和问题时, 记录员将逐一进行记录。在复审结束时,必须做出复审结论。结论只能是下列三种之一:①工作产品可以不经修改地被接收。②由于存在严重错误,产品被否决。③ 暂时接收工作产品(发现了轻微错误需要改正,但改正后无需再次评审)。

  (2)复审报告和记录保存:在FTR期间,一名复审者(记录员) 主动记录所有被提出来的问题。在会议结束时对这些问题进行小结,并形成一份“复审问题列表”。此外还要形成一份简单的“复审总结报告”。复审总结报告中将 阐明如下问题:复审对象是什么;有哪些人参与复审;发现了什么,结论是什么。复审报告是项目历史记录的一部分,可以分发给项目负责人和其他感兴趣的复审参 与方。复审问题列表有两个作用,首先是标识产品中的问题区域,其次将被用作指导生产者对产品进行改进的“行动条目”。 在复审总结报告中,复审问题列表应当作为附件。

  (3)复审指南:不受控制的错误的复审,比没有复审更加糟糕。所以在进行正式的复审之前 必须制定复审指南并分发给所有的复审参加者,得到大家的认可后,才能依照指南进行复审。正式技术复审指南的最小集合如下:①复审对象是产品,而不是产品生 产者。复审会议的气氛应当是轻松的和建设性的,不要试图贬低或者羞辱别人。通常,有管理职权的成员不宜作为复审者参加会议。②制订并严格遵守议程。FTR 会议必须保证按照计划进行,不要离题。③鼓励复审者提出问题,但限制争论和辩驳。有争议的问题记录在案,事后解决。④复审是以“发现问题”为宗旨的。问题 的解决通常由生产者自己或者在别人的帮助下解决。所以不要试图在FTR会议上解决所有问题。

  复审是贯穿于整个软件工程始终的保护性活 动。目的是通过对工作过程和阶段工作产品的审查与审核,尽量地预防错误,及早地发现和纠正错误,防患于未然。对生产过程的审核将及时发现和纠正违背已定义 的工程过程规范和组织标准的行为,防止因过程的偏离导致产品中出现错误。复审活动还包括对各类工作产品的复审与检查,以便及早发现和纠正已经发生的错误, 避免错误放大效应的发生。历史缺陷数据的积累、统计和分析有助于开展基于统计规律的SQA任务,能够帮助我们集中力量去解决导致发生错误和缺陷的最重要的 问题,取得事半功倍的效果。通过复审,我们能够基于统计规律,在度量基线的支持下,定量地评述软件的可靠性指标,从而满足用户提出的量化的可靠性性能需 求。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-04 06:50:07

软件质量保证复审研究的相关文章

软件测试-什么是基于统计的SQA(软件质量保证)?作用是什么?

问题描述 什么是基于统计的SQA(软件质量保证)?作用是什么? 什么是基于统计的SQA(软件质量保证)?作用是什么?什么是基于统计的SQA(软件质量保证)?作用是什么?什么是基于统计的SQA(软件质量保证)?作用是什么? 解决方案 软件质量保证(SQA)建立套有计划有系统方法来向管理层保证拟定出标准.步骤.实践和方法能够正确地被所有项目所采用 软件质量保证目使软件过程对于管理人员来说见通过对软件产品和活动进行评审和审计来验证软件合乎标准软件质量保证组项目开始时起参与建立计划.标准和过程些使软件项

软件质量保证管理办法

本文档的目的是为特定产品.项目或合同的质保工作提供指导,帮助项目组其他成员了解质量保证要素,明确质量保证活动,确定质量保证范围.本文档将规定项目质量管理员的职责和权利,资源要求,活动安排,进度,要求质量保证活动中必须生成的文档,反馈问题的方法和频度等. 一.管理组织 本公司的软件质量保证活动统一由质量管理员进行管理.检查与汇报,公司相关部门经理及项目中的项目经理.程序经理.开发经理.测试经理.产品经理.测试经理.用户教育经理是质量保证活动中的第一责任人. 二.软件开发过程 本公司的软件开发过程分

2010年软件行业标准复审结论公示

为做好软件行业标准的维护工作,及时更新和淘汰老化落后标准,提高软件行业标准的科学性.适用性和有效性.按照<中华人民共和国标准化法>对标准复审的要求及程序,我们组织开展了标龄5-10年软件行业标准复审工作,经部内有关司局.标准化技术归口单位和标准化技术组织的评审,现已确定了18项行业标准复审结论,其中继续有效11项,拟修订6项,拟废止1项. 根据<工业和信息化部行业标准制定管理暂行办法>规定,现予公示.如有异议,请于2011年1月7日前向我部反映(邮件主题注明:软件标准复审公示反馈)

云计算环境下软件性能测试技术研究

云计算环境下软件性能测试技术研究 王立群  李兆翠  孙庆波 / 山东协和学院计算机学院 随着互联网.物联网.虚拟化等技术的发展,云计算给软件性能测试带来了新的机遇与挑战.本文以软件性能测试为落脚点,分析云计算环境下软件性能测试的可行性,阐述了云计算环境下软件性能测试的优势和其面临的挑战,在此基础上,对云计算环境下软件性能测试进行展望,提出下一步需要研究解决的问题. 云计算环境下软件性能测试技术研究

软件开发质量控制研究

[摘要]本文指出了软件开发过程中质量控制的重要性,通过分析开发过程中存在的问题,提出了一些提高软件开发质量的方法的对策措施. [关键词]软件开发:软件工程:质量控制 软件质量是指开发出来的软件不仅可以满足客户明确提出来的要求还要满足某些没有明确提出来的要求,软件质量越高,客户需求满足度就越高.软件项目质量控 制不仅仅是控制软件设计的最终结果,它其实要求贯穿于软件设计项目的全过程,从软件开发初期的客户需求调查,到最终的软件交付评审,每个阶段都要进行仔细 的控制,才能提高软件开发的质量. 一.软件开

大型软件回归测试方法研究

摘要:程序被修改后,要保证程序能正常运行并且修改不能给程序质量带来任何负面影响,回归测试是必要的.大型软件系统结构复杂,构成要素多,如何做到不遗漏功能点同时降低软件回归测试代价,本文结合业务规则模型.修改影响分析和成本风险管理等技术提出了一种自动化回归测试方法. 关键词:回归测试风险管理修改影响分析 1.引言 在软件测试过 程中,由于需要对软件进行修改,修改后的程序必须重新测试,以确保程序的修改是否达到了目的和是否引入了新的错误,这种测试就是回归测试.软件的变化可能 是源于发现了错误并做了修改,

为类提供软件约定“.NET研究”

根据一种很好的旧软件开发做法,应在每个方法的顶部(即实现任何重要行为之前)放置一个条件语句作为屏障. 每个条件语句都检查输入值必须验证的不同条件. 如果条件未通过验证,代码会引发异常. 这种模式通常称为 If-Then-Throw. 但是,有了 If-Then-Throw,我们就可以编写出高效正确的代码吗? 是不是在所有情况下,这都足够了? If-Then-Throw 不是在所有情况下都能解决所有问题,这不是什么新观点. 根据约定设计 (DbC) 是 Bertrand Meyer 几年前提出的方

《实践者的研究方法》—— 第2章 软件工程 2.4 软件开发神话

2.4 软件开发神话 软件开发神话,即关于软件及其开发过程的一些被人盲目相信的说法,这可以追溯到计算技术发展的初期.神话具有一些特点,让人觉得不可捉摸.例如,神话看起来是事实的合理描述(有时的确包含真实的成分),它们符合直觉,并且经常被那些知根知底的有经验的从业人员拿来宣传. 今天,大多数有见地的软件工程师已经意识到软件神话的本质--它实际上误导了管理者和从业人员对软件开发的态度,从而引发了严重的问题.然而,由于习惯和态度的根深蒂固,软件神话遗风犹在. 管理神话.像所有领域的经理一样,承担软件职

《实践者的研究方法》—— 导读

前 言 如果有这样一款计算机软件,它能满足用户的需求,能在相当长的时间内无故障地运行,修改起来轻松便捷,使用起来更是得心应手,那么,这款软件必定是成功的,它切实改善了我们的生活.但是,如果有这样一款软件,它令用户失望,错误频出,修改起来困难重重,使用起来更是举步维艰,那么,这必定是一款失败的软件,它使我们的生活一团糟.谁都希望开发出优秀的软件,为我们的生活带来便利,而不是把自己陷入失败的深渊.要想使软件获得成功,在设计和构建软件时就需要有规范,需要采用工程化的方法. 自本书第1版问世以来的近35