一. 团队组织

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 中国软件测试时代

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

  1. IIS+php无法上传图片(转载自http://hi.baidu.com/0wem/blog/item/d222db163c3c831e972b4306.html)...

    延续<Windows Server 2003中iis配置php>一文 服务器上使用Apache2+PHP正常运行,换成IIS+PHP,先后出现了php.ini的环境变量无法读取,php中验 ...

  2. http://hi.baidu.com/grayworm/blog/item/c76c4046307d380a6a63e56a.html

    http://hi.baidu.com/grayworm/blog/item/c76c4046307d380a6a63e56a.html

  3. javax.servlet.Filter详解(二) 转自:http://hi.baidu.com/jxnuywf/blog/item/f3834aee93e2fdf8b2fb95cc.html

    转自:http://hi.baidu.com/jxnuywf/blog/item/f3834aee93e2fdf8b2fb95cc.html 1.5禁用激活器servlet 在对资源应用过滤器时,可通 ...

  4. 产品质量的基石——微软Bug管理

    为什么80%的码农都做不了架构师?>>>    微软中国高级架构师 微创软件研发部经理 蔡锫 http://wenku.baidu.com/view/9450758bd0d233d4 ...

  5. http://hi.baidu.com/megachan/blog/item/61e1bb6cb7ab2de64316941b.html

    函数功能 求数组的平均数或者均值 使用方法 M = mean(A) 返回沿数组中不同维的元素的平均值. 如果A是一个向量,mean(A)返回A中元素的平均值. 如果A是一个矩阵,mean(A)将其中的 ...

  6. (Ajax)表单验证 函数包http://hi.baidu.com/zeronet/blog/item/e8809654e112431e3b293569.html

    2007年05月21日 星期一 19:37 /***************************************************************************** ...

  7. 会说话的猪 转自:http://hi.baidu.com/gg81/blog/item/91c088ef5b177114fdfa3c72.html

    会说话的猪 2007-08-27 19:10 <会说话的猪> 作者:莫尔多瓦·久尔吉著 晚上十一点半,费盖泰国营农场的饲养员盖莱盖什喂完最后一次猪食,在宽敞的九号猪圈里又来回走了一遍,看看 ...

  8. http://hi.baidu.com/tim_zhou0720/blog/item/0ca2d686973cf4830df4d223.html

    65.78.170.112:36081@HTTP;美国 66.228.46.201:3128@HTTP;美国 新泽西州Linode公司 72.64.146.135:3128@HTTP;美国 佛罗里达州 ...

  9. 会计学里借贷记账法的借方与贷方(http://hi.baidu.com/honeyxxd/blog/item/7a8c1ed71e5f23dea044df50.html)

    借贷记帐法是以"借"."贷"两个字做为记帐符号,记录会计要素增减变动情况的一种复式记帐法.所以这个"借"."贷"不能从字 ...

最新文章

  1. Oracle中分页查询语句
  2. C 的异常捕捉实现
  3. sklearn.feature_extraction.text.CountVectorizer 学习
  4. linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
  5. mysql数据库array_mysql数据库array
  6. Debug Tensorflow: TypeError: Cannot convert a symbolic Keras input/output to a numpy array.
  7. java里的主线程和子线程以及finally不会执行的特殊情况
  8. React实践(一)——webpack4搭建开发环境
  9. Git之提示There is no tracking information for the current branch.
  10. python记忆式键入_Python基础
  11. 用Node-Inspector调试NodeJs程序
  12. 需要显卡还是cpu_装机应该在哪个硬件上省钱, CPU还是显卡, 看完本文就知道了...
  13. s400x ugee 驱动_联想_ThinkPad|ThinkCentre|ThinkStation服务与驱动下载_常见问题
  14. java 拉姆达表达式_Java8中foreach与拉姆达表达式的组合使用
  15. Dell PowerEdge R640:NVMe直连、NDC网卡、PERC10一览
  16. obs噪音抑制调多少合适_(3)阿里国际站OBS申请设置使用教程,OBS音频没有声音怎么办?国际站直播回放如何下载?...
  17. 聊天链接改单系统源码
  18. 6.Spring Cloud初相识-------Zool路由
  19. 小米手机扩容教程_手机内部存储空间扩容方法
  20. 阴阳师双拉条怎么不被超车

热门文章

  1. 摩拜和滴滴要开战了,ofo怎么办
  2. TST5926E无线环境激励实验模态测试分析系统
  3. 微信如何隐藏好友和好友消息或隐藏群聊-无需root-密友模块-太极
  4. python贪心算法最短路径_贪心算法---最短路径问题
  5. 淘宝直播基地入驻条件及扶持政策
  6. mysql 如何设置延迟启动_技术分享 | MySQL 网络延时参数设置建议
  7. 智慧城市引发照明新变革 带动产值近千亿元
  8. android入门经典dvd,Android开发入门经典实例 - My notes
  9. mysql截取字符串并更新_mysql 截取字符串并 update select
  10. win10占用内存过高的解决办法