原文来自我09年2月出版的书籍《软件测试精要》
1.所有测试用例都可以自动化51Testing软件测试网B7k0lY4q-Ja"A-@
不是所有的测试用例和测试步骤都可以转化为自动化测试。在自动化测试投入较多的行业,领先企业的自动化测试率有的能达到80%左右,但仍有20%左右的测试用例需要手工来进行。在国外,通常从开发第一版测试用例时,就同步进行自动化测试脚本的开发,所以自动化测试率普遍比中国企业高。
mh HupjFR02.自动化测试找不到bug
1|d py'~1eN}D0自动化测试不直接找bug,而是通过解放有经验的测试工程师的生产力,让其从重复的回归测试中解放出来,从事新的测试方法和测试手段的研究。通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug,将产品质量再提高一个档次。51Testing软件测试网%H+U]&}|erY
3.自动化测试一定会马上大量减少测试人员数量
+qPnZ6onU*A\Y!a0自动化测试不会马上大量减少测试人员数量。因为开展自动化测试初期需要投入一定的人力进行自动化测试脚本开发,并逐渐将自动化测试脚本用于日常的测试中,逐步减少手工测试人员从事重复劳动的时间和人数。为了缩短自动化测试脚本的开发时间,可以考虑将自动化测试脚本的开发工作借助外包的力量来早日实现大规模的自动化测试。
E]
y ?)Cw/B%Z04.自动化测试能代替手工测试
N;^;Ls4s&hg0自动化测试不适合新功能测试,适合对软件质量稳定且经常需要被测试的模块进行投入开发。
@r8|1Ons6gz
a05.只有性能测试才需要自动化51Testing软件测试网t(k;`;Rr
Ti1e3S-s\
自动化测试不光进行性能测试,更被大量应用于功能测试验证,在国外超过半数的自动化测试脚本都是用于功能验证测试的。
2Q w$xz PO0除了以上列举的5类常见误区外,还有其他不同的理解误区。自动化测试理解误区的产生,归根到底最本质的原因是由于对自动化测试不现实的期望,也就是期望过高造成的。
qY m;i6pB0如果没有建立一个正确的软件测试自动化的观念,认为测试自动化可以完全代替手工测试,或者认为测试自动化可以发现大量新缺陷,或者不愿在初期投入比较大的开支等,则自动化测试一定会让我们大失所望。
W@5pp]}*xCo0在多数情况下,我们对自动化测试持有过于乐观的态度和过高的期望,期望通过自动化测试方案就能解决目前遇到的所有问题。而同时一些自动化测试工具厂商过于强调其工具的优势、有利的或成功的一面,却忽视了要取得这些成功要付出持久不懈的努力和克服各种困难。因此,也就加深了我们对自动化测试理解的误区。除此以外,实施自动化测试还有如下风险:51Testing软件测试网0RPw0fx
一旦实施了自动化测试,便不再进行手工测试。51Testing软件测试网
y3i5S
rO&m
因为不再进行探索性测试,而慢慢丧失进行探索测试的能力。
?R1Icz1Vd;Wn0如果脚本有问题,但测试脚本标识为Pass,则很可能会有bug被永远掩盖了。51Testing软件测试网e*sM1L8}&y,LC
我们应该如何在合适的场合选择自动化测试呢?下面的场合就只适合手工测试,而不适合自动化测试:
|-D8{(u6]hU~,U:J0一个新开发的不稳定功能。
/j|jm-b NRu+hs0一个不够稳定的测试用例。
`a.Gy9o0一个需要人来判断和干涉的测试用例。51Testing软件测试网'Mh^%?Q1d&{NB
G
测试结果很难准确预测的测试用例。51Testing软件测试网-L NBc gI3o
而另一些场合则更适合自动化测试,不适合手工测试:
p!t2_+L0lG.~6M*E
s0运行时间很长的测试用例。51Testing软件测试网:V A;VOe9dKZu
运行重复次数较多的测试用例。51Testing软件测试网8_P(GW
oZ
每轮测试都将进行测试的测试用例。51Testing软件测试网 u"FUO9T"A R
高度冗余的任务或场景。51Testing软件测试网H B5mt Nm1Gh~
乏味且人工容易出错的工作。51Testing软件测试网kpnur}D-K'T
最后我们应该有这样一个正确观念:自动化测试不是万能的,自动化测试只是测试人员工具箱里的一件利器,它无法取代测试工程师的地位。在不同的情况下,有的自动化测试目标比较容易达到,有的则比较难以达到。尽管如此,自动化测试仍然毫无疑问地具有强大功能,只要选择对了发挥其功效的最佳时机及方式,就能在测试效率和测试彻底性方面使我们获益匪浅。
(h J dRu(p0