收藏 分销(赏)

微软的软件测试之道1.doc

上传人:xrp****65 文档编号:8586233 上传时间:2025-02-20 格式:DOC 页数:15 大小:67KB 下载积分:10 金币
下载 相关 举报
微软的软件测试之道1.doc_第1页
第1页 / 共15页
微软的软件测试之道1.doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
第一部分关于微软 第1章微软的软件工程 第2章微软的软件测试工程师 第3章工程生命周期 第一部分关于微软 第1章微软的软件工程 肯·约翰斯顿 本书的第一部分,也就是第1章到第3章,将介绍微软的基本情况,包括微软的目标、微软如何组织软件产品开发,以及微软如何推出产品。本章的大多数内容都广为公众所知,但也提供了一些微软的内部信息。 已经有很多书籍、文章和网站都详尽地介绍了微软的历史,本书将着重介绍微软的软件工程,这将有助于读者更深入地了解微软的软件测试技术和方法。我们介绍的微软的历史、愿景以及企业目标,对于我们在以后章节里讨论的所有软件测试方法和工具有重要的影响。 1.1微软的愿景和价值观,为何我们“爱微软” 除了足球世界杯或者板球赛事,让理性的工程师表现得热情奔放是比较难的。微软的工程师也是如此。不过,有一件事可能例外。 在每年的十月初前后,位于美国华盛顿州雷德蒙德(Redmond)市的微软总部,都召开全体员工会议。届时,将有近两万名员工乘坐几十辆大客车前往Mariners棒球队的主场Safeco体育馆出席会议,此外,还有数万名员工在线参加该年会。 年会上,最后一个演讲者总是微软的执行总裁斯蒂夫·巴尔默(Steve Ballmer)。在雷鸣般的欢呼声和响亮的摇滚音乐声(比如《洛奇》电影里的“虎眼”的音乐)中,斯蒂夫快速跑上主席台,他热情奔放,陈词激昂,把与会者的情绪推向高潮。然后,他跑下主席台,到观众席和大家互动。当穿过观众席中的人群时,他不停地做出象征胜利的手势,时不时和大家击掌相庆,受到很多员工热情的回应。他在途中会多次停留,继续激发大家的热情。回到主席台后,平复一下呼吸,他会带领大家一起齐声呼喊:“我爱微软!”可以很容易地在网站找到这类录像,只要搜索“Steve Ballmer公司会议”就可以了。 不错,微软是个很酷的公司,在本书后面的各个章节里,大家会看到,作为软件测试工程师,我们所工作的公司是世界上最棒的。我们丰富的历史、出色的产品和与众不同的传统等(例如公司全体员工会议和大声呼喊鼓舞员工热情的执行总裁),使得微软成为工程师们的理想工作单位之一。 在微软早期的24年里,公司的愿景就是“每家每户的每张桌面上都有一台个人电脑(Personal Computer,PC)。”从许多方面衡量,微软已经达到了这个目标。当然,在互联网时代,公众对诸如XBox一类的设备的需求,以及对服务类软件的关注,使得微软对愿景也作了相应的调整。从1999年到2002年,微软的愿景是:“杰出的软件无论在何时何地运用于何种装置,都能赋予人们巨大的力量。”比起仅仅着眼于PC的愿景,这个愿景显然更加远大,更加大胆。2002年,微软又提出了更远大的新使命:“帮助全球的个人用户和企业展现他们所有的潜力。”图11展示了2008年微软的徽标,这个徽标反映了微软的新愿景。图11微软2008徽标2008年9月,在公司全体员工大会上,斯蒂夫·巴尔默宣布了公司的新使命:“把软件的神奇和网络的力量集合起来,在全世界的设备上创造崭新体验(Create experiences that combine the magic of software with the power of Internet services across a world of devices)。”当时,会场的屏幕上还显示了个人电脑图像、服务器、浏览器应用程序以及从手机到游戏机等设备。这个使命的真正含义就是把软件加服务应用于每一个功能强大的互联网连接设备上。这个新使命,加上2002年提出的愿景,使微软既有了使命也有了愿景。在推出新使命的时候,斯蒂夫一度停下来,回答了一个很多人关心的问题,我们如何对待公司旧的愿景:“您的潜力就是我们的动力”?斯蒂夫认为,多年来微软一直以“每家每户的每张桌面上都有一台个人电脑”作为愿景和使命,今后恐怕不会再有这样的单一明确的目标来指导公司的发展了,这一转变也标志了我们的成功和对世界的巨大影响。虽然我个人喜欢着重于帮助人们实现自己潜能的愿景,但是作为一名软件工程师,我更喜欢软件、互联网和设备这些具体的东西,作为一名软件测试工程师,新的使命是对我的巨大挑战,因为这意味着我的测试矩阵又要再一次扩大了。 为了实现这个使命,微软公司认同6个价值观:正直诚实、直率与相互尊重、勇于迎接巨大的挑战、充满热情、值得信赖和坚持自我提高及完善(Integrity and Honesty,Open and Respectful,Big Challenges,Passion,Accountable,and SelfCritical)。其中,勇于迎接巨大的挑战是软件工程师最常用的价值观。软件工程师在谈论下一个重大项目以及为什么现在就要开始这一项目的时候,就会体现出勇于迎接巨大挑战的价值观。巨大的挑战还包括机智地冒险、坚持但不僵化和勇敢但不鲁莽。  微软公司价值观定义可参考: 这些价值观鞭策着微软的软件测试工程师努力不懈地找出下一个缺陷、再下一个缺陷,以便我们的顾客能使用上高质量的产品。 当Stephen Elop被问及为什么要加盟微软,取代即将卸任的企业部门主席Jeff Raikes,即掌管整个企业部时,Stephen谈到了使他下决心的几个原因,但他最后归结到一句很能引起听众共鸣的话:影响力。 “加入微软公司提供了一个机会,一个对全世界数百万计人们的生活和工作有积极影响的机会。比方说在飞机场,如果一个人走过来对你说:‘请看我能用你们的软件完成的事。’那该是多么有成就感。” 用软件改变世界需要出色的软件产品和创造这些软件的优秀团队。众所周知,微软经常重新整编工程队伍,但是到我们写这本书时,最上层的3大产品工程部门还保持着多年来没有改变的结构:  平台产品以及服务本部(Platform Products and Services Division,PSD)。包括客户服务分部、服务器及工具分部,以及在线服务分部。  企业本部(Business Division,MBD)。包括信息工作者分部、微软商务解决方案分部,以及统一通信分部。  娱乐及设备事业本部(Entertainment and Devices Division,E&D)。包括家庭娱乐分部和移动与嵌入设备分部。提示: 在微软内部,企业本部(Business Division)的缩写本应是BD而不是MBD,但使用3个字母缩写是微软根深蒂固的传统。所以前面加上微软(Microsoft),就成了“Microsoft Business Division”,于是MBD就成了企业本部的英文缩写。 微软所有的软件开发都由这3个大部门负责。每个本部由一个部门主席负责,直接向执行总裁斯蒂夫·巴尔默汇报,当然,斯蒂夫还有很多其他直接下属。在本书出版的时候,比尔·盖茨(Bill Gates) 应该已经退出了微软的全职工作,但是,在未来许多年,他还是会出现在微软组织示意图中。图12是简化版的微软组织示意图。图123个软件开发本部在微软组织机构中的位置示意图每个本部都为公司贡献几十亿美元利润和100~200亿美元的营业收入。从营业收入来看,这些产品本部比很多世界500强公司还要多。每一个本部都负责几十个产品,其中很多产品都有很高的销售额和很高的利润,还有其他的一些产品则是微软的投资,也许在许多年内尚无回报。 划分各个本部的原则是每个本部致力于不同的市场和不同的客户群,E&D专攻娱乐,MBD做企业软件,而PSD则致力于构建平台,我们的生意伙伴和微软的其他部门用这些平台为其他公司和顾客提供解决方案。 我们的首席软件架构师Ray Ozzie是斯蒂夫·巴尔默的直接下属。其他许多高级领导人也是斯蒂夫的直接下属,如首席运营官(COO)Kevin Turner ,法律和公司事务团队(LCA)的高级副总裁Brad Smith。虽然在公司的各个部门,甚至在人力资源部门,都有一些软件工程师,但是,绝大多数的软件开发工程师和软件测试工程师都分布在这3个部门。是订购新T恤衫的时候了 这是1998年的一个炎热而晴朗的夏日。斯蒂夫·巴尔默还没有出任微软首席执行官或总裁,他把所有Atlas项目工程师召集到一个大会议室。就在一天前,Atlas项目T恤衫已经分发下来了,我当天就穿着那件T恤衫。在发T恤衫的时候,我知道我们有麻烦了。T恤衫上的图案是一个人把世界扛在肩膀上,其寓意是Atlas项目的目标:在任何时候、任何地点和任何设备上提供软件和服务。我们约200名工程师接受了这项任务。这一设想最终成为微软企业的使命,所以我们这个小团队的资源显然是不够的。 在从办公楼走到会议室的路上,一个测试人员走到我身边,对我说:“是订购新T恤衫的时候了。” 我问: “什么意思?” “很简单,伙计,”他转身面对着我,一边退着一边说,“我们拿到了这个项目的T恤衫。我们去见斯蒂夫·巴尔默。难道你不明白吗?我们的团队要重组了。” “这是我今年拿到的第三件项目T恤衫了,”我说,“我们团队不会再次重组的。” 但是,我错了,我的朋友说对了,我们的团队进行了重组。从那时起,每次听到“是订购新T恤衫的时候了”,我的感觉总是很复杂。一方面,它可能意味着你要放下手头的一切工作,开始一个新项目。另一方面,这可能意味着你有机会获得一个伟大项目的T恤衫,这是一个并不多见的良机,你穿着这个项目的T恤衫去办公室,常常会引发别人的兴趣,“噢,我记得这个项目……”,由此而引发兴奋的交谈。我就有两件这样的项目T恤衫。 有一次,我们为全部门的测试工程师定做了T恤衫,印上了Doonesbury的漫画。如果你想看的话,该漫画条发表于1996年3月19日,其中包括一个测试工程师最喜爱的短语:“找出缺陷,非常酷”。Garry Trudeau,Doonesbury 的创建者还在其中的一件T恤衫上签了名,我们自豪地把那件T恤衫在我们办公楼的大厅内展示了多年。 其实,多次转换项目反而使我获得了很好的经验。在接下来的几年中,我并没有更换团队或上司,却参与了多个服务器产品和服务类产品的测试工作,经历了几个项目的发布过程。每当想起那些发布后的庆祝会,我总是感到有趣而难忘。 微软的文化之一,是不同的项目团队有自己独特的文化衫,上面印着该项目的标识等图案。大家很喜欢穿着项目文化衫上班。这段文字里,换文化衫意味着更换项目或团队重组。团队重组是一件大事,经常发生,对于每一个人来讲都意味着机会。为了不和一般的文化衫混淆,我们还是把它翻译为项目T恤衫。1.2微软是大型的软件工程公司。 微软是一家大公司,这对任何人来说都是不足为奇的。截止2008年1月,微软全球的雇员总数超过九万人。因此,了解微软在如此大的规模下,如何完成各项工作是很重要的。 对于微软来说,“大”其实意味着“广”,而“广”是指每年投入市场的产品线、微软产品销售与竞争的市场种类,以及公司达到所有这些要求所面临的工程技术的挑战之广等。 例如,微软提供的软件产品的种类是庞大的。在2007财政年度(7月1日至次年6月30日),微软发布了100 多种主要产品,比如Microsoft Office 系统、 Windows 操作系统、 游戏软件和游戏机硬件、家庭娱乐产品、商务解决方案(例如客户关系管理-(CRM) 软件)、移动嵌入式设备(Mobile Embedded Devices)、网络在线服务(如 Live 邮件和网上搜索),以及小型商务网络服务软件。微软还开始投资于企业到企业 (businesstobusiness,B2B)的服务,并继续在其他新兴的软件市场中拓展。微软继续投资在机器人软件、基于 Internet 协议的电视 (Internet Protocolbased Television,IPTV) 和车载电脑(automotive PC)等。 同样惊人的是微软产品投入的市场数目。当微软有了一种新软件产品或服务时,通常会在全球统一发布。这几乎要求每种产品的内容都要译成80多种语言和方言。表11列出了产品及市场销量的统计数据,它会使我们对Microsoft产品线的广泛应用有更具体的概念。表11微软产品的简要介绍 产品 简要介绍Windows操作系统Windows操作系统占有桌面操作系统的超过90%的市场份额。截止2008年中期(大约本书出版的时间),装机量已超过十亿台Microsoft OfficeOffice 95 版本支持27种语言。Office 2007支持的语言超过Office 95 的4倍。随着全球软件市场的不断拓展,它支持的语言数量仍将不断增加Windows MobileWindows Mobile 销量超过两千万,在智能手机的市场占有量首屈一指 (2007年的数据)Xbox 360游戏机截止2007年底,全球已销售超过1千4百万台《Halo 3》游戏《Halo 3》(仅限于Xbox 360游戏机) 游戏首日销售额达1.7亿美元,创游戏史上首日销售纪录Windows Live 邮件世界上最大的电子邮件服务,有超过4.25亿的活跃用户账户虚拟地球虚拟地球每天提供6亿多图块的浏览服务 (图块就像瓷砖,是地图的一个部分,用户可以自由缩放)。 微软公司的巨大规模、多元化的产品组合,解释了为什么在微软没有一个统一的方法来制造和发布所有的产品。从其核心意义上来说,微软是一个由广大员工的创造力所推动的软件公司。即使横跨各种不同的产品团队和流程,很多测试团队仍共享许多相同的最佳实践和测试工具。本书第一部分将重点介绍微软测试工作与人相关的一面,即我们如何组织测试团队、如何面对测试公司各种软件的不同挑战。第二至四部分将具体介绍和演示测试的最佳实践方法和工具。 1.3拓展大型且高效的业务 我们主要用两个模式来组织工程师队伍。某个产品业务从培育期到成熟期,可能会从一个模式转换到另一个模式。Office刚开始的时候,它根本不是现在的样子。先从Word和Excel,然后增加了PowerPoint和Access等。最开始的几个版本,每个产品都各自独立开发并发布。这种偏重于产品独立发布的模式通常称为产品部门经理(Product Unit Manager,PUM)模式,这在微软内是最常见的。 在PUM模式下,一个产品部门单一组织及管理他们需要的(或至少可以获得的)所有工程资源。他们通常没有依赖其他部门的地方,除非另一个部门提供了一些比较成熟的技术。PUM 模型比较适合那些需要迅速发布的产品并能灵活应对竞争对手,但它不适于资源的集中和共享,例如产品编译或测试自动化工具的生成等。在这种模式下,重复性工作和团队间交流的开销较高。几乎每个产品,不论其如何成熟,其中仍有一些这样的小团队。Office 和 Windows这两个部门在发布主要版本的同时,仍使用 PUM 模式管理其孕育新产品功能的团队。工程师团队常见的PUM模型如图13所示。图13工程师团队内最常见的PUM(产品部门经理)模型共享团队模式。 当产品以及产品类别日趋成熟时,其团队通常也随之变大,并自然而然地想通过集中管理来提高效率和降低成本。这种模式有很多名称,但共享团队模式可能是最好的名称。在此模式下,产品的公共功能的开发测试被集中在一个共享团队,其他的产品团队必定依赖于这个共享团队,不然,他们的产品功能就难以开发成功。 Office是一个很好的例子。自从有人想出这个聪明的点子:捆绑我们的与办公相关的应用程序软件,并把它们作为一整套系列来销售,Office团队便开始了从PUM模式到共享团队模式的演变。在实际工作中,Office的员工称该演变了的部门为Office共享部门(Office Shared Services,OSS)。典型的Office部门组织结构如图14所示。图14典型的Office部门的组织结构在Office组织内,有包括Word、 Excel 和 Sharepoint在内的许多产品团队注重于特定的应用程序和与之相关的用户群,也有许多共享团队如用户界面、编译生成和文档流程等团队,注重于集中与共享技术和用户情景。产品团队倾向于关注其特定客户群(如Excel最关心电子表格用户),但他们同时必须遵从共享原则 (最佳的用户界面是界面的一致性,这种一致性使得用户要学用Office的应用软件,只要学其中一种Office的应用软件就可以了,而且可以有助于学会其他各种Office的应用软件功能,可谓是一通百通)。通过这种实践,Office部门在每个产品不断创新的同时仍能保持整个Office产品系列的一致性。这些目标可能有些矛盾,但通过每个产品团队的通力合作,就能整合设计、开发和测试等各个方面,创造出一个Office部门考虑所有产品特点和共性的整体发布愿景和创新设计。 同样的事情也发生在各个工程团队,特别是测试团队中。每个产品团队都有一个测试团队,其任务是用创新的方法来测试和验证产品的功能。不过拥有一套统一的创新测试工具和方法,对于产品会大有益处。因为认识到这点,Office部门已探讨、寻求和创新某些方法、实践和流程,并应用在特定的Office产品开发过程中。如产品功能小组(Feature Crews) (第3章会详细介绍)、Office自动化测试系统OASYS,以及代码提交到整个Office代码管理系统前,用于验证代码能正常运行的工具“大按钮”(Big Button)等。 共享模式不仅提高效率,而且助长创意。一个共享团队可能对普通用户界面有独特见解,但最初设计不一定能达到特定用户群的要求。共享基础设施质量欠缺会减慢其相关团队的工作进度,如果其质量得不到改善,共享团队会成为其他团队的绊脚石,而其开发的基础设施也将会被弃用。 在完全的PUM模式和完全的共享团队模式之间有很多变种。 其实在微软内部,尚没有发现具有完全相同的组织结构和相同的开发产品流程的两个团队。很多人比喻微软从外面看起来像一个战舰,但从里面看它时,微软更像一群快艇,都急速地驶向一个的共同的终点,但又各显神通。对于微软工程队伍和产品组织,我的一位朋友想到了一个更好的比喻。像创作戏剧一样研制和发布软件产品 当刚开始在微软工作时,我很难理解不同的产品制造流程、最佳实践和不同的工程师角色等。这些都引导我思考如何在这里做事。一方面,我们需要发明和创新。另一方面,我们又是一个大公司,二者会莫名其妙地相互抵触,即大公司很少能在根本层面上成功地创新。可是一个比喻却帮助我理解了这个难题,我把这个环境与剧团进行类比。与任何剧团一样,我们有董事、生产商、演员 (工程师),当然还有A档和B档明星、舞台制作者和其他参与的人。这个比喻的关键是:尽管表演艺术主要在于创意和完美的表现,但也是出自剧院的产品,需要票房收入和被观众接受。对潮流和长远趋势的把握,在软件开发中与在表演艺术中同样重要,尤其是在当今以用户体验为主导的世界里。 营销、销售和法律等也都是角色分明,各司其职。我是这样来与微软类比的,行政及财务管理者是制片人,部门总经理是导演,工程师们是演员,这与剧院内戏剧制作的角色一一对应。与剧院一样,创新是产品的驱动力。一个突破性产品就像引领潮流的戏剧作品一样。 一旦把二者联系起来,我觉得就像是站在我所钟爱的基洛夫芭蕾舞剧院的侧翼,看我的好朋友及邻居们翩翩起舞。我的身心就像进入到一个光怪陆离、妙不可言的微软的奇异世界。我内心世界的爱丽丝就像已经探到迷宫似的兔子洞的底部。(西方童话典故) 整个比喻的关键是设法平衡一个矛盾体:一个大型软件公司必须产出高额利润,又同时保持其机动性和创造性。巨大的生产规模和创造性是有内在冲突的,成功地平衡好二者是微软成功的核心。谷歌(Google)、苹果(Apple)或升阳(Sun Microsystem)公司似乎都还没有在这么大的规模上证明能做好应对的平衡,但是Cirque du Soleil大马戏团和微软已经证明了他们能成功地应对。 —Irada Sadykhova,总监,卓越工程部门,有效学习&组织小组 1.4在“大”公司中做 “小”项目 我们在微软不仅仅做大生意,也在寻找下一个大产品的过程中,开展许多较小的项目。 我曾经听到过比尔·盖茨比较微软产品开发和电影业的异同。他比喻每个大电影制片厂同时投资在不同的电影类别。一个类别是“大片”,如最近重拍的《金刚》。通常这些电影的制作成本非常昂贵,因此它们也带来很大的风险——它们或者成为票房毒药,例如2002年Eddie Murphy的电影《普鲁图·纳什的冒险》(该片耗资近亿美元而票房收入仅440万,被认为是最大的失败作品);或者成为突破性的赢家,例如统治票房的《泰坦尼克号》全球收入18亿美元,又如《拿破仑·戴纳麦特》以40万的投资收获4600万票房(不计算 DVD和其他销售)。另一个类别包括知名影片系列的续集,如《蜘蛛侠Ⅱ》和《蜘蛛侠Ⅲ》或《星球大战》系列的续集。通常我们期望这些影片带来高额票房。 所有电影制造商都有一个目标,就是要盈利,但他们通常是通过降低投资量来减低风险。比尔认为意想不到的成功制作和成功的系列影片续集一直都存在,但长期成功的关键是制片商通过同时制作多类别的影片将风险分摊,以及尝试找到下一个可拍摄很多续集的知名电影。一部知名电影的续集拍摄带来的可预期的长期利润可以用来资助其他项目,很可能下一个大的知名影片系列因此产生。彼得·杰克逊的《指环王》系列和《哈利·波特》系列都是大胆的投资拍摄新的“大片”而后来产出多部高盈利续集的范例。事实上,这两个系列都有新续集在制作中,彼得·杰克逊正在制作两部来源于《指环王》系列的影片;还有三部《哈利·波特》的书将被拍成电影。 微软的产品战略和上述电影业很相似。大型而且成功的微软产品部门(如Microsoft Office、Windows、Visual Studio、Exchange、SQL Server、Hotmail和MSN Messenger)的部分利润被用于“孵化培育”其他项目的投资。这些项目有望成就未来的大型而成功的微软产品。在软件产业,“孵化培育”是很普遍的。孵化培育(incubation)这个术语通常用于小型的软件创业公司。这些公司有很好的想法和值得期待的目标市场,但它们却还没有发布第一个产品。微软较大的创业团队通常由总经理(General Manager,GM)管理,较小的创业团队通常由产品部门经理(Product Unit Manager,PUM)管理。这些团队通常自成一体,拥有大部分工程开发所需的资源。这样,他们的命运就掌握在他们自己的手中。我曾为BUM工作过。 1997年,我在从MSN分离出来的因特网服务事业部(Internet Services Business Unit,ISBU)工作。在原来的MSN团队,我们研发了许多新技术来推出MSN。我们有比Microsoft Exchange Server扩展性更好的email服务,有比Microsoft Active Directory目录服务扩展性更好的登录服务器,有内容管理服务器和许多其他服务器。几乎每家互联网服务提供商(Internet Service Provider,ISP)如CompuServe、Comcast和AOL都拥有或需要这样的服务器。 可能是有人提议打包这些东西出售给小型的 ISP和电话公司,因此就成立了ISBU部门。很多来自 MSN的工程师加入了ISBU,一些小公司也被ISBU收购了。ISBU的产品后来发展为网站服务器、商业服务器和商用互联网服务器(Microsoft Commercial Internet Server Microsoft,MCIS)。在这种情况下,与上文所述的PUM 或GM不同,当时管理着整个工程团队的总领导被称为“商务单位经理”(Business Unit Manager)。我们称他们为“BUM”。可英文“BUM”的意思可不怎么好听:原意为流浪汉、懒汉。所以,我们ISBU的所有工程师就有为几位“流浪汉、懒汉”工作过的历史了。 bum原意为流浪汉,懒汉。微软经常向内部的技术孵化培育项目投资,例如IPTV、车载电脑和机器人项目,以及微软研究院(Microsoft Research,)所做的所有工作。我们也投资可以促进软件产业整体变化的项目。2007年4月,我们和超过10个合作伙伴一起推出了微软公司软件作为服务(Microsoft Software as a Service,SaaS) 技术孵化培育中心计划。 在微软,有很多技术孵化培育的模式。成熟的产品往往孵化培育新的功能特性。例如,Office 2007的彩带(Ribbon)是一项改变了Office用户界面的新功能,又如Windows Vista 的Shuffle功能。最新版的Visual Studio所带的源代码覆盖率工具最初是作为微软研究院和Windows的内部工具开发的。 我们用过的孵化培育创新的另一种方法是使用内部的风险投资团队。任何雇员可以提交一个想法,然后风险投资团队将使用类似风险投资业界公司的流程来审查这个想法的可行性。 就像在风险投资业界一样,只有极少数的超前想法通过这一机制得到资助。 孵化培育想法的另一个来源是比尔·盖茨的“思考周”(ThinkWeek)。微软员工可以提交白皮书详细阐述自己新的想法和创新。在大约每年两次的“思考周”中,比尔阅读和评论许多这样的白皮书。“思考周”结束时,比尔的批注(曾经是手写的)会被整个公司共享。2005年,华尔街日报这样描述“思考周”:这是一个每年两次的仪式,它可以影响微软和高科技行业的未来。一个“思考周”的想法能为一项被千百万人使用的技术打开绿灯,或将微软送入新的市场。1995年 的一个“思考周”促使盖茨先生写出了论文“互联网浪潮” ,引领微软开发了它的互联网浏览器并将网景公司(Netscape)彻底打败。诸如创造微软的平板电脑、开发更安全的软件、开始在线视频游戏业务等计划都是在各个“思考周”中孕育出来的。 Robert A. Guth,“In Secret Hideaway,Bill Gates Ponders Microsoft’s Future,”Wall Street Journal,March 28,2005, 微软平面(Microsoft Surface, )这个概念曾经是微软研究院的几个人写的一份白皮书。在比尔读过这份白皮书后,一个PUM参加了该团队,并开始推动将该想法变成可行的产品。其结果是一台计算机被内置于一个桌子里,而计算机的显示屏幕就是桌子的表面。我认为这看起来很像20世纪90年代一度出现在酒吧中的桌面视频游戏。用户可以与微软平面使用手势交流,或通过把实际物体,如名片或Zune MP3播放器,放在平面上来实现交流。 微软最近开始使用一种被称为“寻求”(Quest)的流程来创新想法。字典中将“寻求”这个词定义为“搜索和寻找 ”。在微软,“寻求”是与我们制定的长期愿望和目标有关的。“寻求”这个流程召集微软各部门的资深技术思想领导人来创建一个5~10年的关于技术创新的远景规划。通过“寻求”这个流程,微软公司的顶级技术专家横跨不同组织和产品部门进行协作,他们和企业领导人员一起规划最可能改变人们工作和生活并为微软及其客户和合作伙伴创造新的商业机会的技术革新。 “寻求”的过程中不会引出只有简单答案的简单问题。通常,一个“寻求”历程需要很多年才能完成。常常在创建一个新的市场之前,会需要崭新的研究、建造众多的样品和发现独特的见解。 一个成功的“寻求”历程必须是严谨的、有远见和有方向的,而且是以客户为中心的。这里所提到的严谨是指我们待人接物,正直、诚实、开通、尊重对方这些价值观所共识的部分。严谨对于微软的“寻求”历程来说意味着结合同事之间广泛的检阅和审查,和包括3位本部主席、斯蒂夫·巴尔默和其他几位执行官的公司高层领导组的监督。 这些“寻求”历程的目的不在于制作一个产品的另一个版本,而是怎样管理一系列长远技术问题的组合。这种管理需要在跨组合作中找到和使用协同的作用和力量。这些“寻求”历程的数量和焦点随着旧的“寻求”结束和新“寻求”的开始而年年变化。目前,50多个包括从客户、信息工作者到IT精英和程序编写者,跨越整个微软企业和所有客户群的“寻求”历程正在运行中。 1.5聘用多种类型的工程师 因为微软是一个既有产品又有平台的公司,所以微软大量合作伙伴都有自己的软件工程师团队,这些合作伙伴在微软的软件上进行再创新。如果将与微软合作的供应商和合作伙伴加起来微软工程师的数目在全世界超过十万人。在世界各地,有数以百万计的软件工程师为苹果、IBM、 Sun、 Oracle和诸如Linux的开源软件而工作。与他们所组成的完整生态系统相比,微软工程师团队只占了很小的比例。然而,这也许是在当今市场上最强大和最有影响力的工程团队。提示: 在全球40个国家内,微软有3.5万余位全职软件工程师。微软每年会招聘5000多位软件工程师和1000多位软件开发测试工程师。 与其他大多数公司相比,微软的独特之处在于它的工程过程和它管理软件工程师的方法。一些人看到了微软在软件行业中取得的成功,并把这些独特的不同之处认为是微软关键的竞争优势。 另一些人指出我们的一些产品存在问题,并怀疑是这些不同之处是否是微软的弱点。 然而,究竟有哪些软件工程方面的因素使微软与世界上其他公司相比有着独特和不同之处呢? 工程类职种的划分 如果你对全球在微软工作的80000余名员工的角色进行分类,你会发现有35 000多人在销售、市场营销和信息技术部门工作。产品工程是公司开发和支援软件产品的部分,截至2008年初,微软在全球雇用了近三万五千名工程师 。其他一万名员工跨越了很多领域,如从工商管理到法律等。虽然微软还在继续迅速增长,但是,销售、市场营销、信息技术与产品工程之间的平衡在这些年一直是相对不变的。 产品工程师是实际参与产品创造和发行的员工。这些产品包括硬件、软件和相关服务。微软工程角色可分解成以下10个产品工程职种:  软件测试。软件开发测试工程师(Software Development Engineers in Test,SDET)通常称为测试人员(Tester),有时也称为软件测试员。SDET负责为微软所有产品维持高标准的测试和质量保证。  软件开发。软件开发工程师( SDE)常常被称为软件开发员。 SDE写的软件程序造就了微软产品以及软件产品的升级。  项目经理( PM )。在微软,PM是一个相当独特的角色。该角色结合了项目管理、 产品计划和设计的要素。项目经理的工作包括给一个新产品的技术方面下定义,并监督产品的发展过程。  运营(Ops)。Ops是微软信息技术( IT )的一部分。运营部门管理和维护着微软的在线服务,以及企业内部从网络到服务器的 IT 基础设施。运营部门和产品部门紧密合作,以求在软件服务架构方面降低生产成本,使我们的软件加服务更加可靠。  易用性和设计(Usability and Design)。易用性体验和设计(Usability Experience and Design,UX)结合了我们宣传的产品设计和产品易用性两个角色。设计师关注的是前端用户对软件在视觉和功能方面的体验。易用性则在关注视觉和功能方面体验的同时,研究用户怎样使用现有的产品和新样品,然后在产品发展过程中把分析结果用于改进产品。  内容。在我们外部网站上,内容仍称为用户帮助和教育。这一职位侧重于设计和提供包括用户界面(UI) 文字、网络信息、培训、模板、栏目、书籍、测验和帮助文件等各类用户帮助,以便用户从微软的产品中获得最多信息。改名为“内容”,是强调微软需要专注于所有不同产品、运载工具的信息内容。  创意。创意职位最多存在于游戏组。这个职位的工程师开发和改善微软在个人电脑上和Xbox游戏机上使用的尖端游戏软件。创意职位包括游戏设计师以及游戏艺术设计者。  研究。研究包括软件开发和测试两种角色。软件开发工程师和软件开发研究工程师的差异是软件开发研究工程师的重点放在研究、发表论文和培养新的技术,而不是按照时间表发行产品。  本地化。国际项目工程(Internatioanl Project Engineer,IPE)曾被称为本地化。 本地化重点在于把微软软件的文字翻译成多种语言,并使微软软件适用于不同的国家和地域文化。IPE人员还负责根据具体的地域市场需求,修订微软的软件。  工程管理。工程管理是由管理多个职种,比如测试、开发、项目管理等团队,的经理们组成的。他们的头衔通常是产品部门经理(PUM)、总经理(General Manager)或部门经理(Group Manager)。提示: 硬件被认为是一个特殊的职种领域,其中包括硬件开发工程师、硬件测试员及硬件项目经理。这些职种与在软件和软件服务方面的相关职种相似。但不同之处足以令他们有着自己的职业道路和培训支持。 产品工程师们由他们自己的职种划分排列。工程师的人数在每一个职种都不同,多则万人,少则几百人。 最大的3个职种是软件开发(SDE),项目管理(PM),与软件测试(SDET) 。第四大职种是迅速增长的IT运营,这与公司对服务类软件日趋重视的转变有关。 微软以前并没有把这些职种分离。早年,每个人的名称都是“技术员”。专业化角色始于1979年,用不同的标准职业名称来辨认确定工程师的职业道路开始于1980年代初期。 3位组合(Triad)这个名字指的是软件开发、软件测试和项目管理3个职种,如图15所示。这是3个在微软的最大的工程职种。来自于3位组合职种的大量工程师都在产品开发团队里。随着重点转向软件和软件服务,图15SDE、SDET和PM 3位组合IT业务也在迅速增长。 一般的大型软件公司都会雇用以上几类工程人员,每一类人员都有它自己的行业交流活动,例如测试行业的软件测试分析和讨论会议(Software Testing Analysis and Review,STAR),又如开发行业的软件安全开发会议等。 会议是为了提高专业技能和促进整体行业发展。 在微软和整个软件产业,软件测试都是其中一个较大的行业。在这本书里,我们希望通过与您分享微软测试人员的故事来阐述我们的一些观点,揭示为什么微软测试工程师与其他公司的同行的相同与不同。测试工程师突破128KB 内存障碍 1985年,为测试人员购买设备的资金还非常有限。 当时Excel的Mac版本可以在至少128KB的内存下运行,所以测试人员所拥有的最好的计算机就只有128KB内存。 当团队开始研发Excel的下一个版本,内存要求增长为512KB时,有好长时间,测试人员的计算机都没能得到升级。 最后,当情形已经发展到测试人员不能进行必需的测试时,才终于让我们进行了内存升级。 ——Carole Cancler,前微软测试工程师 1.6全球化的软件开发公司 人们经常问,是否微软的所有产品都是在美国华盛顿的Redmond开发的,答案是:多数是,但不全是。在1986年2月搬到Redmond总部之前很久,微软已经是一家全球性的公司。 实际上,早在1979年,微软就在日本设立了第一个国际办公机构。但直到199
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服