微软研发方法_第1页
微软研发方法_第2页
微软研发方法_第3页
微软研发方法_第4页
微软研发方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微软研发发方法(上) 团队=软件 -一个伟伟大的软软件后面面都有一一个伟大大的故事事,一个个伟大的的软件后后面也有有一个伟伟大的方方法。 题记 当Wiindoows 20000经过过胎死腹腹中的危危机,终终于如凤凤凰涅般般再生时时,微软软决定给给整个产产品组成成员拍摄摄一张合合影,以以纪念这这个历史史时刻的的诞生。到了拍拍摄那一一天,微微软人发发现,他他们只有有把摄像像师安排排在飞机机上才能能干好这这件事儿儿因因为Wiindoows 20000产品品组整整整有50000人人! “团团队=软软件”,微软软软件开发发管理理理论的基基础可以以这样一一个恒等等式来表表达,软软件可以以忠实地地展现创创造

2、它的的团队的的一切优优点和缺缺点。软软件业中中没有两两个完全全相同的的失败,但最常常见的莫莫过于新新版本跟跟不上对对手的脚脚步,微微软开发发模式的的精髓之之一,便便是通过过产品组组团队中中每个成成员对职职责的承承诺来控控制产品品的开发发过程,保证新新产品准准时地、经常地地被推出出。 这正正是软件件业最大大的金科科玉律! 开发周周期四阶阶段 微软软的产品品开发遵遵循一个个完整的的开发周周期,这这个产品品开发周周期被分分为四个个阶段:规划阶阶段、开开发阶段段、测试试阶段(也叫稳稳定化阶阶段)和和产品发发送/出出品阶段段(参见见图1)。 微微软中国国研发中中心中文文技术部部经理李李东女士士告诉记记者

3、,在在产品的的规划阶阶段要做做三件事事:拟定定基于客客户数据据的目标标描述、基于目目标描述述的规格格/特性性说明和和基于规规格说明明和特性性优先级级制定的的进度表表。规划划阶段中中最重要要的事情情是让整整个产品品组的成成员对共共同的目目标形成成共同的的认同。一座伟伟大建筑筑的诞生生往往只只缘于一一位伟大大建筑师师的不朽朽贡献,但一个个伟大软软件的设设计却需需要成百百上千人人的智力力创造。 第二二个阶段段是开发发阶段,这个阶阶段也叫叫主要里里程碑阶阶段。微微软的任任何一个个产品组组在这个个阶段都都将根据据特性将将项目划划分成若若干个子子项目,每一个个子项目目的完成成就对应应于一个个里程碑碑。在李

4、李东的经经验中,一般微微软中国国研发中中心会在在这个阶阶段把产产品划分分成23个里里程碑。Millesttonee1(第第一个里里程碑,简写为为M1)内要完完成的是是核心的的特性和和功能,或今后后需被共共享的部部件。那那些将对对产品稳稳定性形形成很大大影响的的功能,也应该该被放到到Millesttonee1。MMileestoone22可以放放比miilesstonne1次次要一些些、但也也是比较较重要的的特性和和功能。Millesttonee3放的的特性和和功能对对核心特特性和功功能的依依赖性不不大,有有的甚至至可能根根据市场场的变化化重新评评估和取取舍。总总体来说说,应根根据特性性和功能能

5、在结构构上的重重要性来来决定它它应当被被放在MM1、MM2或MM3来做做。 在在每一个个子项目目(里程程碑)内内,进度度表应当当具体到到每一个个开发人人员,而而且进度度表中应应当加入入缓冲时时间。在在子项目目的执行行过程中中,程序序经理(其角色色下面详详述)负负责协调调开发过过程并更更新规格格说明,在开发发人员编编码、优优化和调调试的同同时,测测试人员员进行BBug测测试及报报告,直直到特性性稳定化化之后,里程碑碑才达到到。开发发阶段有有一个微微软所有有的产品品组都会会用到的的重要里里程碑:代码完完成(CCC:CCodee Coomplletee)。达达到这个个里程碑碑,意味味着所有有特性的的

