微软Bug管理(转载网址 http://hi.baidu.com/shan108/blog/item/90680b1f55bfba66f624e488.html)

 

一. 团队组织

1.常见问题TestAge 中国软件测试时代 lt8Q$W F

没有人愿意做测试TestAge 中国软件测试时代 k4M.z'c.c,n+j1n t
觉得养不起那么多测试人员TestAge 中国软件测试时代 | Y i j Y.U V W6V P!i _
开发人员不遵循规范,随心所欲TestAge 中国软件测试时代 o)| {-d [6l O5u
项目经理事必躬亲,分身乏术
(J O S)y k E j2.微软团队模型TestAge 中国软件测试时代 M]/G | l.~*A

TestAge 中国软件测试时代 l9Q `&l#{ uV

各角色的职责TestAge 中国软件测试时代$i/i U c O0R

角色职责
项目经理编写功能规范,协调各角色关系
产品经理客户联系的桥梁,进行需求分析
用户教育让产品容易使用
发布经理保证产品顺利发布

二.项目管理

:@ [&G m.J

1.常见问题TestAge 中国软件测试时代 E j L ` t h ^ F&b

无法决定项目所需的资源(人力和预算)
#W k8F f E'o I q4`&b W无法决定项目的进度表TestAge 中国软件测试时代 Y;`$p*U$[ r c
无法控制外包项目的进度和质量
n"k ~ ~ a'de#e p2.微软项目管理-- 多里程碑式流程TestAge 中国软件测试时代 b ?-l9P m h D O

每个里程碑完成部分功能
!t.r/B | a } P J便于团队集中力量完成一个又一个功能TestAge 中国软件测试时代/l R h q J l
提供多个机会以适应需求的更改TestAge 中国软件测试时代 E ] B W j+{7A%I
如何完成一个里程碑TestAge 中国软件测试时代-f R&S(G H g

步骤一: 达成共识TestAge 中国软件测试时代 A y#f&b M /
基本完成需求调研和分析 (产品经理负责)TestAge 中国软件测试时代 j6T b1X4/ ~
确定大方向和长中短期目标TestAge 中国软件测试时代)n W F&P O Y
所有角色都参与讨论并真正认同结论
G M U W1i产生的文档:
5K Q [.| a T ?!k常见用户情景:覆盖80%以上功能TestAge 中国软件测试时代$H(p f Q"T2O)P G J
Vision:言简意赅地说明大方向,并有激励团队的作用
6h _&c.J9l步骤二: 完成项目计划TestAge 中国软件测试时代4C*g U9/ F B }!F
编写详细的功能规范(项目经理负责)
j Z f9V/P7k n在编程前想清楚所有功能流程,并引导用户明确需求TestAge 中国软件测试时代$N7B y D#` c
所有角色都参与审阅功能规范TestAge 中国软件测试时代)t B @ C j /2G K,_
制订开发计划和进度表(开发团队)TestAge 中国软件测试时代(z ] `;A2w.|
制订测试计划和进度表(测试团队)TestAge 中国软件测试时代;m y&F k-k
分配资源(人力和预算)
U b ^1i Z形成项目综合计划和综合进度表TestAge 中国软件测试时代 {/~9? v D ] X m6e
产生的文档:TestAge 中国软件测试时代 _ f i I K [ f c F+w+A
功能规范,开发计划,测试计划(用例),项目综合计划TestAge 中国软件测试时代 T5M k$U.Z6X'/ a0i
开发进度表,测试进度表,综合进度表
~ N%S J7A(_ o ~步骤三: 完成功能
/*[7};l&G B开发人员分别完成自己的功能TestAge 中国软件测试时代 q'd x'h c R$@ w
使用版本控制工具
:`!u [ /0M)@:c V I使程序员及时check out和check in,避免积累大量代码
A g f'F4h8f }:X x及时进行模块间的整合,及时发现问题(daily build)TestAge 中国软件测试时代 @(c / / a p A _ y
对每一项可测试的功能进行测试,无需等待TestAge 中国软件测试时代-O }-z C o S;f U:M n
使用测试用例工具,对功能进行完整和重复的检验TestAge 中国软件测试时代 B$D+h%^!d
使用BMS进行缺陷跟踪TestAge 中国软件测试时代4n d b { R"P)YP Z-Q
记录所有程序问题TestAge 中国软件测试时代:^%D w n R v;l [1~'/ o
实现解决Bug的自动流程
@ w E6g$yg$A9C按照综合进度表不断检查进度
D5o y J q A:o / TestAge 中国软件测试时代!F!v;k#i ||
使用的工具:TestAge 中国软件测试时代 f N u ]'h c-M.b R e
版本控制工具 VSSTestAge 中国软件测试时代 b N$O5_+K#H ] g:` B
缺陷跟踪工具 Raid/BMS
A c m2H,S,K s%S o2s#D测试用例管理工具
j-| o%P j F步骤四: 稳定与发布
w#i r5H Q:c5V u#M测试组全面地测试功能,包括性能和稳定性
s p j D0b开发组全力配合解决Bug
"` }#d E |5p"l'c4U o%@使用BMS进行
z K [ ~-U监测质量情况TestAge 中国软件测试时代&d#v ?9_ O8L W /
预测发布日期
"A O Z;n&Z8T Q专家会诊机制:TestAge 中国软件测试时代2V L q ~'} { c
决定Bug的优先度
w8n#P k ]+B q V9[ V决定哪些Bug可以等到下个里程碑或版本中解决
V ~+Q h%z Z r+l决定由谁解决某个Bug
9M5t"r9[ y f 
O a j n PV o使用的工具:TestAge 中国软件测试时代&F ^!_$sR })Y y
版本控制工具 VSSTestAge 中国软件测试时代 R U A,Z.Q1[$J j P
缺陷跟踪工具 BMS
0K(a.X d'V$u t测试用例管理工具
? @ z V E'| l'n n {三. 微软的开发管理经验:100%以Bug为核心

4A)w p,^ W B Q8p8Z5r

TestAge 中国软件测试时代 O N } C t B9/ I9e p

1.Bug 及常见类型

y H Y A Q

功能未实现,和规格说明书不一致
d-b a v A N不能工作:死机,没反应
${ T4Q-E"s(?不兼容TestAge 中国软件测试时代.M ` A4` O
边界条件
j([ J c8@ } l ~界面、消息、提示不够准确,不友好
J w c(A5F%y F把尚未完成的工作也作为一个Bug
{ j7_ D*T P W文档与帮助信息中的缺陷也是BugTestAge 中国软件测试时代4o w | X#p$^
2.RAID/BMS的基本功能TestAge 中国软件测试时代 Z"s:r c n9t q

TestAge 中国软件测试时代2`;T!?8J&s _4|#B(z

完整的Bug数据库TestAge 中国软件测试时代#j X-e7H P e V
整个产品组的中央记录和控制
I.Q A x H强大的查询功能,有效地跟踪项目的状态TestAge 中国软件测试时代 O V(} I c+Z
所有的记录无法删除,对于每个记录只能一直添加内容
+}%u t-` /丰富的报表功能,为产品发布提供判断标准
M e5z U;W w9A `3.Bug 记录中的有效信息 状态
/l ] Q y$C } S负责人
1/%k3y'a8G T C3d问题种类TestAge 中国软件测试时代)G {0m m+h+k d
严重级TestAge 中国软件测试时代&H _ ~ Q ] z A h n x T:M
优先级
9o o6];W o Q"[(w,V C修改时间
,S#Q2d:s [ Y Z ]-s/S5c登记时间TestAge 中国软件测试时代*e ^;x w I&p;c
缺陷来源TestAge 中国软件测试时代9m5E h'|-?4w
解决方案
%H V B4^ e J4]9u d运行环境
g&D P6x n S9U1Q q*H+B缺陷关联TestAge 中国软件测试时代;A5g ` a T w,t
附件
N1x8M5B t1m l Q附图
1f J(^ _0M1C缺陷细节TestAge 中国软件测试时代 H(L } ^!o p:Z-l p T ?

;U T O4B W-}#c/X7A


1^ c T8Z&? { j v4.Bug 的严重程度TestAge 中国软件测试时代 o a9j z&P [ l X

死机,数据丢失,主要功能组完全丧失,系统悬挂TestAge 中国软件测试时代 R-m A:J / t1A
主要功能丧失,导致严重的问题,或致命的错误声明
z$H"C2j ` B)X次要功能丧失, 不太严重,如提示信息不太准确
I8y!C*@6A ~$X-g,?微小的问题,对功能几乎没有影响,产品及属性仍可使用. 如有个错别字
r z P$^ L5.激活的Bug数量的趋势

y x6H r6x r%t i A

代码完成前:很少TestAge 中国软件测试时代 k ` E @,m A
代码完成后:增长很快
.j H A5o u6/ T接近Beta: 下降
3b+O ~ H x N k接近RC: 奔向零
L e {H b+`!v)m R产品质量和里程碑的信号TestAge 中国软件测试时代 v,X%I,Pt,k(/ L-S
每天新建的Bug 与 修正的 Bug 相比较TestAge 中国软件测试时代 p"{ n u)N y w
Active 状态 Bug 的总数TestAge 中国软件测试时代 p A(C K Q }3p
四.微软的一天

%c#p#e Q2g//

1. 让我们看看项目中每个角色的一天是如何度过的

3X _&`&`0C+r [

开发TestAge 中国软件测试时代:z#x [/k H5l
测试
_ p a pt'Z z#y x项目经理
h i"S)g K } ]3j注:里程碑的每个阶段每个角色的工作有不同侧重点,我们以“完成功能”阶段为例

?6[9@5H%x4c i S


;M g })q e I6w B;T微软的一天从几点开始?TestAge 中国软件测试时代7k;_ N8u'l v

答案:半夜

x g S Q'E6o C

为什么?

,r,U u _ u M:{

因为Daily Build是所有工作的核心,而且是在半夜自动启动。

L D l.I*S o t(T1r _ `

每日构造Daily BuildTestAge 中国软件测试时代 p,t Y)Z1a0h%a(s D

你知道自己所用Windows的版本号吗?TestAge 中国软件测试时代 D F5]:~0{ V U
Daily Build的意义:
5u a u;ZQ Y.^#a模块得以及时整合
1V+J*Q*w e W s q%@要求程序员及时把最新代码放入代码库
^%F J*W)~.N ~%t用脚本语言和编译/链接工具实现
.^$D E T8x K P fBVT Build Verification TestTestAge 中国软件测试时代 f u @ Z K S t1B'C c
对Build进行验证TestAge 中国软件测试时代+]3a f u Y P C0y K+_
Blocking BugTestAge 中国软件测试时代 w+u / v K0m0C4V;D J
让Build无法完成的问题
,x!r A N c | C GeBVT中发现的问题
M T$k)i X f q Y1[+/2.程序员每天上班前最担心什么?

_ g l0Z6|1c4O Y-}

答案:因为自己昨天的代码check-in,造成Blocking Bug.TestAge 中国软件测试时代4L P*T7/.~ B2W

为什么?TestAge 中国软件测试时代x e j+~6w

因为每天的Build是所有人当天工作的基础:TestAge 中国软件测试时代 V-n2t w;R,w*u8u2@-[
程序员需要Build验证与其他模块的接口TestAge 中国软件测试时代&r j%j S9S n / I
测试需要Build发现新Bug,并验证新Build中已解决的Bug

K M.X:o E8I n v&`

有Blocking Bug怎么办?TestAge 中国软件测试时代 g5O%@ I+Q / V

解决问题,并对今天的Build打Patch。

a F ~#?'d(l {:w

开发人员的正事

{ }'~(z F J @)|+~6J U6S

经历对Build的提心吊胆和争分夺秒之后,第一件事做什么
W)@ E;_"G v*q0Y0I答案:打开缺陷跟踪工具,查看指定给自己的Bug,解决高优先度的Bug。因为质量重于新功能。TestAge 中国软件测试时代+V z J M9E D _;M

接下来,开发人员会…

D0Y8J.N V m G ] r)/4M

从版本控制工具中Check out代码
3l a t3^8?a修改代码(解决Bug或实现新功能)TestAge 中国软件测试时代 u I ` o a Y I
取得版本工具中最新变化,在本机Build和单元测试TestAge 中国软件测试时代)R3F y w U @ Y
请开发组同事作Code Review
&@;c H H ` /'n PCheck in代码

1U Q#] d D W F ~ @ g

3R#i;m D a:H z

3.测试人员第一件事做什么?

P%N |*j N M {

答案:打开Raid/BMS,查看指定给自己的Bug,验证已解决的Bug。TestAge 中国软件测试时代2c R!z o l!n

接下来,测试人员会…

"t1G.{1u } p M R

根据测试用例检验今天的Build
0a k R+t R在Raid/BMS中记录新发现的BugTestAge 中国软件测试时代 l y'F C E / h
4.专家会诊TestAge 中国软件测试时代%] I }$o(X6M v&f U

参加者:项目经理和开发组长、测试组长TestAge 中国软件测试时代 G v ` e,j Q
通过Raid/BMS评估每个未解决的Bug
4w;/ J X Y$u决定Bug优先度TestAge 中国软件测试时代 e/M S @ o
可否等到下个里程碑或版本解决?TestAge 中国软件测试时代 G&n3V f m J
谁来解决TestAge 中国软件测试时代 b | //V6N%T7k9wM/u i
预测项目实际进度和发布时间
&e"V J |&A k2W6x } s缺陷走势图

(z*E4? _ `,B p

TestAge 中国软件测试时代XQ0|:J6g5Z)|;^6f

5.回顾微软的一天

U&K5e:S T+s*j#e

构造: daily buildTestAge 中国软件测试时代 V h)E"` ]*d c6k o
开发: 解决blocking bugs, 实现功能, check-out, code review, check-in
9j$G e5{1A j o测试: BVT, 使用测试用例进行测试
1J | l/~ { D!t I5| k项目经理/组长: 专家会诊
4{ ? l$R7p/k q ?/s6.微软的做法解决了那些常见问题?TestAge 中国软件测试时代 ^/k F p Z Q

质量问题

:@ C R b w

以前解决过的问题发布时又出现了,需要返工
A#v"O Z2K5c F t A p无法预估发布时间 过早发布,带来质量和维护问题
.h$h w d Z测试发现的问题被忘却或不了了之TestAge 中国软件测试时代G y { E3` t#x
无法衡量测试员和开发员的工作
g)K | D7^程序中的问题往往在发布后才发现TestAge 中国软件测试时代 q6s/L/c U-y+z
文档管理问题

.m*J E*y Y2g

文档与程序脱节,文档成为程序结果的描述TestAge 中国软件测试时代 l(m X:d ~ T!l*e
项目组把写文档看成负担TestAge 中国软件测试时代 e q b J0` R4? B
团队协调问题TestAge 中国软件测试时代0v z k ["X { a6f

开发人员各自为战,进行整合时发现模块衔接中的严重问题 需要作大的改动TestAge 中国软件测试时代+d9n x'h;w
没有保管好公司以往的版本和代码,无法满足用户对旧版本的更改要求TestAge 中国软件测试时代 ~ r$` q+j&_ `
开发人员离职对项目带来很大冲击,没有人知道代码在哪,或无法读懂
Y ]0p0~ P0x$D z五.提高软件管理的步骤

!O$n N$u v5n z

1. 使用Raid/BMS,将流程管理自动化
y t-u"R g1}0G2. 使用测试用例管理工具
] Q W Y'o g h+|0w3. 使用文档管理工具TestAge 中国软件测试时代3D6s k N T&r
4. 使用版本控制工具,进行Daily BuildTestAge 中国软件测试时代 z p j e k6V J w
5. 建立代码标准TestAge 中国软件测试时代2q z*a3g5I8| q z"b"L W w
6. 建立Code Review机制TestAge 中国软件测试时代 m o8R _(|.C6?
7. 建立专家会诊机制TestAge 中国软件测试时代f A'h%C Z g k g2B
8. 建立团队沟通机制TestAge 中国软件测试时代 l K'w'u M1e
9. 根据需要调整团队结构TestAge 中国软件测试时代 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值