没有最好,只有更好!

软件测试技术基础学习笔记之软件质量

上一篇 / 下一篇  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软件测试网N$u p"]|7Mo

51Testing软件测试网E/N1^ce.s

51Testing软件测试网gJd6h'r7y j

——最好的产品是用户不用说明书就能使用的产品;51Testing软件测试网;s"~4xQ4qR

[E:la9W E}%b\D0——好员工是能站在企业角度考虑问题的员工;51Testing软件测试网$k G~6[)G z

.O4D)gWtC#I/S:Sqla5iP0——最好的服务是能让顾客有宾至如归感觉的服务;51Testing软件测试网!I| Z+{"w9`

51Testing软件测试网LWC'h_~"k1F


ISO是这样定义的:质量是实体基于实体特性满足需求的程度

a7k'Bn(R]0

 软件质量的三个层次(由低到高):

QY/{%Sv?P0
  • 符合需求规格:满足了开发者明确定义的目标;
  • 符合用户显示需求:符合用户明确说明的目标;
  • 符合用户实际需求:满足用户明确的和隐含的需求。

 影响软件质量的因素:

-[Y9V,A&~5N0

软件质量的提高是一个综合的因素。

P6m&?6G;p%a a0
  • 流程:是软件产品开发过程的规范。好技术不如好流程
  • 技术:什么是真正的技术?编码?架构?设计?
  • 组织:是员工职位、工作的安排等。它是流程执行的保障
  • 进度及成本

软件质量管理体系:

流行的软件质量管理体系有:ISO9000、CMMI/CMM、六西格玛51Testing软件测试网 zmg Wd`n{

 ISO9000:2000的管理八项原则:

  1. 以顾客为中心:满足顾客的需求、期望才能保证组织的存在;
  2. 领导作用:好的组织离不开好的领导;
  3. 全员参与:真正创造效益的是员工;
  4. 过程方法:一个好的流程规范是产品质量的最重要保证
  5. 管理的系统方法:采用好的方法提高效率、有效性
  6. 持续改进:可持续发展战略
  7. 基于事实的决策方法:能达到量化每一个过程
  8. 互利的供方关系:双赢
 八项质量管理原则的意义:
  • 质量管理的理论基础;
  • 概括了一般性的规律;
  • 提供理论依据;
  • 遵循的原则;

 CMMI(Capability Maturity Model Integration)/CMM(Capability Maturity Model):

CMMI/CMM除了能评估软件承包商开发软件的能力,还能协助软件组织改进过程、提高过程能力。

ao+|:J%e8n[0

CMMICMM的集成和综合,集成了CMM-SW、CMM-SE、CMM-IPT、CMM-SA51Testing软件测试网,WSDPOj7?4z U

实施CMMI/CMM有什么必要呢?

~"^zH!m'k:g0
  • 业界的实施标准
  • 业界的一种交流语言
  • 国内企业获取国际订单的门槛
  • 向下采购的保障:如软件外包公司的承包评价
  • 降低软件风险的有力手段

CMMI/CMM五个级别

ox0^` ^,p{r_`0
  1. 初始级不可预测的,有能工作的团队;
  2. 可重复级有大概的流程,不过过程可重复,有组织;
  3. 已定义级软件过程标准已文档化,有组织(SEPG)来管理标准并实施此标准,定义标准过程,保证过程的标准型和一致性;
  4. 已管理级能预定量化的目标,保证效率和质量,量化过程并采集过程数据来控制过程,是可预测的过程;
  5. 优化级改进过程,预防弱点,改进新技术。

51Testing软件测试网 @_'DX ` kZD~7Y

 
关键过程区域:KPA(key process area)

过程域:指的是事情的某一方面,也是其中一方面。下面列举了CMM各等级里面的关键过程域。

rk:b$K.X.|0

  CMM2:可重复阶段: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)\+T olL6`.U0

  技术改革管理:technology change management51Testing软件测试网:Y byC1[m&yHG

  过程更改管理:process change management

0G/_y3n+N4^;X0
CMMI/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 P O2WH0
  • 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软件测试网v|3S7l.PL%e+J

推动

C8D|-H s-j0

管理

:wx U/bGb{6~A0

执行51Testing软件测试网)H8b |RLkXX/X

配合

p4h[3e z c&N\0

委员会

l:aO:dD7ru:O"f0

倡导者51Testing软件测试网 ~/Y T+Jat8U

全职工作者51Testing软件测试网n C3m&dO1L"{*X

基层领导者51Testing软件测试网ioTm.p2M:gK

兼职和员工

9|{6~_:K0

 

ks N-c#U T0

 51Testing软件测试网0` D{4h$Fbl.r }7Q:qh6v

主黑带

mmOcH.z0

黑带

@7B+]H*dq:cC8O0

绿带51Testing软件测试网*w2B"N6wmc

51Testing软件测试网V0zU%No{ k&K

软件质量模型

质量模型:一组特性及特性之间的关系,提供规定质量需求和评价质量的基础。51Testing软件测试网MMI!c };I/x8lT.V`

外部和内部质量

  • 功能性:软件提供满足明确和隐含需求的功能的能力
    • Fk8v)qV.?S0适合性:为指定的任务和用户目标提供一组合适的功能的能力。(手机的通话功能)51Testing软件测试网#SRXSFt hq

    • 51Testing软件测试网 N&a+a)NQY

      准确性:提供所需精度的正确或相符的结果或效果的能力。(计算结果一致)51Testing软件测试网/{"_fO6PC7d4I

    • p/Gqa{(K!W5sZlF!@)P0互操作性:与一个或更多规定系统进行交互的能力。(word打印功能可以跟多种打印机搭配)

      3J8LZNx%l0
    • a_+`5T o H J U0保密安全性:保护信息和数据的能力。(帐号密码的安全)51Testing软件测试网1| uy3mA"GH

    • 'U Vg|/Aau$y2{E0功能性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)51Testing软件测试网6D_;ats M-g

  • 可靠性:软件产品维持规定的性能级别的能力
    • 6P;r{%D*}0成熟性:为避免由软件中错误而导致失效的能力。(小错误不会影响软件正常工作)51Testing软件测试网"z&Kp Fb y

    • 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#q0
    • odrG3T+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&bO0k mw0时间特性:软件执行过程中,适当的响应和处理时间以及吞吐率的能力。(系统响应时间)51Testing软件测试网vAv ?^f Z Y-?

    • 51Testing软件测试网C\{"Osm

      资源利用性:使用合适的资源和类别的能力。(消耗内存量)51Testing软件测试网g7J(o6VCD;T\.\ w Z

    • 51Testing软件测试网R[VC[,CnGU+X

      效率的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)

      XoEOh5B|0
  • 维护性:软件产品可被修改的能力。包括修正、改进、功能变化的适应
    • 6`T{,y([&E0易分析性:诊断软件出现缺陷原因或识别修改部分的能力。(简单知道为什么出错)51Testing软件测试网oEmW,J#R2m

    • 51Testing软件测试网)NUfEV'zf~s_

      易改变性:指定的修改可以被实现的能力。(升级简单)51Testing软件测试网iz m d*{ }6B0dX

    • 51Testing软件测试网 x"X?-@ A*J;uh]

      易测试性:被修改的软件能被确认的能力。(能简单识别软件被修改)51Testing软件测试网 [(|e.Z U}Aj+\s

    • igM#X,r\9`H1EY0维护性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)

      .^2`9xF`0
  • 可移植性
    • {x _8Hd5I(t#h[ a0适应性:软件适应不同的制定环境的能力。(软件适应多操作系统

      fT2A)G;I]$~%l+q0
    • H.}_ Nzg]'k0易安装性:软件被安装的能力。(用户安装向导)

      .qA"s?z"hH0
    • +^kj"em/~T9`%A3g?a0共存性:在公共环境中同与其分享公共资源的其他独立软件共存的能力。(与其他软件同时可运行)

      oxe2axTy|0k0
    • 5zp%u#Ky$Q&E `Q0易替换性:替换相同用途的指定软件产品的能力。51Testing软件测试网0F!`m G}_Q W

    • 51Testing软件测试网3e{!D-Y pl x8g Q'o

      可移植性的依从性:软件产品遵循与功能性相关的标准约定或法规以及类似规定的能力。(行业标准等)

      ,l3^1ajK0

软件质量活动:

主要的软件质量活动

  • 软件质量保证(SQA software quality assurance)
  • 测试
SQA和测试的关系
  • SQA从流程方面保证软件的质量
  • 测试从技术方面保证软件的质量
  • 两者缺一不可
SQA的主要工作范围
  • 指导并监督项目按照过程实施
  • 对项目进行度量、分析,增加项目的可视性
  • 审核工作产品,评价工作产品和过程质量目标的符合度
  • 进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参与,促进过程改进
质量管理PDCA循环
  • P(plan)计划:计划设计
  • D(do)执行:实施执行
  • C(check)检查:检查检测
  • A(act)改进:纠正措施

51Testing软件测试网h3r7MK;T/iY

软件度量

概念:

度量:对事物属性的量化表示。

/x:c4e'}q8@ uT5O0

软件度量:对软件范围的测度,包括软件系统、构件或生命周期过程具有的某个给定属性的度的一个定量测量。51Testing软件测试网Z7W:Y"v0[5H(]*M

目的:

  • 提高软件生产率,缩短产品研发周期,降低研发成本、维护成本
  • 提高软件产品质量,提高用户满意度
  • 为组织持续改进提供量化的指标和反馈

作用:

  • 理解:通过度量,获得对过程、产品、资源的理解,确定以后预测的基线和模型。是其他作用的基础。
  • 预测:根据理解确定的模型,根据已知要素推算、估计其他要素,以便合理分配资源、合理定制计划。
  • 评估:分析活动与计划的符合度,确定偏差,以便控制执行。
    • 开发活动和计划的符合程度
    • 产品质量
    • 新技术的影响
  • 改进:根据量化的信息,帮助识别要因、查找问题的根源,以及提高产品质量和过程效率的方法;与以前的量化信息比较,验证方法的有效性。

过程(五步法):

这是以个循环的过程,不断改进的过程。是PDCA发展。51Testing软件测试网*w4R'N["k/QO1t

  1. 识别目标(identify goal)
  2. 定义过程(define process)
  3. 收集数据(collect data)
  4. 分析数据(analyze data)
  5. 改进过程(improve process)

分类:

四个基本度量项51Testing软件测试网u5W(I#{/X'u

  • 规模(size):工作产品的大小
  • 工作量(effort):完成各软件工作产品和活动所用人时/人天
  • 进度(schedule):各软件工作产品和活动开始和结束的时间
  • 质量(quality)-缺陷(defect):各软件工作产品和活动中产生的缺陷数
规模度量:

——SRS文档页数

'Mw'a${7kLK0X0

——HLD文档页数

\)ShB"z*i0

——LLD文档页数

1JH.E!}x&Y$n| B0

——代码量(KLOG)

{*?5etf$r9wC v0

——UT用例数51Testing软件测试网,[&C*Z Iz/Q;@

——IT用例数51Testing软件测试网D#UG-p0ti:uX

——ST用例数

Kqp3oTS~0

……

8Arblx7M\&U0
工作量度量:

——SRS所用人时数

i:i@;\:E*Q9E0

——HLD所用人时数51Testing软件测试网_3q$x\ V]*YT'y7cP

——LLD所用人时数51Testing软件测试网~o2A;|,Z

——编码所用人时数51Testing软件测试网)oH2kEEm;_+j)]