6、编码任任务全部部完成,特性的的集成测测试通过过后,除除解决BBug以以外,不不再有新新的代码码进来。代码完完成是明明显的界界线,标标志着产产品可以以交付测测试。至至此开发发周期进进入第三三个阶段段。 第第三个阶阶段是稳稳定化阶阶段,也也叫测试试阶段,或叫QQA阶段段。测试试人员对对软件做做各种各各样的测测试,其其中开发发和测试试工作是是始终并并存进行行的:测测试人员员发现BBug,开发人人员解BBug,测试人人员再检检测这个个Bugg是不是是解了。如果你你是一个个程序经经理,这这个时候候去看记记录Buug的数数据库,会发现现一大堆堆Bugg急剧涌涌现,随随着一个个个Buug被解解,Buug量逐

7、逐渐递减减。当BBug量量控制到到某一个个特定范范围内就就可以发发Betta版,进行外外部测试试。这个个时期程程序经理理要跟踪踪监督用用户的反反馈,开开发人员员及时解解决用户户发现的的Bugg。Beeta测测试结束束之后,再经过过一段时时间的测测试,就就会达到到零错误误版本(ZBRR)里程程碑,零零错误版版本里程程碑的达达到,并并不意味味着没有有Bugg或遗漏漏的功能能,而是是标志着着团队的的成品达达到了事事先规划划的品质质水平,可以向向发布候候选(RRC)里里程碑进进军了。值得注注意的是是,作为为RC的的产品,应包含含出品之之前所必必须具备备的全部部文档资资料。发发布候选选(RCC)可能能会

8、经历历RC00、RCC1、RRC2 等(最最佳情况况是RCC0测试试之后没没有一点点问题,那是最最后要发发布的那那个产品品了),但如RRC0以以后又发发现了BBug,并且大大家认为为这个BBug必必须要解解,就又又出来RRC1,Winndowws 220000就是经经过RCC3之后后才进入入产品发发送/出出品阶段段的。 产品有有了稳定定的版本本就进入入最后的的阶段产品品发送/出品阶阶段。对对于研发发队伍来来讲,十十月怀胎胎、孩子子终于出出世的那那一天就就是发送送投产(RTMMRReleeasee Too Maanuffactturee)。RRTM之之后到用用户真正正拿到这这个软件件产品之之前还

9、要要经过我我们耳熟熟能详的的产品发发布会(Lauunchh Evventt),当当然,这这部分工工作已经经被微软软的研发发机构移移交给市市场和销销售机构构,由产产品经理理完成相相应的产产品宣传传策划,把产品品推向市市场。 微软软经典团团队角色色 微微软的产产品组典典型的人人员角色色有几类类(参见见图2)。一类类是产品品规划(Prooducct PPlannnerr)和产产品管理理(Prroduuct Mannageemennt)。产品规规划的使使命是通通过研究究,向产产品组提提供诸如如用户需需求、市市场导向向、竞争争对手和和产品方方向的分分析,确确保产品品满足客客户的需需要;产产品管理理的使命

10、命是确定定获利市市场,同同客户沟沟通产品品的价值值。这两两个角色色相当于于对产品品的规划划以及产产品的销销售。一一类是程程序经理理(或叫叫程序管管理:PProggramm Maanaggemeent),他负负责整个个产品开开发过程程的协调调,是微微软各产产品组中中非常重重要的一一个角色色。 开发人人员(DDeveeloppmennt)、测试人人员(TTesttingg)、可可用性测测试员(Usaabillityy Teestiing)之类,在微软软也是一一些比较较特殊的的角色。此外还还有:BBetaa测试人人员(BBetaas),如果这这个产品品需要汉汉化的话话;本地地化项目目管理(Locca

11、liizattionn Prrojeect Mannageer);用户教教育(UUserr Edducaatioon);最后是是售后支支持(PProdductt Suuppoort),等等等。 尽管微微软的产产品组角角色定位位非常清清晰,但但这些产产品组多多为横向向组织,由多个个部门的的成员组组成。比比如产品品管理属属于微软软的销售售机构,而售后后支持属属于售后后服务机机构等等等。微软软不同机机构和部部门之间间的协作作性极强强,这是是保证微微软按时时完成高高质量产产品的重重要原因因之一。 在微微软的产产品开发发周期中中,每一一个角色色在不同同的阶段段有不同同的侧重重。在规规划阶段段,作用用比较

