1.软件的质量与质量属性
什么是软件的质量呢?
Software quality is the degree to which software possesses a desired combination of attributes
(e.g., reliability, interoperability) [IEEE 1061].软件质量就是软件满足一系列期望属性的程度
那什么是质量的属性?
质量事实上是由许多特性组成的,因此通常用一些复合特性关联起来的模型来描述质量的属性,质量的模型 ,就是由质量属性,以及质量属性进一步分解而得到的质量准则来建立。
下面介绍一种McCall的软件质量模型
因此对于系统来说,“质量”体现在一系列的“质量属性”的达成情况中。功能理所应当的属于“质量属性”的一种。所以完成功能是系统的一个主要目标,但并不是“唯一”的目标。
质量的目标与达成
质量控制:是基于一个设定标准,测量结果,判定是否达到预期要求的活动。设定的标准来源于质量目标与要求,如测试,评审,试用等。
质量保证:致力于提供一种“信任”,即:软件质量会被得到满足。这种信任和信心可以由内部提供给外部,也可以由内部一个方提供给另一方。
质量改进:致力于增强满足质量的“能力”,往往在组织层面进行。
3.质量保证探究
对“保证”assurance 的理解
assurance [�'�u�r�ns]
1. 保证;信任,信赖
2. 表示保证(或安慰、鼓励)的话;诺言,允诺;确 说,断言
3. 信念,确 信,把握,信
4. 自信,满怀信心,对自己才能的信心;镇定,沉着
质量保证的概念
质量保证是质量管理的一部分,致力于提供质量要求会得到满足的信任(ISO9000)质量保证是有计划和系统性的活动,它对部件或产品满足确定的技术需求提供足够的信心(IEEE),质量保证归根结底是提供一种信心。平时高强度训练也可以为最终的比赛成功提供提供一种信心。
如何提供这种信任和信心?
过程管理的理念:保证了过程及其关键因素就能够保证质量,但是前提是定义的过程能够保证质量。
过程没有有效实施的原因,一般有压力、习惯、错误和关键因素识别偏差这几种。
由于压力,人们会走捷径;由于习惯,人们会按照自己熟悉的或者方便的动作来做;由于发生错误,使过程无法达到目的;由于没有识别关键因素,是过程的有效性降低
4.QA的责任和使命
过程的可视性:输入的偏差、活动的偏差、输出的偏差、风险的识别以及对偏差的报告和解决。
5.CMMI语境下的质量保证(PPQA)
过程和产品
质量保证(PPQA)的目的在于使项目成员与管理层客观的了解过程及相关的工作产
品
主要涉及以下活动活动
1. 按照过程、标准和工作程序,客观评估所执行的过程、工作产品
2. 识别并记录不符合项
3. 给项目成员,管理人员提供QA结果反馈
4. 确保不符合项得到处理
PPQA的目标与实践
SG1 Objectively Evaluate Processes and Work Products 客观的评估过程和工作产品
SP1.1 Objectively Evaluate Processes 客观的评估过程
SP1.2 Objectively Evaluate Work Products 客观评价工作产品
SG2 Provide Objective Insight 提供客观的可视性
SP2.1 Communicate and Resove Noncompliance Issues 沟通并确 保解决不符合项
SP2.2 Establish Records建立记录
“客观”依赖“独立”
独立与项目以外的质量保证人员提供了客观性,最好还能独立于流程制定人员。客观评估的手段
一般有正式审核、同行评审、观察现场和访谈。
客观“可视性”如何提供?
1. 和项目人员的良好沟通
2. 尽可能让相关人员知悉和解决不符合
3. 顺畅和直接的高层沟通渠道,当不符合无法项目内解决时可以升级
4. 评估结果和分析确 保干系人的及时知悉
5. 良好的记录
6.软件质量保证的现状与问题
1)QA的岗位设置问题
QA究竟是什么?是项目管理员?系统和权限维护人员?文员?测试人员?
2) 与项目的关系?
与项目的高层的关系?与EPG组的关系
质量保证工作的组织方式
3) 从项目视角看QA
尽管组织上QA可能独立于项目团队,但QA活动牵涉的成本,最终都将计入项目成本,所以我为什么花钱雇一个人来观察我是如何运作并管理项目的?
7.QA审核的目的
1) 客观反映审核对象的过程实施情况
审核结论需要具备可信性、透明性,完整性,不以个人意愿为转移
2) 为审核对象改进提供依据
3) 为组织过程改进提供依据
8.QA工作的依据是什么?
1) EPG组制定的规程
2) QA的判断,判断的界限在哪里?判断是否会影响“可视性”?常见问题:QA的就地立法
3) QA的依据--规程本身的有效性
QA工作的有效性依赖于规程的有效性
但完备的规程不是一蹴而就的,另外由于软件技术、环境的变化,也不存在永远“完备”的规程,QA提供的可视性兼顾流程本身的优化,QA工作是规程优化和改进的最重要环节。
活
9.QA的威信从哪里来?
QA工作提供的可视性,除了当期,更需要从历史的视角来看待其价值,QA对过程记录和量化数据的分析,有助项目和组织问题的根源分析。
究竟什么是“客观评价工作产品”
1)客观评价过程与客观评价工作产品
2) 客观评价工作产品的目的和手段
10.有效质量保证
1) 明确QA的目的与使命
提供“可视性”而非直接参与项目
a) 过程的符合性与有效性
b) 工作产品的产生过程质量与实际质量
可视性所服务的对象:各种干系人,包括项目负责人、项目成员、高层、过程改进人员
2) 有效质量保证的影响因素
a) 成熟、有效的过程定义
b) 有专业素养和沟通能力的QA人员
c)高层领导的支持和有效的高层沟通渠道
d)质量导向文化的项目团队
e)独立的QA团队
3) 严谨的QA判断依据
QA判断的依据只能来自于过程定义和审核的发现的证据,并且QA的判断要独立于所处的组织、
by