2014年在波茨坦(德国北方都市)的敏捷测试日大会上,Jan Jaap Cannegieter分享了使用大脑的不同面向来优化测试,他将在 2015年荷兰的敏捷测试日大会 上再次分享这个演讲。这个演讲主要谈论了用创造力来提升测试技能。创造力对测试人员真的如此重要吗?这个变化是由于敏捷吗?
InfoQ采访了Cannegieter,谈论了有关敏捷如何改变测试、测试中的创新与思考、敏捷测试人员的技能以及针对敏捷测试中测试人员如何做到这步?
InfoQ:您是否认为敏捷对测试改变了很多?
Cannegieter : 这是肯定的,总之,这是过去20年来对系统开发,还有测试最大的改变之一。如果你从理论的观点来看,敏捷中没有测试人员,在敏捷中你只有产品负责人、Scrum Master和团队成员。但是,因为大多数的团队都需要测试技能,因此团队中通常会有测试人员。
InfoQ:的确,这是事实。但是,测试仍旧只是检查系统是否按照所设计的运行吗?
Cannegieter : 也是,也不是。测试人员,或者说团队都是测试人员,是负责检查系统是否按照所设计的运行。但与此同时,最终用户、产品负责人以及团队成员想从测试中期待更多。这个系统,或者部分系统是否解决了最终用户的问题?这个Sprint的目标是否达成?解决方案是否最优?仅仅比较解决方案与用户故事已不再够用,在敏捷中,我们需要思考型的测试人员(Thinking Tester)。
InfoQ:什么是“思考型的测试人员”?
Cannegieter : 测试人员观察的角度超出了他或者她的任务分配及书写需求。书写需求或者其他类型的文档,那仅仅是知识迁移。当系统与书写的需求保持一致时,并不意味着它是一个好的系统,或者满足了产品负责人和其他用户的目标。所以说,测试人员观察的角度需要超越这些书面需求,不断地问问题。
几天前,我曾测试我们的知识库,我看到一些东西并不符合逻辑。开发人员说这个与需求是一致的。这也许是事实,但却不对。我们联系了相关的干系人,即需求的所有者,他承认那个需求错了。
InfoQ:测试过程意味着什么?
Cannegieter : 大部分情况,它意味着测试人员不需要预先编写详细的脚本。更多的则侧重于实际测试。当然,这与敏捷宣言所宣称的“工作的软件高于详尽的文档”完全一致。但对于大多数测试人员来说仍然是一个巨大的转变。因为他们已经习惯了测试执行阶段的引导脚本。现在他们有了更多的自由度,必须当场决定下一步最好做什么。因此测试更加灵活。
InfoQ:测试自动化是什么?它不需要详尽的测试脚本吗?
Cannegieter : 是的,当然需要。但自动化测试本来就是一致性检查。第一次测试的时候,你不能自动化,至少不是通过录制-播放的方式。这种一致性检查已经高度自动化了,但是测试的思考部分是不能自动化的。对于思考型的测试人员来说,最重要的工具就是他或者她的眼睛,来看到底发生了什么,通过他或者她的大脑,来解释发生了什么并且决定这是否是好的。
InfoQ:那么,对于个体测试人员的技能来说,测试有什么改变呢?
Cannegieter : 更少的测试引导脚本,测试人员需要更有创造性。而且这对一些测试人员来说是很困难的。我经历过不止一次,测试人员想根据详尽的文档继续制作测试脚本。但是开发人员不停地说:工作的软件高于详尽的文档。在其中的一个项目中,我做了一个工坊来介绍测试,参加的人有测试人员、开发人员、最终用户以及其他的干系人。测试是基于测试目标的,并且在这个过程中,参与人员必须设计他们的测试。经过了一段时间他们才习惯了不用以前制作的测试引导脚本,过了一会,大多数测试人员更加喜欢这种方式了。这意味着更多的自由度,测试人员必须去适应。
InfoQ:测试人员如何做到这一步呢?
Cannegieter : 首先,对新人来说这不是一个问题,即创造性与灵活性对他们不是问题。一些守旧的测试人员必须增强他们的灵活性和创造性。对于测试过程,这意味着测试人员需要精通测试与文档测试中不同的方法。一些系统或者部分系统仍旧需要借助详细的测试脚本测试,例如复杂的计算。其他的系统需要通过基于测程的测试(Session Based Testing),测试通过测试目标、用户期待系统想要实现的语句来指导。并且有些测试需要使用自由的探索性测试,测试人员事先没有任何指导。因此测试人员必须精通所有这些方法。
另外一点,测试人员必须提高他们的创新能力。这是我在荷兰的敏捷测试日大会上分享的主题。我将会分享更具有创造力的12种方法。其中的一个例子我称它为基于角度的测试,是说每一名测试人员、或者用户考虑从不同的角度进行测试。角度测试的例子如:系统是否支持这个流程;系统有哪些好的方面;用户是否有可能拒绝使用这个系统等等。这种验收测试的方法极大地提高了测试人员的创造性。而这只是我给听众分享有关更具有创造力的十二个技巧中的一个。
InfoQ:可否说守旧的测试人员正面临死亡?
Cannegieter : 不是, 我们仍然需要他们的技能,并且肯定地说,在一些项目中我们还会预先制定测试脚本。但并不总是像以前那样地详细。并且,我看到一些测试人员在性能测试、安全测试以及测试工具上具有丰富的经验。在未来几年,我们仍然急需这样的测试人员!
InfoQ:敏捷测试对您意味着哪些改变?
Cannegieter :自由! 过去几年我作为测试人员感觉有点无聊。大多数的时间我都是在读文档和写测试用例。我所关注的测试执行部分只是我工作的一部分,而我却最喜欢那部分。
首先,这也改变了我的职业生涯!向需求和严格原则发展。去年,我被要求测试VDI虚拟桌面架构的一个平台;我使用了基于测程的测试和自由的探索测试,并且大写字母F很有趣。作为测试人员,我必须本能地立即回应意外的情况,并且我工作的团队是有着共同目标的、非常有凝聚力的团队。我感觉我从预先详细的测试脚本制作的局限中释放出来,它给了我更多的能量。
查看英文原文: Creativity and Testing: Do They Go Together?