12、大大的是产产品规划划和程序序经理。开发阶阶段显然然是开发发人员的的作用比比较大,测试人人员则在在第三个个阶段“QA阶阶段”很很重要,但是程程序经理理在这两两个阶段段的作用用都很重重要。 产品规规划人员员对产品品影响最最大的作作用体现现在规划划阶段。这个阶阶段的产产品规划划需做用用户问卷卷调查,用各种种各样的的研究手手段来试试图了解解用户的的需求,并创建建目标描描述。这这个阶段段产品管管理也收收集用户户需求,但他主主要调查查的是市市场走向向,他关关心的是是如何与与客户沟沟通产品品的价值值。产品品规划在在整个产产品开发发周期中中总是充充当一个个用户代代言人的的角色。产品管管理在第第一阶段段和最后后

13、阶段发发挥作用用,产品品管理必必须设法法了解新新产品的的获利市市场所在在,并且且很好地地同客户户沟通产产品的价价值。 相比于于产品规规划和产产品管理理,程序序经理与与程序经经理之后后的角色色与产品品具体开开发过程程更直接接相关。 特殊角色色程程序经理理 在微微软的产产品组中中,程序序经理的的角色很很特殊,他是惟惟一在产产品开发发周期的的前三个个阶段都都显得非非常重要要的角色色。 程程序经理理在规划划阶段要要贯彻和和推进目目标描述述,书写写功能/特性规规格说明明,创建建主要的的进度表表。规格格说明是是基于产产品规划划所产生生的目标标描述来来具体定定义特性性的实现现步骤,目标描描述文档档是基于于大

14、量用用户的调调查报告告和各种种研究方方法得出出的用户户的需求求,定位位产品的的目标。但这只只是给出出了一个个大方向向,程序序经理必必须把这这个大方方向细化化成若干干个具体体的特性性,这些些特性不不仅要满满足目标标功能的的要求,而且又又必须是是程序开开发人员员能够理理解的语语言。比比如 WWordd某一版版要支持持HTMML,产产品规划划只定目目标,但但程序经经理就要要把这个个目标细细化成几几个具体体的特性性。 在在第二个个阶段,程序经经理要管管理整个个开发工工作的进进度,检检查开发发人员的的实现是是否与规规格说明明相吻合合,而且且要使团团队目标标集中、齐心协协力。如如果在开开发过程程中有什什么

15、特性性的变化化,或者者某些功功能在设设计时很很好但在在实际开开发中出出现问题题,程序序经理便便要负责责其更新新规格说说明,还还要与产产品规划划、测试试人员沟沟通项目目的进展展状态,协调开开发过程程中出现现的问题题。代码码完成里里程碑达达到之后后即开始始大规模模的测试试,程序序经理那那时的作作用就更更大了,他要制制定和控控制每个个Bugg的优先先级,做做取舍决决定,发发送Beeta版版并收集集用户反反馈,确确保产品品按时达达到发送送候选(RC)。 一句话话,程序序经理的的中心任任务是保保证软件件高质量量并按时时出品。由于总总是要在在品质与与进度上上找到平平衡点,程序经经理必须须精于“引导、驱策、

16、鼓励、要求”团队做做出最好好的软件件和表现现出最好好的工作作效能。 在在微软不不同的团团队里,程序经经理所做做的事情情也有一一定的差差别。有有偏技术术性的设设计功能能的程序序经理,他们是是团队中中的关键键人物;有一种种程序经经理被叫叫做Reeleaase Proograam MManaagerr,他的的主要任任务是控控制开发发流程;还有的的程序经经理会做做一些客客户需求求调查的的工作,定位产产品方向向。无论论如何,程序经经理的基基本素质质首先是是要有很很好的沟沟通技巧巧,具有有设身处处地为他他人着想想的本领领;其次次考虑问问题周全全,能处处理复杂杂的情况况;此外外,程序序经理要要对开发发产品所

