探索式测试与基于脚本的测试之关系
上一篇 / 下一篇 2012-05-15 09:38:17 / 个人分类:杂谈
1I ppy o0 不过,我们以前熟悉测试中的错误猜测法、Ad hoc测试等方法,不管Cem Kaner承认不承认,ET概念很有可能来源于这些先前的概念,在这些概念的基础上丰富它,试图给ET建立一个比较系统的体系,例如引入基于上下文驱动 (Context-driven)、基于session的测试等。想当初,我们用错误猜测法、Ad hoc测试方法时,一定也会考虑业务或功能的上下文关系,没有上下文还做什么测试?也会考虑某些场景,更多会考虑一些特别的场景,如人们常说的 corner case,right? 当然,ET和错误猜测法、Ad hoc测试是有区别的。
v_OJ#sb3J0W^4s;{O#M:_0 谈谈探索式测试与基于脚本的测试(Script-base Test 或 Scripted Testing,ST)之关系,不论是在传统测试流程还是在敏捷测试中, 这两者是相辅相成的,谁也不能代替谁,正如James Bach也谈到“Balancing Exploratory Testing with Scripted Testing,... two approaches to testing are fully compatible” 。而且在不同的场景有各自的优势,例如:
jp Q/E$U3Gn051Testing软件测试网.^6p IFz3c4X!TT$IE● 发现问题来看,探索式测试效率会更高些,甚至高得多;
3Z-i(cw/|l o051Testing软件测试网rIrfYQI}r● 测试乐趣看,也会优先选择探索式测试;51Testing软件测试网R:mKy'Q,r3b&s w)?
;M&i `$|'u6ZP#Xo0 ● 敏捷中新功能测试会选择探索式测试;
Hp5gJq$t07bX?,n E`0 ● 探索式测试不易实现自动化,所以自动化测试先需要脚本,然后执行;51Testing软件测试网S6T6qq'C9N
51Testing软件测试网4L st&DZA'O a● 归测试比较确定,需要不断运行,自然会选择基于脚本的测试(ST);
&@BG&u6D6Y051Testing软件测试网T8C w`C$u\● 产品线来看,开发周期长,复用会大大提高效率,ST也具有很大优势。
/b(EF0la^[0R y/gA^,r}0 所以,在一个项目中,经常是同时采用这两种方法——ST和ET,而且不同的组织环境或项目环境,随时间的投入是不一样的,这就是那两条神奇的曲线:
6{m5VmOH0'C WL/R.Q(sY0当初我没有在线上标ST和ET,就是因为每根线都可能是ET或ST,例如:51Testing软件测试网i_'_dWD+q
1、如果自动化测试水平低或没有自动化测试,就需要在前期有更多的ET,在发现产品问题的同时学习产品、更深地理解产品,并通过发现问题来完善测试用例。而为了降低产品质量风险,后期需要进行更系统的测试,特别是要完成大量回归测试、对产品质量有一个完整的评估,需要执行ST。由于自动化水平低,这时人力都投在ST上,就没有经历做ET,而且也不必要。51Testing软件测试网yV;iPoUf`
2、如果自动化水平高,前期需要开发脚本,ST的投入自然大。但自动化执行时,虽然会运行大量用例,但解放了生产力,测试人员有更多时间投入ET。