Archive for the 'SQA' Category

质量控制技术(三)

03月 9th, 2005 by Genthelvite

软件度量

参照《软件项目管理》

 

1、错误数:由组织准确定义的如千行代码的错误数等。

2、修改数:分为错误和增强功能两类。如频繁修改,则可能是某件事情出现问题。

 

质量认证

并不一定意味着该组织的最终产品是优质产品。保证的是组织的质量意识和生产过程

 

ISO9000

精髓:“记录您所做的,做您所记录的”

保证程序和系统得到良好地备案和实施。

步骤1,建立一个有效的质量管理系统。

步骤2,组织人员进行相关流程的培训。

步骤3,开始所有流程的实施。

步骤4,由外部人员完成预评估审核,并进行最终评审和认证审核。

ISO9000的监督审核周期:一个组织在三年内每六到十二个月要经历一次。三年后须重新认证审核。

ISO9000认证最多相当于SEI成熟度流程的22.5级。

 

CMMCapability Maturity Model

根据CMM标准,组织的成熟度显示该组织处理复杂项目的可预见性和能力。

CMM定义的成熟度级别如下:

Ø        
初始级:只专注于编程与测试。

 

Ø        
可重复级:企业过程已制度化,有纪律,可重复。

 

Ø        
定义级:过程实现了标准化并集成到一个协调的整体。

 

Ø        
管理级:软件产品具有可预期的高质量,企业已实现过程定量化。

 

Ø        
优化级:企业主动对过程优化、找弱点长处并有长远的分析。

 

CMM使软件组织进入TQM领域。

质量控制技术(二)

03月 6th, 2005 by Genthelvite

其它质量要求

 

风险管理

利用风险评估表或检查单来概括项目所面临的客户、人力、硬件、技术等风险的影响。

1、  风险量化:造成的破坏必须以货币形式量化。风险系数=损失*可能性

2、  风险处理:项目经理应有风险意识,事前做好应急措施,必要时培训相关领域人员。

 

应急规划

有必要对系统开发阶段制定应急计划,如可形就进行测试。

 

审核

由一组独立于项目组的人员(质量保证小组或软件工程过程小组(SEPG))负责安排内外审核。

1、  何时审核

审核的时间和周期应根据具体内容、手册、外部实体(如ISO9000)制定。

2、  谁来审核

一个独立的、经过充分培训的、且熟悉开发的小组会对审核更有意义。

3、  审核规划

审核小组需对项目的背景和现状有较充分的持续理解。

4、  进行审核

必须依据备案的审核程序进行,如不能得到多数人共识应备案。项目经理应附上意见。

5、  审核报告

应散发给整个组织系统所有成员,讨论后必须得到审核领导人员和项目经理的一致同意。

6、  纠正措施追踪

审核人员应跟踪双方同意的纠正措施在项目小组的实施情况直到工作完成。

 

供应商管理

软件组织必须有一个良好的选择供应商的程序,并保证所提供的产品是符合验收标准的。

1、  选择

应实施开放式招标,尽量从众多的检查单中找出最佳选择。

2、  评估

及时沟通(修正误差),对供应商进行定期评估和更新。切勿等到开发结束时才进行。

3、  产品验收

应以书面协议方式对产品功能及其它方面(如安全要求)进行检查。验收标准尽量在编写功能说明书的阶段制定。

质量控制技术(一)

03月 1st, 2005 by Genthelvite

SDLCSoftware Development Lift Cycle

 