17、所使用的的技术很很熟悉,对用户户需求的的理解力力也要非非常好。比如在在具体的的开发过过程中,测试人人员发现现Bugg越多越越好,但但开发人人员却希希望Buug越少少越好,程序经经理要善善于协调调二者的的矛盾;在产品品的开发发过程中中通常会会出现人人员突然然流动的的现象,或者硬硬件环境境出了问问题,或或者外边边竞争对对手出现现变化,程序经经理对这这些要反反应非常常机敏,有能力力做出对对公司、产品和和客户影影响最小小的果断断的取舍舍和决定定。 微微软的开开发人员员无疑是是每一个个产品组组中非常常重要的的角色。一个头头衔是软软件设计计工程师师(SDDESofft DDesiign Enggineee

18、r)的开发发人员的的级别有有可能比比某一个个经理要要高很多多。在微微软,开开发人员员根据他他本身知知识和能能力的不不同分为为不同的的级别,顶级的的开发人人员负责责整个软软件的结结构设计计,中间间有负责责某一功功能类的的结构设设计师,最底层层的开发发人员只只完成规规定的模模块实现现。好的的结构设设计对产产品的稳稳定性、可扩充充性非常常重要,特别是是对一个个由多人人参与的的项目而而言更是是如此。在产品品组中,最厉害害的开发发人员是是整个产产品结构构的设计计师。应应该说,微软每每一个产产品中都都有几个个核心开开发人员员来控制制整个产产品的结结构,其其他开发发人员则则在他的的领导之之下共同同完成开开发

19、工作作。 可可用性测测试的重重要 所所有用过过微软产产品的人人会有一一种感觉觉,微软软产品非非常易用用。如何何使产品品做到易易用?微微软的办办法是通通过重视视可用性性测试(Usaabillityy Teestiing)来实现现。可用用性测试试的使命命是通过过在产品品开发周周期的各各个阶段段加入客客户资料料和信息息来使产产品更有有用、适适用和易易用。 在产品品开发周周期的第第一个阶阶段可用用性测试试就要展展开工作作,比如如,微软软中国研研发中心心的产品品组会把把产品的的新特性性做一个个模拟的的模型,找用户户来试用用,产品品组的可可用性测测试人员员便会在在试用过过程中准准备录音音机、摄摄像头,把用

20、户户的行为为摄下来来,说的的话录下下来,按按的键记记录下来来,研究究他们对对产品的的反应,以便把把产品设设计调整整到足够够好。 微软中中国研发发中心中中文处理理组有一一个产品品 “微微软拼音音输入法法”,其其最早的的帮助功功能是用用鼠标右右键击活活菜单,这是WWinddowss常用的的菜单风风格,但但是通过过前期的的可用性性测试,李东他他们发现现中国用用户习惯惯了用鼠鼠标左键键,很少少用右键键,这样样用户很很难找到到微软拼拼音的帮帮助功能能。后来来微软中中国研发发中心把把“帮助助”放在在显示特特别明显显的地方方输输入法状状态条上上,这样样,按左左键就能能使用帮帮助功能能。“用用户的需需求可能能

21、跟你想想的不一一样,这这就要真真正倾听听用户的的呼声,让用户户来试用用,看用用户的反反应,来来决定修修改你的的产品”,李东东告诉记记者,微微软中国国研发中中心这样样的例子子很多。 在第第二个开开发阶段段,当开开发人员员达到MM1,能能看到产产品的最最重要的的特性时时,可用用性测试试人员要要随时反反馈设计计好不好好,如果果要有个个别的改改动,则则在M22中将MM1的某某些功能能改动加加进来。可用性性测试人人员要理理解用户户的工作作领域、行为和和心理,微软公公司总部部有很多多做可用用性测试试的人员员是心理理学方面面的专家家。用户户的感受受只有通通过可用用性测试试人员分分析、理理解成对对功能的的描述

22、,或者对对功能的的反馈,才能使使产品开开发人员员能够理理解并改改进。 里程碑碑式的开开发模式式的好处处 综观观微软对对软件开开发周期期过程的的管理,其精髓髓的做法法一是将将大项目目划分成成若干个个子项目目的里程程碑式的的开发模模式;其其次,通通过对产产品组各各人员角角色对职职责的承承诺来控控制产品品的开发发过程,以保证证产品的的进度和和质量。 不管管是小软软件还是是大软件件,里程程碑的概概念在微微软所有有的软件件开发中中都会被被用到。这也是是微软在在软件开开发上摸摸索多年年凝聚所所得。国国内软件件企业的的开发大大多是从从有一个个想法就就开始做做,不分分什么阶阶段,但但往往因因为软件件功能太太多

