软件测试的未来(2)

发表于:2013-2-05 14:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:James Whittaker    来源:51Testing软件测试网采编

  在这篇文章发表后,我接到了一个电话,是我们从事隐私保护的伙计打来的。微软正在克服各种困难,尽力保护客户的隐私,并且处处留意,不给盗窃个人信息身份的人留下任何可乘之机。但是,我仍然认为需要通过软件将测试深入到这个领域当中。这种软件应当是自我测试和自我诊断的软件。的确,这涉及到未来关于用户隐私的问题,但我们肯定可以克服它们。

  软件发布后的测试

  这是“软件测试的未来”系列的最后一部分。我希望你喜欢它。在这篇文章里记录着也许是我的预测中较有争议的一部分:即在将来推出产品的时候,我们会随之附上可以远程运行的测试代码。读到这里,我看到黑客露出了奸笑,也听到隐私倡导者们大发雷霆,但接下来我将针对这些关注做出自己的回应。

  当Vista发布时,我在Windows部门。记得一天晚上,我在家里向8岁的儿子展示Vista。他在计算机上玩了(并写作业了,如果你愿意相信的话)很长时间,他真的很喜欢Aero界面,炫酷的边框小工具,并且他喜欢的那些游戏(在当时是“线条滑雪”和“动物园大亨”)在运行速度上给他留下了深刻的印象。我记得那时就想,“他不去写计算机这一行的博客真是太可惜了”,但这是题外话。

  在演示的最后,他问了我一个让每位测试人员都害怕回答的问题:“老爸,这里面哪部分工作是你做的?“

  我一时无语,这对我来说十分罕见,然后我就结结巴巴,语焉不详。你怎样向一个8岁的孩子讲清楚自己干了几个月的工作(那时我刚加入微软,仅涉及Vista开发末期部分)却没有真正创造出任何东西?我试图用干巴巴的常规答案来回答这个令人恐惧的问题(答案必须是以感叹号结尾……这样可以帮助我说服自己,让我觉得自己所说的有一定道理):

  “我让它更好!”

  “现在它运行的这么好……嗯,就是因为我!”

  “如果不是我们测试人员,这个东西就是对社会的威胁!”

  我特别喜欢最后这一句。然而,所有这些都是空洞的。我怎么会这样,致力于一个产品这么长时间,所做的贡献只是“让它少一些软件缺陷”,而不是其他什么值得夸耀的东西。

  我觉得,在这个时候我灵感迸发:测试代码应和二进制代码一起发行,它应该在产品发布后仍然有效,依旧做着它应该做的工作,即使没有测试人员。这不是一个蹩脚的企图,不是用来让我和我的同胞们拥有指着软件产品夸耀的权利,而是提供持续不断地测试和诊断,使它不断的提高。让我们直面这个现象吧,产品发布时我们的测试并没有完成,为什么要停止它呢?

  我们已经在这方面做了一些工作。正在推广中的Watson技术(著名的“发送或不发送”错误报告的Windows应用程序),可以让我们错误发生时,当场捕获它们。下一个合乎逻辑的步骤就是对这些错误采取相应的补救措施。

  目前,Watson捕获到故障后,就记录下相关调试信息的即时场景。然后,某些处在管道另一端的可怜虫就得在所有这些数据中奔波,试图找到解决方案通过Windows Update来解决它。这在2004年是一项革命,目前仍然是。但在2~5年内,它将成为明日黄花。

  如果这个可怜虫可以利用在软件发布前就已经有的测试基本测试基本体系结构来运行更多的测试,情况又会怎样?如果这个可怜虫可以安装一个实际修复程序,并且在真实的环境中运行一个回归测试套件,情况又会怎样?如果这个可怜虫可以安装一个实际修复程序,并且让应用程序自己进行回归测试,情况又会怎样?

  他将不再是一个可怜虫,这是肯定的。但是,由于测试和测试产品在最终产品构建和发布时被遗忘了,所以这种情形根本不可能发生。

  为了实现这些功能,应用程序必须记住它先前的测试结果,并且无论在任何情况下,都得一直将它保存下来,这就意味着,自我测试能力将会成为未来软件的一个基本功能。我们的工作将会使找出如何把测试魔力嵌入到应用程序本身中去。我们的奖励将是愉快地看见自己的孩子在看到我们设计的这些最酷的功能时,眼睛闪闪发亮!

  哦,担忧黑客和隐私问题的伙计们:不用怕!对于二进制运行代码中包含测试代码会出现的问题,修汤普森(Hugh Thompson)和我早就警告过,(参见《如何破坏软件安全》一书中“第10次攻击”的章节)。如果我们知道如何攻破应用程序,我们也就可以更好地修复它。

  本文摘自James Whittaker所著《探索式软件测试》附录3

相关链接:

软件测试的未来

33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号