软件测试技术基础学习笔记之软件质量
上一篇 / 下一篇 2008-12-30 11:19:18 / 个人分类:测试基础知识
g0AoQt051Testing软件测试网k)RoaWg|%wT
软件质量定义:
$t'D6v*p:gW%mp-e0软件测试是为了检验软件存在的缺陷,为了软件提供更好的质量保证。51Testing软件测试网Z\a3y7p)H"[9}R*E
51Testing软件测试网/r^T5K4i;{T那么质量是怎么定义的呢?怎么样的才算好的质量呢?51Testing软件测试网/]-|"D%lj \A
M%l"[3n`5gb6G0
最好的产品是用户不用说明书就能使用的产品;51Testing软件测试网;s"~4xQ4qR
51Testing软件测试网N$u p"]|7Mo51Testing软件测试网E/N1^ce.s
51Testing软件测试网g Jd6h'r7y j——
[E:la9W E}%b\D0——好员工是能站在企业角度考虑问题的员工;51Testing软件测试网$k G~6[)Gz
.O4D)gWtC#I/S:Sqla5iP0——最好的服务是能让顾客有宾至如归感觉的服务;51Testing软件测试网!I| Z+{"w9`
51Testing软件测试网LWC'h_~"k1FISO是这样定义的:质量是实体基于实体特性满足需求的程度。
a7k'Bn(R]0软件质量的三个层次(由低到高):
QY/{%S v?P0- 符合需求规格:满足了开发者明确定义的目标;
- 符合用户显示需求:符合用户明确说明的目标;
- 符合用户实际需求:满足用户明确的和隐含的需求。
影响软件质量的因素:
-[Y9V,A&~5N0软件质量的提高是一个综合的因素。
P6m&?6G;p%a a0
- 流程:是软件产品开发过程的规范。好技术不如好流程
- 技术:什么是真正的技术?编码?架构?设计?
- 组织:是员工职位、工作的安排等。它是流程执行的保障
- 进度及成本
软件质量管理体系:
流行的软件质量管理体系有:ISO9000、CMMI/CMM、六西格玛51Testing软件测试网zmg W d`n{
ISO9000:2000的管理八项原则:
- 以顾客为中心:满足顾客的需求、期望才能保证组织的存在;
- 领导作用:好的组织离不开好的领导;
- 全员参与:真正创造效益的是员工;
- 过程方法:一个好的流程规范是产品质量的最重要保证
- 管理的系统方法:采用好的方法提高效率、有效性
- 持续改进:可持续发展战略
- 基于事实的决策方法:能达到量化每一个过程
- 互利的供方关系:双赢
八项质量管理原则的意义:
- 质量管理的理论基础;
- 概括了一般性的规律;
- 提供理论依据;
- 遵循的原则;
CMMI(Capability Maturity Model Integration)/CMM(Capability Maturity Model):
CMMI/CMM除了能评估软件承包商开发软件的能力,还能协助软件组织改进过程、提高过程能力。
ao+|:J%e8n[0CMMI是CMM的集成和综合,集成了CMM-SW、CMM-SE、CMM-IPT、CMM-SA51Testing软件测试网,WSDPOj7?4zU
实施CMMI/CMM有什么必要呢?
~"^zH!m'k:g0
- 业界的实施标准
- 业界的一种交流语言
- 国内企业获取国际订单的门槛
- 向下采购的保障:如软件外包公司的承包评价
- 降低软件风险的有力手段
CMMI/CMM五个级别
ox0^` ^,p{r_`0
- 初始级:不可预测的,有能工作的团队;
- 可重复级:有大概的流程,不过过程可重复,有组织;
- 已定义级:软件过程标准已文档化,有组织(SEPG)来管理标准并实施此标准,定义标准过程,保证过程的标准型和一致性;
- 已管理级:能预定量化的目标,保证效率和质量,量化过程并采集过程数据来控制过程,是可预测的过程;
- 优化级:改进过程,预防弱点,改进新技术。
关键过程区域:KPA(key process area)
过程域:指的是事情的某一方面,也是其中一方面。下面列举了CMM各等级里面的关键过程域。
rk:b$K.X.|0CMM2:可重复阶段:51Testing软件测试网2yq2}Nb0va o$g|
需求管理:requrement management51Testing软件测试网+yJ5R5B"d6|
软件项目计划:software project planning
7L8tk7Uw;JE(J0软件项目跟踪和监督:software project tracking oversight
#M@;\u]C I:X1X0软件子合同管理:software subcontract management51Testing软件测试网[#Wjdw2QU2H{
软件质量保证:software quanlity assurance
0uT~ ~#OU!uFWet0软件配置管理:software configuratione management51Testing软件测试网0u?-G}e
CMM3:已定义阶段:51Testing软件测试网1n[ YMb/j
组织过程焦点:organization process focus
_MP6bu4wv0组织过程定义:organization process definition51Testing软件测试网:fl U8J:q,[
培训大纲:training program
.YUr(_RA u0集成软件管理:intergrated software management51Testing软件测试网d3`r-w` c x$?
软件产品工程:software product engineering51Testing软件测试网(D+D$L1H@,`.w
组间协调:intergroup coordination
)Gm |3O7{ ^X0同行评审:peer review51Testing软件测试网td^E^;_
CMM4:已管理阶段:
7}I7C!J(rc#h0定量管理过程:quantitative process management51Testing软件测试网 Z1H~:w3S*z?'O%x
软件质量管理:software quality management51Testing软件测试网w S+H#D2sHNn
CMM5:优化阶段:
5Z#H5u6e`0缺陷预防:defect prevention
#E)\+TolL6`.U0技术改革管理:technology change management51Testing软件测试网:Y byC1[m&yHG
过程更改管理:process change management
0G/_y3n+N4^;X0CMMI/CMM的用途:
评估组用来识别组织的强处和弱点; 评估组用来识别选择不同的业务承包商的风险和监督合同; 管理者用来了解组织的能力并提高能力成熟度所进行的活动; 技术人员和过程改进组的指南ISO9001与CMM的关系
相似点:强调管理、过程、规范化和文档化 不同点:CMM只针对软件;而ISO9001还包括硬件、流程材料和服务 联系:CMM 2级与ISO9001强相关;CMM的每个关键过程域至少与ISO9001弱相关(更多CMM资料请点击:http://baike.baidu.com/view/8110.htm)
4gu }-pc}z0
六西格玛(6σ)管理法
特点:
"m?W4k1qt~D$m\N%]0
- 以质量为主线,以客户需求为中心,利用事实和数据的分析,改进组织的业务流程能力,灵活的、综合性的管理方法体系
- 要求企业从外部客户角度来看待企业内部的各种流程
- 利用客户的要求来建立标准,设立产品与服务的标准和规格。并以此来评价企业流程的有效性和合理性
- 通过提高企业流程的绩效来提高产品质量服务的质量和企业整体竞争力
- 塑造一流的企业文化
六西格玛(6σ)水平利用事件概率积分来衡量产品的绩效和企业的水平。
.{ h PO2WH0
- 6个西格玛=3.4失误/百万机会―意味着卓越的管理,强大的竞争力和忠诚的客户
- 5个西格玛=230失误/百万机会-优秀的管理、很强的竞争力和比较忠诚的客户
4个西格玛=6,210失误/百万机会-意味着较好的管理和运营能力,满意的客户 3个西格玛=66,800失误/百万机会-意味着平平常常的管理,缺乏竞争力 2个西格玛=308,000失误/百万机会-意味着企业资源每天都有三分之一的浪费 1个西格玛=690,000失误/百万机会-每天有三分之二的事情做错的企业无法生存六西格玛(6σ)管理原则
R/t9k3D3h#]0] O0
注重客户 注重流程 全员参与 以防为主 事实依据的决定 持续和突破性改进六西格玛(6σ)改进区域51Testing软件测试网,`&\-?v/h3H{
- 周期时间(流程个速度,回应能力)
- 输出物的变差(产品和服务的直通率,缺陷成本降低,客户满意度提升)
- 营运效率(更低成本)
六西格玛(6σ)的实施方法:DMAIC过程
- D(Define )—— 定义/界定:提出问题,确定目标
- M(Measure)—— 量测:收集资料,查找原因
- A(Analyze)—— 分析:研究资料,确定原因
- I(Improve)—— 改进:优化解决
- C(Control)—— 控制:推进控制
六西格玛(6σ)管理组织结构:是成功实施6σ的重要保证。
51Testing软件测试网V0zU%No{ k&K
领导51Testing软件测试网v|3S7l.PL%e+J
推动
C8D|-H s-j0管理
:wxU/bGb{6~A0执行51Testing软件测试网)H8b|RLkXX/X
配合
p4h[3ez c&N\0委员会
l:aO:dD7ru:O"f0倡导者51Testing软件测试网~/Y T+Jat8U
全职工作者51Testing软件测试网nC3m&dO1L"{*X
基层领导者51Testing软件测试网ioTm.p2M:gK
兼职和员工
9|{6~_:K0ks N-c#U T0
51Testing软件测试网0`D{4h$Fbl.r }7Q:qh6v
主黑带
mmOcH.z0黑带
@7B+]H*dq:cC8O0绿带51Testing软件测试网*w2B"N6wmc
软件质量模型
质量模型:一组特性及特性之间的关系,提供规定质量需求和评价质量的基础。51Testing软件测试网MMI!c };I/x8lT.V`
外部和内部质量
功能性:软件提供满足明确和隐含需求的功能的能力
Fk8v)qV.?S0适合性:为指定的任务和用户目标提供一组合适的功能的能力。(手机的通话功能)51Testing软件测试网#SRXSFthq
- 51Testing软件测试网N&a+a)NQY
准确性:提供所需精度的正确或相符的结果或效果的能力。(计算结果一致)51Testing软件测试网/{"_fO6PC7d4I
p/Gqa{(K!W5sZlF!@)P0互操作性:与一个或更多规定系统进行交互的能力。(word打印功能可以跟多种打印机搭配)
3J8LZNx%l0a_+`5To H JU0保密安全性:保护信息和数据的能力。(帐号密码的安全)51Testing软件测试网1| uy3mA"GH
'UVg|/Aau$y2{E0功能性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网6D _;ats M-g
可靠性:软件产品维持规定的性能级别的能力
6P;r{%D*}0成熟性:为避免由软件中错误而导致失效的能力。(小错误不会影响软件正常工作)51Testing软件测试网"z&Kp Fby
- 51Testing软件测试网Z%TLaE1~2ac3tZ
容错性:软件出现故障或者违反指定接口的情况,软件维护规定的性能的性能级别的能力。(输入框输入错误的提示)
7J;n9w a3g3c.k{0- 51Testing软件测试网A#B)^;`5}#m Bf
易恢复性:在失效的情况下,重建规定的性能级别并恢复受影响数据的能力。(计算机死机重启)
2NJ(?,a?'r?h0- 51Testing软件测试网,qD%@hsUF
可靠性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网kj*f?4A-F3S1u0p\
易用性:软件产品被理解、学习、使用和吸引用户的能力
- 51Testing软件测试网e6n`B3}3qo
易理解性:用户理解软件是否合适的,以及用于特定任务和环境的能力。(用户知道软件是做什么的)51Testing软件测试网 s%l uM4p/`(N^
- 51Testing软件测试网 H*W8`q&zZ.t*I
易学性:用户学习和应用的能力。(用户不依赖于产品说明)
GPO}0}C#q0odrG3T+X8eQ0易操作性:用户能操作和控制软件的能力。(操作简单、快捷)51Testing软件测试网8|`MF"f``/Kc
- 51Testing软件测试网EXhTPm.f*K
吸引性:吸引用户的能力。(游戏吸引玩家的能力)
0p r0s{j6N,t,G-A;L3^9X0- 51Testing软件测试网~%{ T gR
易用性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网 F-?;bd9pO(q9^-@f
效率:相对使用资源的数量,提供适当性能的能力
SuQ3xd&bO0kmw0时间特性:软件执行过程中,适当的响应和处理时间以及吞吐率的能力。(系统响应时间)51Testing软件测试网vAv?^f Z Y-?
- 51Testing软件测试网C\{"Osm
资源利用性:使用合适的资源和类别的能力。(消耗内存量)51Testing软件测试网g7J(o6VCD;T\.\ w Z
- 51Testing软件测试网R[VC [,CnGU+X
效率的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)