23、,不不同的人人负责不不同模块块,到产产品的最最后阶段段再去集集成和测测试,大大量原来来没有预预计到的的问题都都“冒”了出来来,这时时再去“动”各各个部分分,时间间肯定要要推迟。这种模模式将导导致两个个问题:一是质质量无法法控制,二是时时间无法法控制。 李东东认为,在微软软里程碑碑式的开开发模式式下,做做同样大大的产品品,因为为按子项项目来划划分里程程碑,每每一个子子项目都都经过一一定的稳稳定化阶阶段,再再进入到到第二个个子项目目的时候候,就是是基于一一个相对对稳定的的一部分分子项目目基础之之上的行行为,这这样就将将风险或或错误的的累加分分散和降降低。以以局部的的质量控控制来保保证整体体产品的的

24、进一步步稳定,能使得得质量和和进度得得以很好好的控制制。而且且,把一一个大的的项目分分散到不不同的阶阶段来完完成,可可以灵活活地去增增加或减减少一些些功能,否则,把增加加或减少少功能集集中到最最后集成成阶段,而且是是在不稳稳定的环环境下来来做,困困难可想想而知。这就是是里程碑碑式的开开发模式式优秀之之处所在在。虽然然里程碑碑的做法法在成本本上比较较高为了协协调出大大家对里里程碑一一致的价价值观,为了协协调出里里程碑的的衡量准准则,如如此等等等,团队队必须付付出大量量时间和和精力,承受比比较大的的痛苦,但这是是惟一能能够确保保开发成成功的方方式。 国内软软件企业业的开发发模式多多为“大大拿领衔衔

25、制”,通常公公司十多多个技术术人员中中间有一一个技术术“大拿拿”,剩剩下人辅辅助他,把这个个产品的的所有代代码写完完,则软软件就算算完成了了。“大大拿领衔衔制”脱脱不去小小作坊的的味道,虽然保保证了“技术大大拿”的的创造性性,却失失去了软软件研发发过程应应有的规规范。 软软件企业业的创造造性和制制度要相相辅相成成。在微微软的所所有里程程碑中,“代码码完成”里程碑碑(coode commpleete millesttonee),是是一个重重要的分分界线。在代码码完成之之前,产产品组自自由发挥挥创造力力,最需需要大量量的交互互和碰撞撞。代码码完成之之后,则则需严格格按照里里程碑完完成进度度。进入入

26、测试阶阶段,微微软通常常把里程程碑分得得更细致致,比如如Betta、零零错误版版本、发发布候选选、RTTM等等等。每个个里程碑碑都不是是简单的的摆设,而是有有严格的的规定,快到里里程碑的的时候开开发人员员不能做做没到里里程碑时时的修改改,“原原来一个个Bugg怎么改改都可以以,但到到里程碑碑附近的的时候,就要求求只能改改动最重重要的BBug”,微软软中国研研发中心心副总经经理徐汕汕开发WWinddowss 20000时时曾与副副总裁吵吵过架,“我们们觉得中中文版需需要这项项功能,但当时时已经太太晚了,大家争争吵了很很长时间间,最后后还是不不能改。”为保保证软件件按进度度完成,靠近里里程碑时时需

27、要“收敛”,而收收敛惟一一的方法法就是少少做事情情。过了了一个里里程碑,产品比比以前的的质量就就要好许许多。通通过一个个一个里里程碑来来收敛,这个项项目不会会偏离目目标很远远。从代代码完成成到RTTM是微微软软件件开发周周期中非非常重要要的过程程,这个个时候已已经完成成充分发发挥智力力的时期期,而规规范成为为更重要要的要素素。(注注:本文文只给出出了微软软团队工工作方式式的常规规模式,具体的的实践模模式可参参考微软软Vissuall C+事业业部总监监吉姆麦卡锡锡所著书书微软软团队成成功秘诀诀。) 微软研发发方法(下)BBug“指挥棒棒” 想真正保保证软件件项目如如期完成成,不仅仅取决于于开发

28、人人员,更更取决于于测试人人员。 题记记 项目经经理经常常犯的错错误之一一,是以以为只要要雇用软软件工程程师就行行,其他他的人都都不必要要,或是是让软件件工程师师占整个个团队很很高的比比例。他他们也许许认为开开发人员员越多,写出来来的程序序也越多多,这是是错误的的概念。项目的的目的是是为了完完成软件件,而不不是完成成更多的的程序代代码。在在开发团团队中,实际有有一些工工作是不不适宜交交给软件件工程师师做的。 要想想真正保保证软件件项目如如期完成成,不仅仅取决于于开发人人员,更更取决于于测试人人员。软软件开发发好像是是在赶进进度,而而不是在在演奏交交响乐:交响乐乐是和谐谐有序而而优雅的的,而软软