——测试(UT、IT、ST)计划所用人时数

E'Q:?D"ca0

——测试(UT、IT、ST)方案所用人时数

2R+N Z-uM*@ N`#?0

——测试(UT、IT、ST)用例所用人时数51Testing软件测试网.b ?Mg6_ o-[ Ij&^

——测试(UT、IT、ST)执行所用人时数51Testing软件测试网:l-V)N} z7O m0@/y

……

c p6z2^(~(c#`.r+y0
进度度量:

——SRS阶段开始时间、结束时间51Testing软件测试网)Er6Z!q,T-jy

——HLD阶段开始时间、结束时间51Testing软件测试网 oUHeB+r

——LLD阶段开始时间、结束时间

](D lQ;Ee%?0

——编码阶段开始时间、结束时间51Testing软件测试网 _2s1@ XTE2`

——测试(UT、IT、ST)计划阶段开始时间、结束时间51Testing软件测试网d(y]'u,[*L o

——测试(UT、IT、ST)方案阶段开始时间、结束时间51Testing软件测试网;Z bG0_.vu~u'j

——测试(UT、IT、ST)用例阶段开始时间、结束时间51Testing软件测试网~:Q|Uy$Tr

——测试(UT、IT、ST)执行阶段开始时间、结束时间51Testing软件测试网f%n L0i,o E

……

j ^y)B_ms9[;D0
缺陷度量

——SRS评审发现缺陷数51Testing软件测试网L7Bq#Rc5Vo*P4c

——HLD评审发现缺陷数51Testing软件测试网%?8mX:`/Oj_

——LLD评审发现缺陷数

+k.k.t/p3D9Ak0

——编码评审发现缺陷数51Testing软件测试网-A ['GDV5P

——UT发现缺陷数

C ]!U"[V {d0

——IT发现缺陷数51Testing软件测试网D v? y#g0bb%O

——ST发现缺陷数51Testing软件测试网 J3sNU;E1[{K%T

……51Testing软件测试网"I-D6s F-]Jq2p!@5n3d8Y

其他度量指标:

缺陷密度:51Testing软件测试网2Ojp6}(sZ8P#j)@

研发活动发现的缺陷密度51Testing软件测试网$uUB9L@5bE/eA]

研发活动引入的缺陷密度

X%q)rx y8e)tA*p0

