浅谈自动化软件测试
发表于:2014-08-11来源:领测软件测试网原创作者:顾翔点击数:
标签:
自动化软件测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步一步地执行测试,得到实
关键字:
自动化,软件
测试
自动化
软件测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了
测试用例并通过评审之后,由
测试人员根据
测试用例中描述的过程一步一步地执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了
自动化测试的概念。所谓
自动化测试,就是使用自动化
测试工具来对软件进行测试,自动化
测试工具可以自己
开发,也可选用现成的工具。常用的自动化测试工具有:QTP,WinRunner,
Rational Robot,AdventNet Qengine,
SilkTest,QA Run,Test Partner,Holodeck,Telelogic TAU,AutoRunner,Phoenix Framework等等。这些工具的功能不太一样,可根据需要选用不同的工具,详见百度百科[1]。
目前,软件测试自动化的研究领域主要集中在软件测试流程的自动化管理以及动态测试的自动化(如
单元测试、
功能测试以及
性能测试方面)。在这两个领域,与手工测试相比,测试自动化有以下的优势:
A)自动化测试可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;
B)自动化测试更便于测试资产的数字化管理,使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和
回归测试中尤其重要;
C)测试流程自动化管理可以使机构的测试活动更加过程化,这很符合CMMI过程改进的思想。
D)投资回报率高,根据OppenheimerFunds的调查,在2001年前后的3年中,全球范围内由于采用了测试自动化手段所实现的投资回报率高达1500%。
注:本文所论述的自动化测试主要指动态测试的自动化,不考虑软件测试流程的自动化管理。
1,自动化软件测试工具本身也是软件,也要重视工具本身的质量。
自动化测试工具也是通过编写代码来实现的,所以也肯定存在
缺陷或不符合测试
需求的地方。我们在工作中经常会发生如下情形:当自动化测试工具显示出某个测试用例的测试结果没有通过,然后开发人员对相应部分的开发代码进行排查,同时测试人员配合开发人员也对测试工具相应的测试代码进行排查,最后发现没通过的原因是在测试代码上而并非在开发代码上,即测试代码本身出现了错误。为了提高测试代码的质量,我们经常采用以下二种方法:
1)在书写测试代码前,先对相应的测试用例进行严格的评审工作;
2)当测试代码书写完毕,对测试代码进行严格的以走读的方式进行检查。由于测试代码相对于开发代码比较简单,所以走读检查是比较容易实施的。
虽然对测试用例评审与对测试代码走读都是很费时间和精力的,但这是控制测试代码质量的最好的办法。对测试用例的评审,测试代码的走读最好由专门的负责人员安排专门的场所(比如:会议室)进行,如有可能,最好请相关的人员,如:测试人员,开发人员,需求人员,市场销售人员也在场,以便更有效地达到评审或走读的效率。
2,自动化测试工具要随着用户的需求变化而变化。
在百度百科中提出,“自动化软件测试的前提条件之一是软件需求变动不频繁”[1]。但是现实情况是用户的需求经常在变化。随着敏捷开发方法的提出,“拥抱变化”是敏捷开发所提倡的一个理念。所以我们在使用自动化工具进行测试的时候,需要注意的是:当用户的需求发生变更,开发要及时调整产品代码,与此同时,测试也应该及时对测试代码进行调整。
3,不是所有的功能都可以作自动化测试的。
使用自动化测试工具的同行都会感受到自动化测试工具给我们工作带来的便利,但是并不是所有的功能都可以通过自动化测试方式来实现的,比如UI测试,又比如James Whittaker在他《探索式软件测试》一书中提到的超模测试。由于这些类型的测试没有统一的标准,具有一定的主观性。所以这种类型的测试是不适合用自动化方式来进行测试的。在测试界一直以来有句非常经典的话:“自动化测试永远代替不了手工测试”。
4,探索式测试也可由自动化测试来实现。
“探索式测试”是测试专家Cem Kaner博士在1983年提出,并随着近年来敏捷开发的出现,探索式测试的理论由于符合快速提交的理念,也被重新提出。但是许多人可能存在一种误解,认为探索式测试只能通过手工测试的方法来实现,而不能采用自动化测试。然而就像我在“浅谈探索式测试中用到的一些方法”一文中提到的“强迫症测试法”,由于这种方法具有典型的机械重复性,所以对这种方法我们最好采用自动化工具来实现,这样可以节省很多精力,并且可以带来很好的效果。
原文转自:http://www.ltesting.net/ceshi/ceshijishu/zdcs/2014/0808/207435.html