29、件开发发却更像像是一堆堆排山倒倒海、蜂蜂拥而至至的工作作。交响响乐任何何两个音音符都不不能相互互抵触,整体表表现出来来的才是是一段优优美的音音乐。在在一切都都不确定定的软件件开发过过程中,让测试试人员的的“Buug指挥挥棒”来来使大家家知道什什么时候候该表现现,知道道什么时时候该退退后一点点,正是是微软将将软件开开发过程程带向高高潮的不不二法则则! 测测试组不不是开发发组的助助手 似似乎没有有谁比微微软更重重视测试试的力量量。在微微软的产产品组中中,测试试组是与与产品规规划组、产品管管理组、开发组组和用户户教育组组等并列列的队伍伍。测试试与软件件成本的的关系是是,发现现产品中中存在的的问题越越

30、早,开开发费用用越低,产品质质量越高高,软件件发布后后维护费费用越低低。在微微软开发发周期的的四个阶阶段中,测试的的目的在在于保证证软件质质量,满满足设计计的要求求和客户户的需求求;系统统地揭示示出不同同类型的的错误,并耗费费最少时时间和最最小工作作量;降降低软件件的开发发成本和和维护成成本。 软件开开发过程程中开发发人员很很可能因因为一些些偶发的的小事,或某种种无关的的灵感而而不知不不觉中偏偏离了实实际的需需要,暂暂时忘记记了什么么才是产产品最该该有的功功能,把把他们拉拉回原定定轨道中中的正是是测试工工程师。测试人人员的职职责是配配合整个个项目组组保证按按照预定定的时间间表完成成达到预预定设

31、计计目标的的产品。测试人人员的工工作是具具有整体体性、持持续性的的软件开开发活动动中的一一环,而而不是偶偶尔拿出出来点缀缀一下。软件产产品的质质量是由由用于测测试的资资源、产产品的功功能和项项目的时时间表来来决定的的,是三三者的平平衡。对对任何的的一个产产品组来来说,无无论是主主观,还还是客观观上,都都要重视视测试工工程师的的存在,这是产产品质量量的重要要保证。 罗马马不是一一天建成成的。早早期的微微软开发发队伍中中也没有有设立单单独的测测试组。那个时时候的微微软几百百个人做做几个项项目,通通常是程程序员写写完程序序了,自自己测试试一下就就算完事事。后来来微软的的项目越越来越大大,软件件越来越

32、越复杂,写代码码和测试试的工作作要平行行进行,渐渐产产生了独独立的测测试组。一个重重要的数数字是,微软产产品组中中测试人人员和开开发人员员的比例例大约是是11。其实实,要想想真正保保证软件件项目如如期完成成,不仅仅取决于于开发人人员,更更取决于于测试人人员。 测试组组独立于于开发组组之外的的好处在在于,程程序员总总是倾向向于认为为自己设设计的代代码足够够好,独独立的测测试组可可以使测测试人员员在不带带任何假假设的情情况下从从不同的的角度来来测试软软件,有有利于保保证软件件的质量量始终得得到控制制,并使使测试资资源得到到重用和和不断改改进。但但是,测测试组独独立于开开发组之之外,并并不意味味着程

33、序序员写完完代码就就扔过“墙壁”,等待待测试工工程师找找到所有有的buug,当当测试人人员认为为他的工工作就是是测试程程序,而而开发人人员认为为他的工工作就是是写程序序给测试试人员测测试时,如果你你是项目目经理,要小心心了!开开发人员员的优越越感会使使测试人人员感觉觉自己是是被歧视视的少数数民族,这势必必会影响响到软件件的品质质。程序序人员在在写完代代码、改改正问题题后必须须完成基基本的测测试,比比如代码码的路径径测试、单元测测试和问问题验证证等。产产品质量量控制,存在于于开发过过程的每每一个环环节中。 有一一个笑话话,微软软的测试试人员工工作时间间长了,都有挑挑刺儿的的习惯,下了班班见了太太

