微信号:infoqchina

介绍:有内容的技术社区媒体

我们需要的是“思考型的测试人员”

2015-03-23 11:45 李清玉 译


2014年在波茨坦(德国北方都市)的敏捷测试日大会上,Jan Jaap Cannegieter分享了使用大脑的不同面向来优化测试,他将在 2015年荷兰的敏捷测试日大会上再次分享这个演讲。这个演讲主要谈论了用创造力来提升测试技能。创造力对测试人员真的如此重要吗?这个变化是由于敏捷吗?


InfoQ采访了Cannegieter,谈论了有关敏捷如何改变测试、测试中的创新与思考、敏捷测试人员的技能以及针对敏捷测试中测试人员如何做到这步?


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很有趣。作为测试人员,我必须本能地立即回应意外的情况,并且我工作的团队是有着共同目标的、非常有凝聚力的团队。我感觉我从预先详细的测试脚本制作的局限中释放出来,它给了我更多的能量。




如果想要评论本篇文章,想看下其他读者都有什么话想说,欢迎点击“阅读原文”参与讨论。

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 豆瓣App混合开发实践 面试的一分钟 看看一个程序员的代码进化 AlphaGo 与 原创留言功能开通 Android自定义View之刻度尺