微软测试经理Francis Zhou,谈了谈从测试经理角度是如何看待软件测试工作。

Francis Zhou 毕业于加州大学系统圣克鲁斯分校。他于2000年加入微软,曾在总部先后担任软件开发测试工程师及测试组长等职务,参与了Windows XP及Windows Presentation Foundation的开发。2005年初他正式加入微软亚洲工程院并先后参与了TTS, Microsoft Speech Server, ActiveSync, GamesUX等项目的开发及测试。他现任测试经理,主管游戏平台及移动平台多媒体软件的测试开发。

Bug还没出现以前将其杜绝,这才是软件测试的未来。

机遇总是光临有准备的头脑,Francis走上测试之路虽然有些偶然,但他在解决问题的特质才是真正的关键。他是从大学一毕业加入微软做了一名软件开发测试工程师(SDET),初做这行是测试这行选中了他,然后他回过头来又选中了测试。在大学时对软件工业的认识很薄浅,以为除了开发工程师是管理人员。后来微软来他们学校招聘,他第一次听到还有SDET这么个职位,是荐于纯开发与纯测试之间的。当时没怎么在意,后来到微软面试时才知道面的是SDET。因为一直很向往加入微软,所以不管三七二十一答应了。加入微软之后他有一次偶然碰到了那位到他们学校招聘的人力咨询师,问她为什么推荐自己做SDET,才知道是自己回答她问题的时候很注重对细节的描述,而且喜欢把问题拆开来了解决,而这些都是一个SDET的基础素质,所以说初是测试选中了自己。进入微软后做了一段时间后有很多其他的职位可以选择,但在测试行业中总是有着解决不完的难题。软件工程本身是一个很新的课题,而软件测试工程则是近十几年才开始被重视的,里面有很多需要完善解决的东西。

Francis说:“我觉得在这个领域有很好的发展前景。现在软件测试大多数还只是停留在找bug阶段,而如果真的要做好产品的话要在bug还没出现以前将其杜绝,这才是软件测试的未来。因为我对软件测试这个行业很看好,留了下来,所以可以说我回过头来又选中了测试。”

至今没有碰到新的理念能完全否定以前的认识

每个人对事物的认识都不是不断变化的,通过学习知识和项目经验的积累。有些时候人们会产生一些顿悟,对一个事物有了全新的理解。谈到是否在软件测试方面有过这样的顿悟,Francis认为至今还没有碰到一个新的理念能完全否定以前对测试理念的认识,因为他对测试的认识是慢慢积累而后拓展到新的领域的。

刚进微软不久,Francis从一位工程师那里学到了自动化测试的几种常用模式,使自己写的自动化测试程序更加规范化。它可以在一个框架中重复利用,更有效率地组建自动化测试案例,这个认识在以后诸多产品测试计划中都起到了很重要的作用。第二个认识是在听了一个演讲后领悟的。那次演讲的主题是怎么样提高测试的效率,如何从找缺陷转换到防止缺陷的产生,使Francis对测试团队的作用提高到了一个新的层面,从单单在产品里找bug,到了如何与开发团队合作把整个团队的工程质量水平提高上来,也是做到从Bug detection到Bug prevention的转变。

Francis说:“从那以后,我开始更加强调测试团队在产品设计以及开发初期的介入,使很多bug还在设计期间被找出来并且该掉,不仅提高了测试的效率同时也提高了产品的质量。”

9个月测试了近1500个游戏,总部测试组都无法做出的成绩

想要成为测试经理,我们必须要先了解一下测试经理主要的职责是什么。在微软一个测试经理主要负责制定一个产品或者一组重要功能的测试计划,然后按照计划带领一个测试团队去完成对该产品的测试任务。测试计划里除了要规划哪些功能要测、哪些不要测之外,还要详细解释各种测试方法在该产品测试中的应用方法,以及设置其优先级。制定测试计划也是对该产品从测试角度进行分析,然后根据现状做出取舍,以便在有限的时间和资源内对产品质量做出有效的评估的一个战略规划。而后在计划实施阶段,测试经理也要帮助建立起一些必要的工程流程,以保证计划的实施。然后在一个产品终阶段,测试经理通常会担当质量把门人的角色,保证严重的缺陷都能够得到修复。

从一个测试工程师到测试经理,Francis作过了很多项目。谈到说他觉得满意的项目,Francis说:“这个比较难说,因为每个项目都有它做得好的和可以改进的地方。如果一定要举个例子,那么我会选择Windows Vista里对Games Explorer的测试。我们是在Vista发布前九个月时从总部那边把这个项目接手过来的。做过测试的人都知道,一个项目的结尾阶段是对测试组具考验的时候。我们接手该产品的测试任务以后,只花了1个多月的时间把所有事都接管过来了,而且做得比以前更好、更有效。而后的几个月中我们又找到并修改了Games Explorer中以前没有找的很多缺陷,而且测试了近1500个游戏在Vista上的兼容性。自豪地说,我们组在这9个月里做出了总部测试组都无法做出的成绩。能在这么短的时间内取得这样的成绩,除了归功于他们在先进自动化技术上的投入,主要还是靠着我们建立的过硬的队伍。”

近,Francis主要在做下一版Windows Mobile里的几个核心组件,以及一个在桌面平台上与Xbox Live有关的用户端软件。这两个项目对于Windows Mobile和Xbox Live平台都是至关重要的,期待会有更出色的成绩。

正是因为商业化,造成了平台的封闭性和成本的高昂,所以造成了一般的用户无法接触Unix,从而导致了Unix的路越走越狭窄,似乎已经走到了穷途末路的位置。分析其历史,有许多教训是值得我们总结和讨论的。