产品质量的基石——微软Bug管理(转贴)
上一篇 / 下一篇 2007-01-19 08:37:52 / 个人分类:缺陷管理
H-f lpz3k0文章出处:csdn.net 作者:蔡锫 发布时间:2005-10-2851Testing软件测试网0|4lx]P@!gX
51Testing软件测试网r*^scB']I;U$U
一.团队组织51Testing软件测试网0Q8V2x+Q+@}"VTP
1.常见问题51Testing软件测试网K Xf3~WcFO
·没有人愿意做测试
\6Z#v%IR'FK"[8b#U0·觉得养不起那么多测试人员
)@`PwNu0·开发人员不遵循规范,随心所欲51Testing软件测试网n*BD1\N3ul U1a
·项目经理事必躬亲,分身乏术51Testing软件测试网8s&I-V,~Fmp
2.微软团队模型
QMT`5U v051Testing软件测试网i0ZXo:E A)T
各角色的职责51Testing软件测试网Y/}s@ZT,x#nL
角色
iE8k.FS+vUXb0职责
ew"Xi+dfj0项目经理51Testing软件测试网,E*~]XJ-n
编写功能规范,协调各角色关系
l-sfm1Em7y b0产品经理
%ZYC*eu0客户联系的桥梁,进行需求分析51Testing软件测试网 f1U(\nPH-z J)}!Z)[P"}.C
用户教育
$ue~9Zj"z&P? d'Y3[0让产品容易使用
3mZ1~kr |'n0发布经理
#?9wi7Z~/S P M$Z0保证产品顺利发布
$ud"g'S v2zn0二.项目管理
/t4_dS4@Y01.常见问题
bNo~"w:D7P0·无法决定项目所需的资源(人力和预算)51Testing软件测试网j1w"\,Bd-[
·无法决定项目的进度表51Testing软件测试网$i/eR_ T8v~
·无法控制外包项目的进度和质量51Testing软件测试网iex CK#]fm
2.微软项目管理-- 多里程碑式流程
R uVvh X N0·每个里程碑完成部分功能
't,lA$k;l5[p0·便于团队集中力量完成一个又一个功能
UgC~8n!DA8f0·提供多个机会以适应需求的更改51Testing软件测试网~,WH9jc nl
51Testing软件测试网S+GB1LW9Y)|5KU Qt^
如何完成一个里程碑
7j'N-A"Xz4@9A0·步骤一:达成共识
/Q6X\7HE0·基本完成需求调研和分析(产品经理负责)
x1N^5l6M(LV0·确定大方向和长中短期目标51Testing软件测试网 P]r"ti"N [
·所有角色都参与讨论并真正认同结论
v}(Wd"qNJ`0·产生的文档: 51Testing软件测试网,TE~9b1`F;o4a,?
i h7e w5fO9yuI4F!G0NlP0
·常见用户情景:覆盖80%以上功能51Testing软件测试网$Z%Mo Q l0E%}~
·Vision:言简意赅地说明大方向,并有激励团队的作用51Testing软件测试网Hj:dB0d:_
· 步骤二: 完成项目计划51Testing软件测试网8O2u*b#gS
· 编写详细的功能规范(项目经理负责)
-R"}al9dx9m(S$oU0· 在编程前想清楚所有功能流程,并引导用户明确需求51Testing软件测试网'|X ~p6pK
·所有角色都参与审阅功能规范
"y)bg0q&B dESa0·制订开发计划和进度表(开发团队)
5PbCN2n&P]B0·制订测试计划和进度表(测试团队)
"tM?s+D4b]qpv0·分配资源(人力和预算) ·形成项目综合计划和综合进度表
!| RF3`:a n0·产生的文档:
_HK6Nw-x6Q0BQ"`.Ep Z/p@(r0
51Testing软件测试网V+WT6V\!O%n.x
功能规范,开发计划,测试计划(用例),项目综合计划
.Umq!gvX:? y`*s0开发进度表,测试进度表,综合进度表
H$P;aPkj3A$@0·步骤三: 完成功能
~ kZ6c~Q8nl0· 开发人员分别完成自己的功能51Testing软件测试网/Z| S.Z}NV
·使用版本控制工具
SC F/A _? e#hL9lN0·使程序员及时check out和check in,避免积累大量代码
p{~&I:o,A iE0·及时进行模块间的整合,及时发现问题(daily build)
z^,?EyQG7f0·对每一项可测试的功能进行测试,无需等待
\1H3E(L+e0·使用测试用例工具,对功能进行完整和重复的检验
N4z2J#f.w'Mc;R8J0·使用BMS进行缺陷跟踪
Q A;BAoWe0·记录所有程序问题51Testing软件测试网H*j+_ Bho,Sn'G3Z,oEA
·实现解决Bug的自动流程
Oy,f1?w d0·按照综合进度表不断检查进度
w-X5`G9Vth E0·使用的工具:
!N/ZB R.hN0·版本控制工具 VSS51Testing软件测试网$Ir/b$t&bH,L#K+a2t7m:w%x
·缺陷跟踪工具 Raid/BMS51Testing软件测试网P3`:R I-B6Z-w*[1Oj
·测试用例管理工具
2cbeemI6[7d7z0·步骤四: 稳定与发布
`8]:Ei7v*S4m$G0·测试组全面地测试功能,包括性能和稳定性51Testing软件测试网a*orYUZ7z
·开发组全力配合解决Bug51Testing软件测试网8Rl@-T8oL GxU
·使用BMS进行
wl7qc vzy'~]4~0·监测质量情况
d6k2P^^7s0·预测发布日期51Testing软件测试网C+[:J(iv
·专家会诊机制:51Testing软件测试网&\u7j!Y { H"p)ZDW
·决定Bug的优先度
zA9lM{2qO4z|0·决定哪些Bug可以等到下个里程碑或版本中解决
do Y&Cj'N%Tp0·决定由谁解决某个Bug51Testing软件测试网+Fro'i|4_
·使用的工具:51Testing软件测试网7K-u^)s S2IX
·版本控制工具 VSS51Testing软件测试网4[c9~gyi8_
·缺陷跟踪工具 BMS51Testing软件测试网N;b)[L:fP!]
·测试用例管理工具51Testing软件测试网%|d1R2?R9C3r:z
三. 微软的开发管理经验:100%以Bug为核心51Testing软件测试网'@'ztmX`b
51Testing软件测试网&L!S9k8\BX
1.Bug 及常见类型
`|!^Z |z:\0X@%~&AWpu0
/[.y]].F9js1A0
·功能未实现,和规格说明书不一致51Testing软件测试网M u5{^ EhyJo
`%l9W/Clg0
Q[ b;k%uequ+x0ANug0
· 不能工作:死机,没反应
Uf1j-K8T0G6ON0%?k8{Q#n1wP.r{:X0
3de!X?!n.MH0
·不兼容
8[ce S;a.Nu!gid8p0sG0x Oj'g G0
x'R|\D Ts S0
·边界条件51Testing软件测试网-f}d p4qS4u#Xo%re
SZ:\\M0
51Testing软件测试网R7fvC$Y"q;?#N0lA
·界面、消息、提示不够准确,不友好51Testing软件测试网$c3qR;rw,pS
51Testing软件测试网Zju(Yp.[ q
51Testing软件测试网ut/xky Pf/rni
·把尚未完成的工作也作为一个Bug
]#?b'}6l#o1r+|h0%IW:S:lz0
51Testing软件测试网.U'H;iE8lwB;K
·文档与帮助信息中的缺陷也是Bug51Testing软件测试网Ob i5L[4Jw/tX
2.RAID/BMS的基本功能
|-J'moP,r$L051Testing软件测试网0bjb'q2l
· 完整的Bug数据库
5@F:n_xlP0· 整个产品组的中央记录和控制
"D Mn}a0·强大的查询功能,有效地跟踪项目的状态
}JxR9J A5N0·所有的记录无法删除,对于每个记录只能一直添加内容51Testing软件测试网brZ7X i|8WHc
·丰富的报表功能,为产品发布提供判断标准
Al&c:_#f%wU3@um03.Bug 记录中的有效信息
E5R-cQ"Rn0- 状态
- 负责人
- 问题种类
- 严重级
- 优先级
- 修改时间
- 登记时间
- 缺陷来源
- 解决方案
- 运行环境
- 缺陷关联
- 附件
- 附图
- 缺陷细节
4.Bug 的严重程度51Testing软件测试网.~t4m6K _2q2v
· 死机,数据丢失,主要功能组完全丧失,系统悬挂51Testing软件测试网)Qa%c*v,h{[w@%J
·主要功能丧失,导致严重的问题,或致命的错误声明
_|Wch7}g\p0·次要功能丧失, 不太严重,如提示信息不太准确51Testing软件测试网*oA xPasqo%b]$h%?1T
·微小的问题,对功能几乎没有影响,产品及属性仍可使用. 如有个错别字
;JX+D;]~(q05.激活的Bug数量的趋势51Testing软件测试网9?3h*l(p a-s$F.mzm
· 代码完成前:很少51Testing软件测试网"F6Y;i.nc"x
·代码完成后:增长很快
;Z4Ezf8B'f0·接近Beta: 下降51Testing软件测试网&Q'jtYQl4GV
·接近RC: 奔向零51Testing软件测试网C?4R'q%evZ"i6C0xnL
·产品质量和里程碑的信号
8n]i+Jvk*E&vz%tw0·每天新建的Bug 与 修正的 Bug 相比较
P:sWKIp!c}F0·Active 状态 Bug 的总数
(X8yR:j&MV\#s0四.微软的一天51Testing软件测试网)|2g{&HE#b
1. 让我们看看项目中每个角色的一天是如何度过的51Testing软件测试网!Tt;B9oT MI5h
· 开发
%qti%i {^A(f0·测试51Testing软件测试网9MC7A@F A3O4]
·项目经理51Testing软件测试网|;h+l&w$n5o$Cd
注:里程碑的每个阶段每个角色的工作有不同侧重点,我们以“完成功能”阶段为例
enCXvA:K0微软的一天从几点开始?51Testing软件测试网u\K|Qn
答案:半夜51Testing软件测试网3z] m)Tf(y(~g&F
为什么?
/v s)qUcz0因为Daily Build是所有工作的核心,而且是在半夜自动启动。51Testing软件测试网K!XQ7l'j wn
每日构造Daily Build
R6g`&T@c&},Ls(R0- 你知道自己所用Windows的版本号吗?
- Daily Build的意义:
- 模块得以及时整合
- 要求程序员及时把最新代码放入代码库
- 用脚本语言和编译/链接工具实现
- BVT Build Verification Test
- 对Build进行验证
- Blocking Bug
- 让Build无法完成的问题
- BVT中发现的问题
2.程序员每天上班前最担心什么?