34、太做的的饭都要要评价一一番。对对微软来来说,那那些聪明明、细致致、认真真,有耐耐心,追追求完美美的产品品,对用用户有负负责任的的态度,思维方方式独立立又开放放,既有有足够的的技术背背景,但但又愿意意学习新新的技术术的测试试工程师师更容易易得到“老板”的青睐睐。 软软件测试试的阶段段性 软软件开发发的过程程就像是是一支队队伍正在在急行军军,但跑跑着跑着着这支队队伍就会会“散了了架”,设立里里程碑的的作用就就仿佛是是到了某某一个“点”,大家必必须要重重新整理理步伐,实现同同步。就就测试组组的工作作模式而而言,测测试的阶阶段划分分是与项项目的进进度相对对应的。也就是是说,测测试人员员应当与与项目组组

35、的其他他人员始始终保持持以相同同的步伐伐“跑步步”的状状态,与与整个项项目的每每一个里里程碑配配合,完完成相应应的测试试工作。 把大大项目划划分成若若干子项项目的里里程碑式式的开发发模式是是微软软软件开发发管理的的精髓做做法,如如上一期期微软软研发方方法(上上)所所述,在在微软的的每一个个产品开开发周期期中都有有以下几几个重要要的里程程碑:CCC(CCodee coomplletee:代码码完成);Beeta测测试;RRC(RReleeasee Caandiidatte:候候选发布布);RRTM(Relleasse TTo MManuufaccturre:投投入生产产),测测试人员员和产品品组

36、的其其他人员员一起,共同达达到每一一个里程程碑。一一个完整整的测试试循环应应当包括括运行所所有的测测试用例例、Beeta标标准测试试、buug校验验和解所所有的bbug、随机测测试。好好的测试试循环能能够保证证对软件件质量有有一个全全面完整整的评价价,每个个里程碑碑之前至至少要有有一个完完整的测测试循环环。 在在微软的的产品开开发周期期中,在在规划阶阶段当开开发人员员在做计计划、编编进度,进行功功能实现现的可行行性研究究,对计计划的功功能进行行反馈时时,测试试人员应应当研究究规格说说明,编编写测试试计划;在第二二个阶段段即开发发阶段,当开发发人员在在编写代代码、测测试和调调试的同同时,测测试人

37、员员应当开开始设计计测试用用例,开开发自动动测试工工具和程程序,熟熟悉必需需的环境境、工具具、软件件和硬件件,不断断地丰富富测试用用例,直直到达到到CC(代码完完成)里里程碑这个个时候的的软件可可以进行行一次整整体测试试,用户户界面可可能不完完美但能能够工作作,可能能有很多多明显的的bugg。 进进入开发发周期的的第三阶阶段,测测试人员员大显身身手,展展开大规规模的测测试,比比如系统统级整体体测试,交互性性和深层层测试。测试之之后,测测试人员员应当对对新增的的功能说说“不”,直至至达到BBatee测试里里程碑。达到这这个里程程碑,意意味着所所有的BBetaa致命问问题已经经被修正正和关闭闭,所

38、有有计划的的功能都都已经在在软件中中并能工工作,产产品稳定定,大部部分界面面还可以以,尽管管可能只只是一部部分,但但已经有有了在线线帮助和和用户手手册,即即使是发发布了也也不会引引起负面面的影响响。 BBetaa测试的的目的是是确定产产品是否否能在预预计的各各种硬件件平台和和操作系系统中正正常运行行,虽然然Betta测试试的反馈馈意见很很有参考考价值,但除非非存在重重大问题题,否则则不应对对功能集集再做修修改,所所有建议议和反馈馈都留在在下一版版中再考考虑纳入入。Beeta测测试之后后就要向向RC和和RTMM进军。测试人人员要着着重测试试Betta后的的变动。到达RRC,意意味着软软件质量量状

39、态为为没有活活跃的bbug(Acttivee buug);没有悬悬而未决决的事;已经稳稳定了一一段时间间,如一一周内很很少或没没有变动动,或变变动很小小。如果果RC后后的测试试没有发发现新的的需要改改的buug,可可以达到到RTMM,随后后查病毒毒,验证证光盘,检查内内容。 需要注注意的是是,在整整个阶段段性的软软件测试试过程中中,质量量不仅仅仅是测试试组的责责任。一一定要防防止完全全依赖测测试组来来保证质质量的做做法,否否则结果果只能是是质量差差、进度度延迟。采用ZZeroo-Deefecct策略略的好处处在于,可以同同时保证证产品的的质量、进度和和功能集集,尽早早发现和和修正产产品中的的b

