软件自动化测试框架的发展

上一篇 / 下一篇  2007-10-05 20:58:31 / 个人分类:自动化测试

a ra*A Q0}@%_2z]0基于界面的软件自动化测试框架和工具的发展大致经历了三个阶段(有人也据此将测试工具分为三代):

6~!@ [)T$D9|0

fn(w+M W9Y6[01)简单的录制/回放:由工具录制并记录操作的过程和数据形成脚本,通过回放来重复人工操作的过程。在这种模式下数据和脚本混在一起,几乎一个测试用例对应一个脚本,维护成本很高。而且即使界面的简单变化也需要重新录制,脚本可重复使用的效率低。

(N2ES1]]hY+M+x,CG051Testing软件测试网N!F h x sBK

2)数据驱动(data driven)的自动化测试:从数据文件读取输入数据,通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例。在这种模式下数据和脚本分离,脚本的利用率、可维护性大大提高,但受界面变化的影响仍然很大。51Testing软件测试网^C"Vx&V mN

51Testing软件测试网|@ E6z C-R,m8i

3)关键字驱动(keyword driven)的自动化测试:关键字驱动测试是数据驱动测试的一种改进类型,它将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑。主要关键字包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可将其表现为 Item.Operation(Value)。关键字驱动的主要思想是:脚本与数据分离、界面元素名与测试内部对象名分离、测试描述与具体实现细节分离。
\D%e Jb0p GK0 
7enM[xP Ab0相应地,软件测试自动化脚本的类型,从低到高的发展层次是:51Testing软件测试网%a*T(vr,w,o7_;Xu\

51Testing软件测试网Fk8Q8Eod"K

1)线性脚本:通过录制直接产生的线性执行的脚本。

:m5F U!X{ J a&Z3m051Testing软件测试网7z-PN4X&u M

2)结构化的脚本:具有顺序、循环、分支等结构的脚本。51Testing软件测试网cHqNf7D)H U

\aF QK 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: 自动化测试 自动化测试框架

引用 删除 happy51testing   /   2010-04-16 22:38:45
5
 

评分:0

我来说两句

Open Toolbar