起步于系统工程师,迈进入测试工程师,从起初的C/S系统到互联网时代的B/S系统,从事过电信增值业务、软交换、烟草OA、公安技侦和电子商务等行业的软件测试开发和管理多年,愿与大家共同分享共同交流,关注软件项目管理、测试团队管理、软件流程控制和软件性能测试及自动化测试技术。互联网时代,技术推动进步,欢迎人才推荐:jonas.wangl@alibaba-inc.com

【整理】软件自动化测试的意义与定位何在

上一篇 / 下一篇  2009-11-03 19:29:09 / 个人分类:自动测试

   通常情况下,软件测试工作量都很大。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求工程师做准确细致的工作,这样,计算机就比人更适合完成任务。另一方面,手工测试存在如下的局限性:51Testing软件测试网n2O,YZwc}1IW?

  1.       通过手工测试无法做到覆盖所有代码路径。51Testing软件测试网N(Y!dZE9B$p

51Testing软件测试网q7q3ru)[E1H

  2.       简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。

b0\RIWGV M051Testing软件测试网Y;ym*~#_4|'AEzT8M

  3.       许多死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。

_9AqHGf051Testing软件测试网!BDu;iUa3Y^6f#`c

  4.       进行系统压力、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。

8T7kHJ/MG,r051Testing软件测试网W Je.\y

  5.       进行系统可靠性测试时,需要模拟系统长时间运行,以验证系统能否稳定运行,这也是手工测试无法模拟的。

3dX*t$}#g0{051Testing软件测试网8ji{yl4X

  6.       如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到。51Testing软件测试网%[ MX4Hx2Kb3G2m;@

m_5l3h6^F il0  于是,就诞生了软件自动化测试这个领域。软件自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。其主要好处有:

Q Y4_ m'O8M!l051Testing软件测试网 j1Cx h+Mz`

  1.       缩短软件开发测试周期,可以让产品更快投放市场。51Testing软件测试网she+r ep

8Qx c2{9p)} pi#s$K0  2.       测试效率高,充分利用硬件资源。51Testing软件测试网^8g[[|1w

51Testing软件测试网V1L5po X

  3.       节省人力资源,降低测试成本。51Testing软件测试网#a+G| yz]0Kq

'Ftc2V"c9Y0  4.       增强测试的稳定性和可靠性。51Testing软件测试网X E!\ {&d;\ h

m_0Y(eP!Y^0  5.       提高软件测试的准确度和精确度,增加软件信任度。51Testing软件测试网-C G!@dNy*Ac

51Testing软件测试网NR!kc5VV;?3N _ W

  6.       软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。51Testing软件测试网UN6jc V'pBs

k6\,_GlW;w0  7.       手工不能做的事情,自动化测试能做,如压力、性能测试。

b| yix's*K/uj051Testing软件测试网z2v:Kfv7|J k6G2l `~%l

  如上所述,软件自动化测试有很多优点,可以带来非常明显的收益,但是,目前情况下,软件自动化测试还不能解决所有的测试问题,也有以下限制:51Testing软件测试网$s$Z0xh qnk[Wu1W$L

51Testing软件测试网RL]*L/vjo

  1.       不能取代手工测试

oPOp8P9E'P9r0

`$O,dU'suKQ0  2.       手工测试比自动测试发现的缺陷更多51Testing软件测试网&|tk `.n8G#_

u Y1j(Y6de-|!j8J;Xq0  3.       对测试质量的依赖性极大

cPF[&?r9Z0

4} B,K#D.[(c0  4.       测试自动化不能提高有效性51Testing软件测试网v$n:cx-U t#M:\-u

uqu1JLwk0  5.       测试自动化可能会制约软件开发。

W9};i!mm7a(xa%}.]051Testing软件测试网3Ex3wq&?/~i

  6.       工具本身并无想象力,不能主动发现缺陷51Testing软件测试网j#Ri&d)spEl

51Testing软件测试网*m a+qw X'D%ru3b h

  另外,人工测试比测试工具更优越的另一个方面是可以处理意外事件。虽然工具也能处理部分异常事件,但是对真正的突发事件和不能由软件解决的问题就无能为力。

$D+`5G5t|,CNb/] r }0

F0}DwIO0  因此,在引入自动化测试前,我们需要建立正确的自动化测试目标。51Testing软件测试网g8M#x9JO!e5S

'PKH#c1@0  1.       一种测试工具不完全适用于所有测试51Testing软件测试网&fS L}'\5Tlo6rj

1^P'i#NHOk6M0_0  2.       自动测试不一定减轻工作量51Testing软件测试网/GS%G(h9K8SR"L

H | qYw4f0  3.       测试进度可能不一定缩短

2tn`8km yN,Z0

$KrmTZA ud"n0  4.       测试工具不一定易于使用

u9Z.f+En!Qr051Testing软件测试网A(L/p3E T

  5.       自动化测试的普遍应用存在局限51Testing软件测试网4BoH%h+\!m

f)LsM8n r0^ ~0  6.       测试覆盖率不会达到百分之百51Testing软件测试网Rq0B a/]D v$E

51Testing软件测试网 k |g6ca9D*NP

  所以,软件自动化测试能提高测试效率、覆盖率和可靠性等,同时,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充,我们要综合评估和运用两者的互补关系,手工和自动化测试结合进行测试,最大限度提高测试效率,减低资源利用率,从而提高软件质量。51Testing软件测试网$b1q*|e4z+C'r9g


TAG:

寻找遗弃的记忆 引用 删除 Jon   /   2009-11-06 09:40:29
Thank you,欢迎一起交流喔
前端测试工程师@淘宝 引用 删除 Eric_Lee   /   2009-11-05 15:19:53
不错,有一些我很赞同
前端测试工程师@淘宝 引用 删除 Eric_Lee   /   2009-11-05 15:18:58
5
 

评分:0

我来说两句

Open Toolbar