软件开发方法学(SDM:Software
Development Methodologies

1、  质量管理系统

公司应该有一个专职的“质量保证小组(QA)”或“软件工程过程小组(SEPG)”根据反馈信息定义、监视和微调软件开发过程。

l        
过程:“关键过程域”(KPA:Key
Process Area
,每个过程都应有质量策略,它表明管理层想让组织在一段时间内达到的愿望。

l        
标准:对每个过程的输入和输出功能的形势和内容的定义。

l        
技术:如批、排序、搜索、打印和选择等组织进行标准化的技术。

l        
指南:相对标准可作灵活应用。

l        
模板:可帮助组织对标准的执行。

l        
检查单:帮助记忆检查疏漏,项目资源需求列表就是一个例子。

l        
表格:维护执行方便,另可增强组织的电子文化氛围。

2、  文档结构

工作流程文档应该固定保存在“文档管理系统”并分为两个单独的、易于引用的部分a部分列出所有的过程及其描述b部分其它具体项

3、  文档更新

因根据组织的需要必须定期平衡的进行文档更新。

 

质量控制方法

1、  评审:用非项目组的专家小组找出不足,无需给出解决方案。

2、  预排:是对评审的细化,以确认读者已正确理解文档。

3、  检查:非创建者应以列表形式给出一个正式的说明。

 

SDLC各阶段中的质量控制方法

1、  用户需求说明书:可企业与用户用澄清的方法来更新它,必要时可做Demo

2、  评估:项目经理(或多人)进行成本-利润分析。给客户前要先评审

3、  功能说明书:由各领域专家进行内部评审,必须有一个与用户、该软件产品的最终使用者共同评审的过程。

4、  设计说明书:将功能需求转化为满足客户需要的计算机系统。

5、  程序说明书:最好进行一次预排,以帮助程序员理解和找出遗漏的地方。

6、  单元测试计划:应规定单元测试必须执行的代码行的最小百分比。

7、  编码:坚持编程规范,必须达到修改代码可接受的百分比

8、  单元测试:作者执行单元测试计划并由另一人或自动测试工具以确保验证结果。

9、  系统测试:应保存历史记录、日志,测试组和开发组应分隔工作。

10、用户测试:用户审核用户手册,看它对系统所有功能的说明是否完整和准确。

11、系统文档:用户手册、操作手册、技术文档等指导系统的使用和操作。

12、实施:用户或软件最终使用者能看见使用新系统的实际好处,并进行对等检查。

13、项目管理:指导委员会的应指派项目负责人对项目和计划进行监督。

软件测试

参考《软件测试技术》

质量管理概念

02月 28th, 2005 by Genthelvite

质量的定义:

l        
合格产品是适用产品(用户角度)

l        
合格产品是按预先定义的规格生产的产品(生产角度)

 

质量成本的构成:

预防成本(如对供应商的评估)+评估成本(如邀请公证处公证)+机会损失(如人事变动造成的不稳定影响)

 

质量与创造力:

质量意识强的组织总是尝试“试验”新的观念,以更新为当前最新的标准。

 

可接受的质量级别:

定义准确的可接受的质量级别能帮助组织不断改进质量的管理。

 

必须定义质量

能够客观的进行评估和不管改进(如软件Bug数量的限制)

 

“PDCA流程

PDCA的流程(Plan Do Check Action)就是产品的质量或服务水平持续提高的过程。

例:对网站开发者进行多样化的技术培训,从而使原本Only IE的网站更符合W3C 的规则。

重复应用“PDCA流程的过程会使质量改进处于螺旋式上升状态。

 

全面质量管理(TQM

是在组织的每个领域的每个级别上以客户为中心的“持久改进”的应用。

 

质量保证(QA:Quality
Assurance
)和质量控制(QC:Quality
Control

l        
QA相当于生产过程的预防

l        
QC相当于最终产品的检查

 

质量氛围和环境

1、  建设性意见

鼓励参与、客观讨论

2、  倾听

组织应在员工中提倡良好的倾听意识,以便评估所有的解决方法,并执行最佳解决方案。

3、  统一行为

统一的是日常工作的过程和标准而不是技术和操作方式。有效的执行团队行为可以确保质量。

4、  冲突解决方法

组织中良好的氛围必须具有解决这种冲突的有效方法。(如收集事实数据,启动一个具有可行性的计划)

5、  定期培训

定期有效的培训是质量计划得以成功之行的关键因素。(尤其是处在“金字塔”塔尖的中高层的质量意识和专业知识水平对组织的质量管理至关重要)

6、  其他公司的质量计划

以开放的心态去研究其他公司的质量计划以确保质量的不断改进。

 

“持续改进”暗示着什么

持续改进暗示公司中的改进过程永无止境。学习新的理念“即使一些东西看上去工作正常,总是可以通过改进使他工作的更好。”

前言

02月 28th, 2005 by Genthelvite

随着竞争的不断加剧,质量管理越来越成为所有组织管理工作的重点。软件质量保证(Software Quality Assurance)是软件组织为了确保最终软件产品的高质量。对软件生产及其相关过程的管理方法和手段的总称,也可以称为软件质量管理。
本专题的笔记中,genthelvite将介绍软件质量管理的基本概念,讨论一个高质量的组织需要哪些关键的质量控制技术、环境和氛围,同时还将介绍软件度量和质量认证。