狗年话软件测试

春节期间由于去新西兰旅游,所以公众号前段时间打烊了,没有发布新文章。虽然现在已回到国内,还沉浸在新西兰那无与伦比的自然风光中(现在面对的只是照片)。

在狗年谈起软件测试,首先想到的是微软公司著名的实践之一——“吃你自家的狗粮”( Eating your own dog food,干脆用一个新词Dogfooding),甚至维基百科都为它撰写了词条,详细介绍这类实践:

https://en.wikipedia.org/wiki/Eating_your_own_dog_food。

今年,正好是Dogfooding诞生三十周年值得浓墨重彩地介绍一番。1988 年,微软的高管 Paul Maritz 在写给测试主管的一封邮件中首次提道“Eating our own Dogfood”,之后 Dogfooding 一词在 IT 圈、特别是在软件研发圈、测试圈内迅速传播开了。但Dogfooding这个典故可以追溯到更早的时间——上个世纪八十年代,而且并不诞生在IT领域,而是在电视行业先出现。IEEE(国际电气电子工程师学会)所属软件杂志2006年第 23 期(https://www.computer.org/csdl/mags/so/2006/03/s3005.pdf)专门报道这一主题,作者 Warren Harrison 回忆到上世纪 80 年代,Alpo 为自己的狗粮拍摄电视广告时,演员 Lorne Greene 表示不仅仅是表演时,即使在家里,他也使用“ Alpo 牌狗粮”喂自家的狗。他还提到了另一个典故:Kal Kan 宠物食物公司的总经理,每年的股东大会上,都吃一罐自己公司的狗粮。为了推广自己的产品,他也是拼了

类似这样的典故还很多,例如我们会想到二次世界大战期间,美国生产的降落伞的安全性能不够,虽然在厂商的努力下,合格率已经提升到99.9%,但离军方要求的100%合格率还差那么一点点。但是,厂商总是强调:任何产品都不可能达到绝对100%的合格,除非出现奇迹。后来,军方改变了检查质量的方法,决定从厂商前一周交货的降落伞中随机挑出一个,让厂商老板背着这个伞亲自从飞机上跳下。这个方法实施后,奇迹终于出现了,降落伞的合格率能够达到100%。据说,为了挑战百度“无人车”安全性,百度老板李彦宏也让工程师肉体拦“无人车”进行测试。

所以,人们就把“自己公司使用自己开发的产品”的情况称为 “Dogfooding”

为什么要“吃自家狗粮”呢?简单地说,如果公司打算让顾客买自己的产品,那至少公司自己首先乐意使用这些产品。我们自己开发的软件,首先自己得先用。即使自己写的软件中有缺陷,得自己先忍受,再不好也要自己先用,不能像一些无良商家做出来的食品,自己不吃,专卖给别人吃。从专业角度看,就是自己先找问题——Alpha测试,把发现的问题解决之后或自己感觉使用满意之后,再发布给用户使用。

做好产品,从 Eating your own dog food 开始。

除了Dogfooding狗与软件测试还有什么关系?的确有测试人员把自己比作“测试狗”,我就看到过一篇文章:当测试狗之后的读书资料与心得。狗“忠诚”、嗅觉灵,这些的确适合做测试工作的素质。做软件测试,对“质量”要忠诚,测试可以看作是对软件产品质量把关,要像狗一样把好门,不要让次品被发布出去。即使今天,推行“持续集成、持续发布、DevOps”等,那也需要良好的、全程的“质量状态”可视化效果,随时随地了解质量状态,跟踪质量,及时反馈质量风险,不达标的产品还是不能被发布出去。

做测试,要有良好的观察力、洞察力,能够快速发现软件中的缺陷。这里倒是可以推荐阅读 James Whittaker 写的《探索式软件测试》,能学到许多发现缺陷的技巧。以后拿到一个软件时,咱们就具有“狗的嗅觉”,能迅速地嗅到问题所在。

至于狗年软件测试如何发展、有什么动态?DevOps、人工智能(AI)将对软件测试产生深远影响,无论是单元测试还是系统测试,测试的形态、方式和方法、技术、工具等都将发生巨大的变化,可以参考我之前写的文章:

最后,祝大家狗年旺旺旺、万事顺利、发大财!,祝软件测试行业兴旺发达!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我
  • 上海市嘉定区曹安公路4800号同济大学软件学院
  • kerryzhu@vip.163.com