自动化测试(AT)与探索性测试(ET)
上一篇 / 下一篇 2012-09-05 09:32:02 / 个人分类:杂谈
dPT.J0mU5d+u0SF0 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。51Testing软件测试网:iG$\v:_T5dY
l f0rvQVh3C0 前提条件51Testing软件测试网?.u EM6`+i L!i
G6{@5O [bBK0 实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:51Testing软件测试网4W@ _0j+lk5G9q
YtIR)l,v0 1)软件需求变动不频繁51Testing软件测试网(G@6wb sLS |b
51Testing软件测试网UXqGb9e测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护 本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失 败的。
2z@s? {0MnJ2n0#|/X6^A,T0 项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。
p D7YT[c051Testing软件测试网 C)C0H2v)\av:S0s E5R2)项目周期足够长51Testing软件测试网 A q l hVv?1^$A
!z _p_Jd0 自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。
I@Hn"Z6?B0EfEs?oHX5T0 3)自动化测试脚本可重复使用51Testing软件测试网|so7V+a7u:?/~
6gI(UR"n7HF2f0 如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。51Testing软件测试网6Q0H:f;GU l&J
"Q+QM RK{0 另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。
9tLv&z2`X:zOk _8P0#JDK[7hj9I$[&tD`0 适用场合
0~ i*Wu.f"B0h/W^$I*ES0 通常适合于软件测试自动化的场合:51Testing软件测试网d:p%S1?;B,@9\GC"{
"}G V+jEZ2o0 (1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费;
2oH+k4I:I{0&q#fu:l$p(M0 (2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具;51Testing软件测试网~u2y A:k5}9_;dU-vcTg+@
#^7Ss|,kMRx0 (3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性;
2b{"l5U~i%hje0