工作产品的缺陷密度

w9SR)\rFs#^0

生产率:51Testing软件测试网fl h D3Q0Og+]lf

阶段文档生产率:页/人天、页/人时51Testing软件测试网'di3\)H t-S

编码生产率:KLOG/人天

.f8BK_7f0

用例生产率:用例/人天

9@pR?,L0

测试用例执行效率:执行用例数/人天51Testing软件测试网U#X Wx{'_ O"EU"r$j

用例密度:用例数/KLOG51Testing软件测试网-y8~9F1_E w j5j']3nR

……

'o|Be(\D5^ m0

实际和计划的对照比较、总结分析、查找原因、改进完善,达到一个持续发展的过程。51Testing软件测试网 @.UIx2A&d

 51Testing软件测试网 f Y2o*]ak{/~

 

Q,{8Uv,D0

 51Testing软件测试网Y6S P+E'[aX

 51Testing软件测试网U N7ZT'A6vXsya-d

 51Testing软件测试网^zz;ips$px4~u

 

1h6TL3H&L8iN0

 51Testing软件测试网5oQ!F6? |hC

 

"Gr+@U!dlI |+^"Nb0

 51Testing软件测试网7i"TF SHuz"Q

 

a0f!{4vW4b|0

TAG: 测试基础知识

 

评分:0

我来说两句

日历

« 2024-04-04  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 27107
  • 日志数: 21
  • 建立时间: 2008-12-23
  • 更新时间: 2009-03-12

RSS订阅

Open Toolbar