软件测试思考系列[4]:测试自动化

上一篇 / 下一篇  2012-04-25 08:55:08 / 个人分类:自动化测试

测试自动化是把以人为驱动的测试行为转化为机器执行的一种过程。通常,测试用例按照执行对象分为手动测试和自动化测试。手动测试往往面临人力消耗巨大,测试效率很低的问题。而自动化测试便是为了解决这些问题提出的概念。51Testing软件测试网` k,]G1~7[ z&^Wz}

  自动化测试相对手动测试来说有很多优点:

0s-Z.}_ ^R(v0

/Q"g We%t k1x W }0  1、充分利用时间资源。

"M*q e;H d051Testing软件测试网#y9r4L.I&P

  一般无论什么公司,员工的上班时间只有8个小时,那么一天中除去这8个小时的其他时间,比如夜晚的时间,如果不利用起来,那简直是巨大的浪费,而机器是不需要休息的,即使半夜也可以工作,所以测试自动化可以充分的利用时间资源。51Testing软件测试网3i?M'U8t_r Y

ug&OOq3@0  2、节省人力资源51Testing软件测试网9rdk3A7|OPB,E8Q

Pa7]T*w3SM0  即使在以人力资源占优势的中国来说,人力资源的成本也是处于不断的上升过程之中,相应的带来的也是手动测试成本的不断上升。51Testing软件测试网OAjqbm6b-n#d

:U;|rnci*js0  3、从某种角度,软件本身就是为了让过程自动化,所以软件从业人员在自动化方面有知识优势。51Testing软件测试网MM8SWLrA

51Testing软件测试网a@;O _/WU!~

  4、手动测试一般很枯燥,难逃测试效果降低厄运,而自动化测试更加可以严格的执行测试用例脚本。

8E$oY0x3[Dk0

2cs4Y?,Ps0  人的价值相对于机器来说,优势在于创造性,所以更应该将精力花在能够充分花费这一优势的地方,比如探索新测试(ET),而将那些机械的测试用例脚本交给自动化测试。人的精力可以花在怎么去管理机器和创建维护脚本方面。

bg/s&M]Jy051Testing软件测试网fr%`K9lAg2G

  5、持续交付的需要

4pl3G;tR(jl0w!fi0

2M1]{(f&r[*|0  在做简单和机械的事情上,计算机的效率和人的效率不是一个数量级的,所以如果要满足持续交付的需要,缩短反馈的时间,需要让机器来帮助提高效率。51Testing软件测试网x9njV;U |

@MG0y9M^"i/f&o0  不过,虽然自动化测试有这么多优点,但不是所有情况都适合做做自动化测试,如果不考虑好一下一些因素,轻易的自动化可能会导致陷入维护自动化脚本的泥潭,导致成本效用比很低:51Testing软件测试网JcY m+h/[V-}2F

51Testing软件测试网JZfp-UZ xTf'DH

   1)软件需求变动不频繁。测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关 的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成 本,那么自动化测试便是失败的。项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工 测试。举个例子,一般来说,UI是产品中经常变化的部分,因为用户对UI的需求变化太频繁了,而不像一些核心的业务流程一般会比较稳定。所以在UI上投入 太多的精力做自动化测试需要谨慎考虑。51Testing软件测试网S5u?x#RB2u

51Testing软件测试网^Zw:C%C"x9x

  2)项目周期足够长。自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要 相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么 自动化测试便成为笑谈。

p [&S2Bd{[&jD0

\i _$TwHvN0  3)自动化测试脚本可重复使用。如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低, 致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。另外,在手工测试无法完成,需 要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。51Testing软件测试网9J!M t ?R0_B9_*i:cQ

51Testing软件测试网9t2Ur$y9M[

  有很多自动化测试用具,比如QTP, WinRunner什么的。这篇文章着重介绍一下Web自动化测试方面的Selenium51Testing软件测试网4g+C'yY8V"O(`+h,t

Ox Y:Z#a-R ?9iM0   Selenium也是一个用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla和Firefox等。这个工具的主要功能包括:测试与浏览器的 兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能--创建衰退测试检验软件功能和用户需求。 支持自动录制动作,和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。51Testing软件测试网h4of\0z/f:wj

U(q e&vN:sT0   具体的Selenium脚本的编写方面的知识就不详细介绍了,本文着重介绍一下使用Selenium进行Web自动化测试的框架,包括 Selenium IDE, Hudson任务运行脚本, 自动推送热部署至Alpha, Selenium Grid扩展控制等等。51Testing软件测试网TtF:S Rj9y_

51Testing软件测试网 [d_-C V1r

51Testing软件测试网a?-X \lz

相关链接:

N8fj z)r]0

+`:em3P}U0软件测试思考系列[0]:概述

Z/l(E"}w!{5q0

A[ V+} PN0软件测试思考系列[1]:往持续交付的方向努力51Testing软件测试网 o6tL:`!J,_\

51Testing软件测试网 l)|0`)a,Ym6UO

软件测试思考系列[2]:提交测试51Testing软件测试网 S7~gp*p-m[3B

51Testing软件测试网 f'fU$TB2?

软件测试思考系列[3]:回归测试

x] q7bo8iJi9e0

TAG:

 

评分:0

我来说两句

Open Toolbar