我选择探索性测试作为面向业务的产品批判的工具。但是虽然它也可能找到安全性问题、性能问题、通常在压力下才出现的bug、可用性问题(例如对色盲人士的适用性)等,但是我不会依赖它来完成这些方面的测试。而且,这些非功能性的问题或非功能性的需求很难用例子来详细说明。所以看起来预防或找出这些bug目前为止还未纳入到我们的故事中来。幸运的是,还有矩阵的最后一个四分区之一。
我想关键是,找出这样的非功能需求的bug更多的是技术性问题。你不能随意地就能知道一些安全性的知识。性能测试可以说是“妖法”。可用性不是个“需要你知道很多计算机知识”的技术性的话题,但是它要求你知道很多关于人的知识(Mark Pilgrims的Dive Into Accessibility ,见http://diveintoaccessibility.org/,是个针对这方面的丰富知识的入门介绍)。
虽然我老是说敏捷项目需要“通才”,但是这里的区域则需要的是“专才”。如果安全性是对于你的项目来说很重要的话,找个安全专家,在很多安全领域拥有丰富经验的人。(也就是说,安全知识要比领域知识重要。)这些人能教会项目组怎样构建安全的产品、并测试安全性是否被构建到产品中。
(有趣的是:这些区域给我的印象是在设计和批判的角色之间的分离没有产品功能开发那么明显。Jakob Nielsen既写关于可用性设计的东西,也写可用性测试方面的东西。安全性方面的人物也是类似的,像Gray McGraw和Bruce Schneier,除了James Whittaker好像专注于安全测试方面。我不知道我的印象是否正确?对于性能测试人员好像没那么正确,虽然我知道很多优秀的性能测试员也能出色地设计出高性能的系统。)
因此,敏捷好像没有给这些人带来什么东西。这些专家继续存在,他们发展成不同的等级,他们值得进一步的发展,他们掌握了很多好的东西。可能会不如想象中的正确,但是我想他们应该就这样继续保持着。
看起来我好像完成了我的关于敏捷测试的未来指引的系列。但是还有一个问题:究竟,在敏捷项目中是否应该有测试员?对于这是个热点问题,我应该覆盖到。