Larry Osterman系列--1985年的微软程序员们
2022-1-11 07:22:23 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

2004.3.15

我想我会从一个古老的故事开始,一个非常古老的故事,要回到Windows 1.0时代。如有雷同,纯属虚构。

距Windows 1.0正式发布还有大约2个月的时间,所以大约是1985年的8月或9月。微软在18个月前预告过Windows,当时我们在新闻报道中被斥为蒸汽朋克。为此,项目团队承受着巨大的压力,需要尽快发布全功能版的Windows。

无论如何,正如我所说,现在大约是正式发布前2个月。负责Windows内存管理器的开发人员在周一上班时向团队宣布,他刚刚提交了一个新版的内存管理器,支持将可移动数据段交换到磁盘上,此前Windows只支持代码码的扇入扇出,不支持数据段的扇入扇出。

Steve Ballmer当时是整个Windows项目负责人,听过前面那哥们的话之后,他唯一的评价是:“好吧,我想开掉这个SB,我真地想开掉这个SB,但我们需要这个功能。”

下面是另一个故事,我曾考虑另开一篇讲述它,但最终还是将之一并展现,以与前一个故事形成鲜明对比。

这也是个Windows 1.0的故事,这次是关于打印子系统的。打印子系统的开发人员显然受前一个故事启发,决定在Windows正式发布的2周前重构打印子系统。

现在开发人员测试Windows打印功能时,是用notepad打开一个文件,向他们办公室里的Epson MX-80点阵打印机打印,如果一切正常,他们再提交更改过的代码。但在Windows 1.0时代,打印子系统需要支持很多notepad不支持的特性,比如变宽字体、粗体、斜体、下划线等等,这些都需要得到测试。

好吧,基于历史经验,Windows打印子系统测试负责人Linne Puller听到这个消息后,彻底崩溃了,她再三要求在提交更改之前先测一轮。那家伙同意了,但他不明白这有什么意义,因为他已经全部自测过。

Linne和另一位Windows打印测试员Valorie Holden通宵测试后,将足有一英尺(大约30.48厘米)高的打印纸堆在那家伙的桌上。

“所以那些是测试结果?姐们,这太多了,你们不能只给我看测试失败的结果吗?”
“不,那些都是测试失败的结果”
“哦”

毋庸置疑,这次代码更改未被提交,测试人员又一次挽救了开发人员。

这真地是一个古老的故事,近二十年前了。那时的Windows开发团队被称为一群牛仔,这实际上是Steve Ballmer最终直接负责该项止的原因

后来的二十年里,微软在软件工程方面取得了很大进步。即使回到当年,上述两例仍属反面教材。如今,项目会早早严格锁定。所有新特性将由DCR(设计变更请求)评审委员会评审,该委员会成员包括开发、项目管理、测试等等。在对新特性展开编码工作之前,所有三方都得签字同意才行。

此外,测试团队密切参与新功能的开发。至少,在任何重大变更提交之前,要先进行Linne和Valorie所做的预测试,现在我们称之为"冒烟测试"。微软的每个开发团队都有自己的"冒烟测试",称呼上五花八门,但它们都有某种形式的流程,允许测试团队否决/评论代码更改质量。某天或许我会写写这件事。

八卦,Valorie Holden是微软暑期实习生,一直实习到12月。她是我上大学时的女朋友,暑假来微软实习,担任测试工程师。1985年12月我俩订婚,我俩的幸福婚姻已经持续了十七年。

未完待续

scz: LO与Valorie Holden都是卡内基梅隆的。LO是CMU CS专业的,好像是1983年前后毕业的,从上文看,他媳妇可能是他师妹?


文章来源: http://mp.weixin.qq.com/s?__biz=MzUzMjQyMDE3Ng==&mid=2247485196&idx=1&sn=02023f20c00941d3d1f3b0fded7b963c&chksm=fab2c433cdc54d25a16c294f349cac1993aa8daf18ef2b179bc15d7d22e705ff17df5905ab0c#rd
如有侵权请联系:admin#unsafe.sh