微软在自己的园区修建了一个非常酷的未来之家,在那里展示了未来科技和软件将如何改变家庭生活和通讯方式。如果你曾参观过迪斯尼乐园的“旋转的进展”,你会对微软的未来之家有个大致的印象,但微软的更先进。(迪斯尼乐园的展示是从上世纪60年代的观点来描述未来,它过时了。)我有偶然发现,微软也制作了一系列的录像,来描述未来的零售业、医疗保健、工业、制造业以及其他各行各业。像录像本身制作精美一样,它们所描述的将来非常令人着迷,那里充满了计算机、射频卡和各式各样的软件。作为一名测试人员,我吓坏了,不禁想到,如今软件的质量如此糟糕,我们怎样才能测试好未来的应用程序呢?

  这样,我开始了自己的未来探索。我跟公司的几十人交谈,然后开始做很多演示以便收集数百人的意见。其成果是在Euro STAR的主题演讲和这一博客系列。我在本书中对这一愿景又加以更新,这可以帮助你看到该想法逐步完善的整个过程。

  外包。这是一个令人眼熟的术语,微软在2008年利用这种方式完成了很多测试。但是,事情并不总是如此,而且这种方式将来也并不可靠。在这篇文章里,我会谈论测试将来会以什么形式完成,外包作为软件测试的商业模式,会发生哪些根本性的改变。

  在一开始的时候,外包出去的测试很少。测试是由内部人力资源(即由编写软件的开发人员同一公司的雇员)来完成的。开发人员和测试人员(通常是同一批人执行两样任务)并肩工作,一起编写、测试并发布软件。

  在这种内包时代,供应商的角色是提供支持这种自助测试工具。但是,随着对工具之外的要求付出水面,供应商的角色很快发生了改变。他们开始提供测试服务本身,而不仅仅是提供工具给内部人力资源。我们将这一现象称为外包,他仍然是开发主顾们接触测试的基本模式,租用测试服务。

  因此,前两代的测试如下所示。

时代

供应商角色

(第一代)内包 

提供工具 

(第二代)外包 

提供测试服务(包括工具在内) 

  对于测试的这种改变,合乎逻辑的下一个步骤是供应商们提供测试人员,这正是我们进入众包(crowdsourcing)的时代。昨天,软件测试外包公司Utest的公告标志着这一时代的来临,观察它将如何发展会很有趣。众包模式未来会超过外包模式并赢得市场吗?显然,市场经济和提供众包服务的公司的能力将会为这一问题提供答案,我个人的观点是众包模式的胜率较高。这并不是一个非此即彼的情况,而是测试领域的一种自然演变。较为陈旧的模式将随着时间的推移,为新的模式让开道路。众包取代外包,将会成为达尔文自然选择的一个实例,只是它会在短短的几年可以看出结果罢了。在由经济和质量约束共同决定的时间范围内,适者生存。

  第三代的测试模式如下所示

时代

供应商角色

(第三代)众包 

提供测试人员(包括工具、测试服务在内) 

  未来是怎么样的呢?在我们测试领域的DNA深处,是否埋藏有一个进化基因,它会使众包演变成更好的东西呢?我认为尽管可能需要几年时间和一些技术上的跨越,它的确是这样的。现在我将衍生出一个新术语,这只是为这一概念取一个名字:测包(testsourcing),如下所示。

时代

供应商角色

(第四代)测包 

提供测试工件(包括工具、测试服务和测试人员在内)

  没有跨越未知的关键技术,无法解释什么是测包。这个技术是虚拟化。