软件自动化测试框架的发展
上一篇 /
下一篇 2007-10-05 20:58:31
/ 个人分类:自动化测试
a ra*A
Q0}@%_2z]0基于界面的软件自动化测试框架和工具的发展大致经历了三个阶段(有人也据此将测试工具分为三代):
6~!@[)T$D9|0fn(w+M W9Y6[01)简单的录制/回放:由工具录制并记录操作的过程和数据形成脚本,通过回放来重复人工操作的过程。在这种模式下数据和脚本混在一起,几乎一个测试用例对应一个脚本,维护成本很高。而且即使界面的简单变化也需要重新录制,脚本可重复使用的效率低。
(N2ES1]]hY+M+x,CG051Testing软件测试网N!FhxsBK2)数据驱动(data driven)的自动化测试:从数据文件读取输入数据,通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例。在这种模式下数据和脚本分离,脚本的利用率、可维护性大大提高,但受界面变化的影响仍然很大。51Testing软件测试网^C"Vx&V mN
51Testing软件测试网| @E6zC-R,m8i3)关键字驱动(keyword driven)的自动化测试:关键字驱动测试是数据驱动测试的一种改进类型,它将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑。主要关键字包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可将其表现为 Item.Operation(Value)。关键字驱动的主要思想是:脚本与数据分离、界面元素名与测试内部对象名分离、测试描述与具体实现细节分离。
\D%e Jb0pGK0
7enM[xP
Ab0相应地,软件测试自动化脚本的类型,从低到高的发展层次是:51Testing软件测试网%a*T(vr,w,o7_;Xu\
51Testing软件测试网Fk8Q8Eod"K1)线性脚本:通过录制直接产生的线性执行的脚本。
:m5FU!X{
J a&Z3m051Testing软件测试网7z-PN4X&uM2)结构化的脚本:具有顺序、循环、分支等结构的脚本。51Testing软件测试网cHqNf7D)H
U
\aFQK E03)共享的脚本:可以被多个测试用例使用,被其它脚本调用的脚本。51Testing软件测试网)Ap&~#eW~D:XK4H
+_"mop#hDN7Na@04)数据驱动的脚本:数据和流程控制分离的脚本,通过读入数据文件来驱动流程进行的脚本。51Testing软件测试网
Ku[&Im
6[0c0cq.O e05)关键字驱动的脚本:脚本、数据、业务分离,数据和关键字在不同的数据表中,通过关键字来驱动测试业务逻辑。关键字驱动脚本的特点是它看起来更像描述一个测试事例做什么, 而不是如何做。51Testing软件测试网y,{ec&}"n
51Testing软件测试网mE6I+q0[5iv目前,大多数测试工具处于数据驱动到关键字驱动之间的阶段,有些工具厂商已经提出了声称支持关键字驱动的版本。51Testing软件测试网7G ~`}1?o
|eN~
.q}T uH!d%B1\JGb0从上面可以看到,自动化测试框架和脚本的发展是和软件工程思想的发展一脉相承的。软件开发的模式从面向机器、到面向过程、再到面向对象、面向服务,是一个从底层到高层、从具体到抽象、复用的粒度从细到粗的发展过程。而软件开发中的模块化、层次化、松耦合等思想对自动化测试框架的设计都具有借鉴意义。51Testing软件测试网Ac/}d{p~
"s A@v/t`Z0
收藏
举报
TAG:
自动化测试
自动化测试框架