40、ugg,始终终把产品品的状态态和buug数量量控制在在可以管管理的范范围之内内,程序序员应该该修正所所有的优优先级为为一级(P1)的buug才能能写新的的代码。 同时时测试组组应当开开发一些些好的测测试管理理工具,比如测测试用例例管理工工具和bbug的的管理工工具等等等。测试试工程师师应当细细化测试试子区域域,重视视测试用用例的数数量和质质量,对对bugg状态的的变化要要反应迅迅速。要要防止仅仅以buug多少少来评价价工程师师的工作作。 bugg的发现现和管理理 在微微软的测测试人员员看来,那些功功能没有有实现或或与规格格说明不不一致的的问题是是bugg;不能能工作(死机、没反应应)的部部分是

41、bbug;不兼容容的部分分是buug;边边界条件件未做处处理是bbug;界面、消息、提示不不够准确确是buug;有有时把尚尚未完成成的工作作也作为为一个bbug。微软把把软件中中常见的的bugg类型归归为以下下几类:功能错错误;用用户界面面错误;边界值值相关错错误;初初始化错错误;计计算错误误;内存存相关错错误;硬硬件相关关错误和和文档错错误。 测试工工程师发发现buug之后后所采取取的措施施,首先先应当是是去想法法验证是是不是自自己的偶偶然失误误造成bbug出出现,如如不是则则应立即即建立每每一个新新的buug记录录,包括括具体的的再现步步骤、环环境、屏屏幕等;尽可能能地分析析产生bbug的

42、的原因;设计合合适的优优先级和和严重级级别,要要记住,测试人人员的目目标不是是找出更更多的bbug,而是改改进产品品的质量量;依据据bugg的优先先级和严严重级别别分派给给某一个个相应的的人,如如程序员员、项目目经理和和测试组组的负责责人等。 一般般来说,bugg在数据据库中有有三种状状态:活活跃(AActiive)、被解解(Reesollvedd)、关关闭(CClossed)。这三三个状态态在微软软通常用用“红黄黄绿”三三个颜色色来代表表。活跃跃状态指指的是测测试人员员新建一一个buug时的的状态,必须分分派给相相应的设设计人员员、开发发人员或或者是用用户教育育人员,表明bbug的的状态是是

43、等待纠纠正的。被解状状态指的的是设计计人员、开发人人员或者者用户教教育人员员修正bbug后后的状态态,必须须重新分分派给报报告buug的测测试人员员,表明明bugg已经得得到修正正,但等等待校验验。关闭闭状态指指的是测测试人员员校验完完成并关关掉之后后的状态态,表明明bugg已经得得到修正正,并完完成了校校验,但但如果同同样的问问题再次次出现后后,还可可能重新新激活成成活跃状状态,则则又开始始了另一一轮的状状态循环环。活跃跃bugg数量的的变化趋趋势是,一般在在代码完完成前很很少,代代码完成成后增长长很快,接近BBetaa测试时时会下降降,接近近RC时时奔向零零。因此此依据每每天新建建的buu

44、g数量量与修正正的buug数量量相比较较和处于于活跃状状态的bbug数数量亦可可判断产产品质量量和里程程碑的信信号。 永远有有缺憾是是所有智智力活动动的特征征。软件件一定有有数不清清的缺点点,问题题不是在在于判断断这个产产品好与与不好,而是决决定修改改哪一部部分从而而可以使使产品比比较能被被用户接接受或喜喜爱。微微软把这这个判断断并修改改的过程程称为“急救术术”。在在急诊室室中医生生必须非非常迅速速地察看看患者面面临的所所有问题题,采取取最急迫迫必要的的急救医医疗措施施,然后后再依优优先级分分别施救救。微软软产品组组也一样样,他们们把buug的严严重性分分为四个个级别:导致死死机;主主要问题题,导致致严重的的问题,如某个个小功能能未实现现;小问问题,不不太严重重,如提提示信息息不太准准确;微微小的问问题,如如有个别别错别字字。把bbug的的优先级级分为四四个级别别:尽快快

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论