软件质量定义
上一篇 / 下一篇 2009-02-25 00:35:01 / 个人分类:随便翻翻
软件质量定义:
51Testing软件测试网#cFm6M!Jmd(e软件测试是为了检验软件存在的缺陷,为了软件提供更好的质量保证。51Testing软件测试网J~+qyO C8N;p|*PY
51Testing软件测试网 J k&G,|WA]0[那么质量是怎么定义的呢?怎么样的才算好的质量呢?51Testing软件测试网"q\:?q#l
c*UA&jc%_0
最好的产品是用户不用说明书就能使用的产品;51Testing软件测试网}1T([h9L~L51Testing软件测试网1^ i"G QTl?&`2o3Zs Xw({7A6{3z:~#S0
b@ Ue}0AN7zs$B4Q)T(C2B0H0——
——好员工是能站在企业角度考虑问题的员工;51Testing软件测试网E|p C*iAl
51Testing软件测试网4S @mCQ3WD(p&[v w——最好的服务是能让顾客有宾至如归感觉的服务;
3?Nn3|C051Testing软件测试网 HLW8X!vl0A[ISO是这样定义的:质量是实体基于实体特性满足需求的程度。
x I B-Q8B0软件质量的三个层次(由低到高):
`H@J(rW0- 符合需求规格:满足了开发者明确定义的目标;
- 符合用户显示需求:符合用户明确说明的目标;
- 符合用户实际需求:满足用户明确的和隐含的需求。
影响软件质量的因素:51Testing软件测试网-l,S\W!Mps
软件质量的提高是一个综合的因素。51Testing软件测试网w+_6rjv
软件质量管理体系:
流行的软件质量管理体系有:ISO9000、CMMI/CMM、六西格玛51Testing软件测试网y4{n Ftg E3i.\
ISO9000:2000的管理八项原则:
- 以顾客为中心:满足顾客的需求、期望才能保证组织的存在;
- 领导作用:好的组织离不开好的领导;
- 全员参与:真正创造效益的是员工;
- 过程方法:一个好的流程规范是产品质量的最重要保证
- 管理的系统方法:采用好的方法提高效率、有效性
- 持续改进:可持续发展战略
- 基于事实的决策方法:能达到量化每一个过程
- 互利的供方关系:双赢
八项质量管理原则的意义:
- 质量管理的理论基础;
- 概括了一般性的规律;
- 提供理论依据;
- 遵循的原则;
CMMI(Capability Maturity Model Integration)/CMM(Capability Maturity Model):
CMMI/CMM除了能评估软件承包商开发软件的能力,还能协助软件组织改进过程、提高过程能力。51Testing软件测试网'V9q#XJ8g1A g R"T
CMMI是CMM的集成和综合,集成了CMM-SW、CMM-SE、CMM-IPT、CMM-SA51Testing软件测试网~p,Wf$c6w4Rd
实施CMMI/CMM有什么必要呢?
0lH$i;E6r~0
- 业界的实施标准
- 业界的一种交流语言
- 国内企业获取国际订单的门槛
- 向下采购的保障:如软件外包公司的承包评价
- 降低软件风险的有力手段
CMMI/CMM五个级别51Testing软件测试网\/|G!y(|&ub\V"J:p
- 初始级:不可预测的,有能工作的团队;
- 可重复级:有大概的流程,不过过程可重复,有组织;
- 已定义级:软件过程标准已文档化,有组织(SEPG)来管理标准并实施此标准,定义标准过程,保证过程的标准型和一致性;
- 已管理级:能预定量化的目标,保证效率和质量,量化过程并采集过程数据来控制过程,是可预测的过程;
- 优化级:改进过程,预防弱点,改进新技术。
t},p;K5{8S0
关键过程区域:KPA(key process area)
过程域:指的是事情的某一方面,也是其中一方面。下面列举了CMM各等级里面的关键过程域。51Testing软件测试网 [0I6}!j W5jR
CMM2:可重复阶段:51Testing软件测试网PV*V [1|2sNoV1r
需求管理:requrement management51Testing软件测试网 yO0`'nB8w`2{)ct
软件项目计划:software project planning
C}#iU1z-M$ro0软件项目跟踪和监督:software project tracking oversight51Testing软件测试网4^ ZzsQCH)F\;s
软件子合同管理:software subcontract management51Testing软件测试网#WP,N&g w0}
软件质量保证:software quanlity assurance
#p#oA9EA@O0软件配置管理:software configuratione management
*c.~1o`s!m*b,Jj0CMM3:已定义阶段:
;S6v0DK\O/n2o*S0组织过程焦点:organization process focus51Testing软件测试网0Y ?]W$C
组织过程定义:organization process definition51Testing软件测试网9A0f@b ri+w
培训大纲:training program
K }-|,^ c$i/M Y,_0集成软件管理:intergrated software management51Testing软件测试网J0` `lo r4\
软件产品工程:software product engineering51Testing软件测试网Q D)f'x f3M
组间协调:intergroup coordination
X,XQTj/\ i0同行评审:peer review51Testing软件测试网)R:b}m}"K
CMM4:已管理阶段:51Testing软件测试网1@{6NuTStd.\
定量管理过程:quantitative process management51Testing软件测试网'n?H-CUohw
软件质量管理:software quality management51Testing软件测试网6Bo,_1J _9I$n4g;u
CMM5:优化阶段:
Fb$]"[fh,Y0缺陷预防:defect prevention51Testing软件测试网6e8b,j,~D
技术改革管理:technology change management51Testing软件测试网;}gx1{DVZ
过程更改管理:process change management51Testing软件测试网JpS:JB0`b6W
CMMI/CMM的用途:
评估组用来识别组织的强处和弱点; 评估组用来识别选择不同的业务承包商的风险和监督合同; 管理者用来了解组织的能力并提高能力成熟度所进行的活动; 技术人员和过程改进组的指南ISO9001与CMM的关系
相似点:强调管理、过程、规范化和文档化 不同点:CMM只针对软件;而ISO9001还包括硬件、流程材料和服务 联系:CMM 2级与ISO9001强相关;CMM的每个关键过程域至少与ISO9001弱相关(更多CMM资料请点击:http://baike.baidu.com/view/8110.htm)51Testing软件测试网^A1fu3Dh(U.H
六西格玛(6σ)管理法
特点:51Testing软件测试网 ^;XsX _#]Gf
- 以质量为主线,以客户需求为中心,利用事实和数据的分析,改进组织的业务流程能力,灵活的、综合性的管理方法体系
- 要求企业从外部客户角度来看待企业内部的各种流程
- 利用客户的要求来建立标准,设立产品与服务的标准和规格。并以此来评价企业流程的有效性和合理性
- 通过提高企业流程的绩效来提高产品质量服务的质量和企业整体竞争力
- 塑造一流的企业文化
六西格玛(6σ)水平利用事件概率积分来衡量产品的绩效和企业的水平。
@e6Z0_Y5F%UN0
- 6个西格玛=3.4失误/百万机会―意味着卓越的管理,强大的竞争力和忠诚的客户
- 5个西格玛=230失误/百万机会-优秀的管理、很强的竞争力和比较忠诚的客户
4个西格玛=6,210失误/百万机会-意味着较好的管理和运营能力,满意的客户 3个西格玛=66,800失误/百万机会-意味着平平常常的管理,缺乏竞争力 2个西格玛=308,000失误/百万机会-意味着企业资源每天都有三分之一的浪费 1个西格玛=690,000失误/百万机会-每天有三分之二的事情做错的企业无法生存六西格玛(6σ)管理原则
+A5~/^)K4Vzq4C0
注重客户 注重流程 全员参与 以防为主 事实依据的决定 持续和突破性改进六西格玛(6σ)改进区域51Testing软件测试网(o t.js?faq%NQ
- 周期时间(流程个速度,回应能力)
- 输出物的变差(产品和服务的直通率,缺陷成本降低,客户满意度提升)
- 营运效率(更低成本)
六西格玛(6σ)的实施方法:DMAIC过程
- D(Define )—— 定义/界定:提出问题,确定目标
- M(Measure)—— 量测:收集资料,查找原因
- A(Analyze)—— 分析:研究资料,确定原因
- I(Improve)—— 改进:优化解决
- C(Control)—— 控制:推进控制
六西格玛(6σ)管理组织结构:是成功实施6σ的重要保证。
51Testing软件测试网qEC+qx(I,D
领导51Testing软件测试网i GXQ4X/}kO
推动
!jmaf/x0管理
,q e9N_tl$Bg0执行51Testing软件测试网WQeS^ J
配合
"gk4NHO eV0委员会
cp+FU|1nN@e7@0倡导者51Testing软件测试网~6XmA ]
全职工作者51Testing软件测试网I:jN/i A]_y:c0b4Z
基层领导者
+W*ze{&`y,D0兼职和员工
S$rGK5S;h v u01N4a(Qq;@(eX;Z2w+io0
CY E}9f B0
主黑带
Kze+y?0wC)F P!}:~0黑带51Testing软件测试网k(s K t0K?D
绿带
lP,iJ!q$tX)EJ0
软件质量模型
质量模型:一组特性及特性之间的关系,提供规定质量需求和评价质量的基础。51Testing软件测试网jOJ6^XrXx
外部和内部质量
功能性:软件提供满足明确和隐含需求的功能的能力
uH \8V8GIb0适合性:为指定的任务和用户目标提供一组合适的功能的能力。(手机的通话功能)51Testing软件测试网~2d(|k)b ~C'm
- 51Testing软件测试网}'KhZGGn{
准确性:提供所需精度的正确或相符的结果或效果的能力。(计算结果一致)
DYO1M&^D4x9xZs?0_X6o'p F q0互操作性:与一个或更多规定系统进行交互的能力。(word打印功能可以跟多种打印机搭配)51Testing软件测试网 ]Q\7n g"U
a&B&e/p r2fy0保密安全性:保护信息和数据的能力。(帐号密码的安全)
^%N Jq)_E.Y0t YOLw3xX9bUx L0功能性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)
w~/TCyo-q2p0可靠性:软件产品维持规定的性能级别的能力
2EF s4}1ifT0成熟性:为避免由软件中错误而导致失效的能力。(小错误不会影响软件正常工作)51Testing软件测试网](WA mQ0s"R-k+w
- 51Testing软件测试网2[$@|2y'} B3Q5s$_%V+S
容错性:软件出现故障或者违反指定接口的情况,软件维护规定的性能的性能级别的能力。(输入框输入错误的提示)
{8g"l,@vMV0*y+mkzsnfWk0易恢复性:在失效的情况下,重建规定的性能级别并恢复受影响数据的能力。(计算机死机重启)
en}o1rI e0l6Q-eq9Eq j1{;JE`0可靠性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网i s'Uwl6hR'H
易用性:软件产品被理解、学习、使用和吸引用户的能力
- 51Testing软件测试网#c*i8oGY8B9D!S v
易理解性:用户理解软件是否合适的,以及用于特定任务和环境的能力。(用户知道软件是做什么的)51Testing软件测试网9GK+{ a9SE T
- 51Testing软件测试网&c!J Xh'G(r~(kb;|:[
易学性:用户学习和应用的能力。(用户不依赖于产品说明)
Is-M'J;v'j0W'V&|00FHN4Q*x-PA0易操作性:用户能操作和控制软件的能力。(操作简单、快捷)51Testing软件测试网.c F3J7?6dL
wb(i1t4n4_h0吸引性:吸引用户的能力。(游戏吸引玩家的能力)51Testing软件测试网F3O4E ?#f0gt
- 51Testing软件测试网 Rs,?u f7J+j6|
易用性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网/?:OJ%f*_r+v4O:l1K
效率:相对使用资源的数量,提供适当性能的能力
3Fi'}I9{8W*?8?,[0GYA0时间特性:软件执行过程中,适当的响应和处理时间以及吞吐率的能力。(系统响应时间)
'|6H&u7AWG C8Y0D7zc.P `HA8tX0资源利用性:使用合适的资源和类别的能力。(消耗内存量)
,eL:}Y7i bp0\D%f nj3b0效率的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)
q!g&Te%]S0维护性:软件产品可被修改的能力。包括修正、改进、功能变化的适应
$TG4[&T7\A0易分析性:诊断软件出现缺陷原因或识别修改部分的能力。(简单知道为什么出错)
9]%P,Q0j&I&Q"}0- 51Testing软件测试网2B5QC5M]@ b8U:D&~
易改变性:指定的修改可以被实现的能力。(升级简单)51Testing软件测试网U+^;} W0f3H*x K
7j5[3i jN\ k0易测试性:被修改的软件能被确认的能力。(能简单识别软件被修改)
,C5}2W:Oyy0(}6R:CI-H4Zt0维护性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网,Y2z}}f|,r8Q
可移植性
- 51Testing软件测试网$\_5SR OHe3bw
适应性:软件适应不同的制定环境的能力。(软件适应多操作系统)51Testing软件测试网2`Z"e#|s y![,ZG#~
h2`e F:w:~:k*ij:X }0易安装性:软件被安装的能力。(用户安装向导)
_,jph(O0z R A3Z?a5H0g~)B0共存性:在公共环境中同与其分享公共资源的其他独立软件共存的能力。(与其他软件同时可运行)51Testing软件测试网I*W_vp\ R
- 51Testing软件测试网{W'_ q'G d+?7GR
易替换性:替换相同用途的指定软件产品的能力。
&G `z.Q1L/f&@5T#^07Jp.@'Z%D2Gb4VE0可移植性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网hT,Ix x.|
软件质量活动:
主要的软件质量活动
- 软件质量保证(SQA software quality assurance)
- 测试
SQA和测试的关系
- SQA从流程方面保证软件的质量
- 测试从技术方面保证软件的质量
- 两者缺一不可
SQA的主要工作范围
- 指导并监督项目按照过程实施
- 对项目进行度量、分析,增加项目的可视性
- 审核工作产品,评价工作产品和过程质量目标的符合度
- 进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参与,促进过程改进
质量管理PDCA循环
- P(plan)计划:计划设计
- D(do)执行:实施执行
- C(check)检查:检查检测
- A(act)改进:纠正措施
51Testing软件测试网(UW.jz~?'W(Z2u
软件度量
概念:
度量:对事物属性的量化表示。51Testing软件测试网iUP2~l4p
软件度量:对软件范围的测度,包括软件系统、构件或生命周期过程具有的某个给定属性的度的一个定量测量。51Testing软件测试网psH ^C#L yI8h#N
目的:
- 提高软件生产率,缩短产品研发周期,降低研发成本、维护成本
- 提高软件产品质量,提高用户满意度
- 为组织持续改进提供量化的指标和反馈
作用:
- 理解:通过度量,获得对过程、产品、资源的理解,确定以后预测的基线和模型。是其他作用的基础。
- 预测:根据理解确定的模型,根据已知要素推算、估计其他要素,以便合理分配资源、合理定制计划。
- 评估:分析活动与计划的符合度,确定偏差,以便控制执行。
- 开发活动和计划的符合程度
- 产品质量
- 新技术的影响
- 改进:根据量化的信息,帮助识别要因、查找问题的根源,以及提高产品质量和过程效率的方法;与以前的量化信息比较,验证方法的有效性。
过程(五步法):
这是以个循环的过程,不断改进的过程。是PDCA发展。51Testing软件测试网"[;T;I2X }L
- 识别目标(identify goal)
- 定义过程(define process)
- 收集数据(collect data)
- 分析数据(analyze data)
- 改进过程(improve process)
分类:
四个基本度量项
J3C*G&XC8kj0
- 规模(size):工作产品的大小
- 工作量(effort):完成各软件工作产品和活动所用人时/人天
- 进度(schedule):各软件工作产品和活动开始和结束的时间
- 质量(quality)-缺陷(defect):各软件工作产品和活动中产生的缺陷数
规模度量:
——SRS文档页数51Testing软件测试网'^3k] _A2B4a XQ x
——HLD文档页数51Testing软件测试网 Sn7W ^%V)x
——LLD文档页数
k UL@I(Mm ~I0——代码量(KLOG)51Testing软件测试网"`m(UN$]2P
——UT用例数51Testing软件测试网8ASYd} e
——IT用例数
}&eP3t-];A2f0——ST用例数
t,]tTV$j0……51Testing软件测试网Q b-\ FEML
工作量度量:
——SRS所用人时数51Testing软件测试网(~ W-L+|-Xq/{:T
——HLD所用人时数51Testing软件测试网9oOM0[4t
——LLD所用人时数
9~%OF&L0q~/p0——编码所用人时数
5Rth$a\#T.s*n/s0——测试(UT、IT、ST)计划所用人时数51Testing软件测试网`T7[f9P;o
——测试(UT、IT、ST)方案所用人时数51Testing软件测试网4\)hD1L9L7d&q Q0]*l h
——测试(UT、IT、ST)用例所用人时数51Testing软件测试网x#o&Z TB
——测试(UT、IT、ST)执行所用人时数51Testing软件测试网g:{"l`B0Ks%[ R
……
Y-M8F${;DtMg0进度度量:
——SRS阶段开始时间、结束时间
V!g:uQ:Z H%T0——HLD阶段开始时间、结束时间
u H W;e3A$A0——LLD阶段开始时间、结束时间51Testing软件测试网/k|Qn0r
——编码阶段开始时间、结束时间
rc"f@ DX.{![0——测试(UT、IT、ST)计划阶段开始时间、结束时间
:u |T W:c0{0——测试(UT、IT、ST)方案阶段开始时间、结束时间51Testing软件测试网LVVC2h]7s
——测试(UT、IT、ST)用例阶段开始时间、结束时间
:o _o$b)pn0——测试(UT、IT、ST)执行阶段开始时间、结束时间51Testing软件测试网8_fa@$Q{ v
……
|9K w6u^6w1cE0缺陷度量
——SRS评审发现缺陷数51Testing软件测试网 aN[Ns)L_I
——HLD评审发现缺陷数
F&t c:[Q _e2L0——LLD评审发现缺陷数
Q!hlXB0——编码评审发现缺陷数
/]S'Gz'A{0——UT发现缺陷数
${B L+d!A0——IT发现缺陷数51Testing软件测试网C.m8u+[TqlcGcZ
——ST发现缺陷数51Testing软件测试网ct Zg#^K&?
……
(?UW*vLw+e0其他度量指标:
缺陷密度:
D%wM5j SLX4O0研发活动发现的缺陷密度51Testing软件测试网^P:|i@J ]-XJ6R
研发活动引入的缺陷密度
-hd\ j!L0工作产品的缺陷密度
#AU1OYtggk0生产率:
]v2z%G}(v_0阶段文档生产率:页/人天、页/人时51Testing软件测试网hjXJ |
编码生产率:KLOG/人天
u$]:E%|NH)F0用例生产率:用例/人天
;[r"eAl+U5e0测试用例执行效率:执行用例数/人天51Testing软件测试网 f&t%oac V9znX
用例密度:用例数/KLOG
?g$? Q6U/yK:g/~0r0……51Testing软件测试网f4P^?Z6H%@n
实际和计划的对照比较、总结分析、查找原因、改进完善,达到一个持续发展的过程。
TAG: 软件质量定义