欢迎所有爱好软件测试的任人志士加入本空间!

用Visual Basic 6.0实现自动化测试

上一篇 / 下一篇  2007-05-11 17:13:26

一 现有自动化测试工具的不足软件测试技术第一门户$`Y$y0un%vw?s

  当前,一个摆在软件测试自动化面前的一个很明显的事实是目前可用的工具并不能做一切我们想要它们做的事情;指望任何一种工具能够完全支持众多不同应用的测试自动化是不现实的。由于很难找到一个能完全满足测试自动化需要的测试工具,而且测试自动化工具都十分昂贵,所以常用的做法是使用一种主要的自动化测试工具,然后用传统的编程语言如Java, C++ 和 Visual Basic编写自动化测试脚本以弥补该工具的不足之处。软件测试技术第一门户3tA4dm6?0I4KMB$tv7u+E

软件测试技术第一门户y]7U'v`/}Ct

二 Visual Basic 应用于自动化测试的优点和局限性软件测试技术第一门户V~@gY

p g*B"_#p_:QFN0  利用Visual Basic之所以能实现一些比测试自动化工具更好的功能的原因在于它毕竟是针对实际的项目而编写测试脚本,而且,事实上Visual Basic确实存在比其他编程语言更明显的优点可应用于测试自动化项目。
}g6S*a5g'H:N,f0软件测试技术第一门户ex lW Ny G

5gNI7sEI2Zd O0  众所周知,Visual Basic 不是一种测试工具,但它是一种非常流行的软件开发语言;使用Visual Basic最大的好处是它是一种非常流行的语言,它简单、易学易用和有非常广泛的懂得Basic语言的用户群基础,即使对不熟识Visual Basic 的测试工程师,要熟悉它也可以轻易找到大量有关的出版物和资料。软件测试技术第一门户T&YO2l6?O7M8}!ak
软件测试技术第一门户A;RE_w

"mh{&nn(B,B0  Visual Basic本身拥有一些能支持测试过程的特性,例如,它具有返回有关测试平台和被测应用程序的重要信息的功能。Visual Basic 的Shell函数和SendKeys函数可以启动一个应用程序和操作它的图形用户界面,用Visual Basic可以编写所需要的一些脚本程序,例如,装载一个测试应用程序。Visual Basic中集成的可视化数据管理器可以直接连接一个数据库并查看它的数据结构。此外,Visual Basic 还可以用来测试一些后台操作的应用程序,例如,可以编写一些脚本存取初始化文件(.ini文件)和Windows注册表。从Visual Basic 中访问Windows 的应用程序接口(API)对操纵受测应用程序和报告一些重要信息都是非常有效的,而且Visual Basic语言比当前其他的编程语言花更少的时间去掌握和有更高的编程效率,适合要求快速建立测试脚本的测试自动化工作需要。
MR}5X ^zZb Ev;w0

Y6R,`5o9`N}0

I/c{;{TH0  由于Visual Basic不是一种专业的测试工具,因而有其局限型,首先它不包含目前已经成熟的自动化测试工具所具有的大部分的功能,例如,Visual Basic本身不提供缺陷报告、测试设计和文档管理等功能;它还缺乏录制功能和任何自动化测试设置,要在Visual Basic 测试代码中包含这些功能,需要手工编写这部份功能代码,而且目前大部分有关Visual Basic 的出版物和资料都是针对开发者而不是测试者。虽然如此,依然有一些不需要很多的投入而使Visual Basic应用于自动化测试项目的基本方法。软件测试技术第一门户'E;P!_#M8H^h'dL

^Gt/W _)y)t+HaY5t0三 Visual Basic中支持测试自动化的工具集

)D%je Vd&vsB0

Gz0e6yW `0  Visual Basic 6.0 包含一套不需任何编码就能支持测试的工具集,包括丰富的向导,可视化数据工具和对象浏览器等。
l+xOt&Ip/]@Q0

;`M1| H b!a^.BzH@*r`0软件测试技术第一门户uOy i9_;i

1 向导和模板软件测试技术第一门户$MPIS&Ww
软件测试技术第一门户z\1Dm*lz5D

软件测试技术第一门户o"E9o-F G'r!o

  在Visual Basic 中有众多的向导可以使用。其中一个对测试人员非常有用的向导是数据窗体向导,它可以创建一个能连接Access或ODBC数据库的数据窗口,该数据窗口可以设置成单独地查看单个记录或者用表格形式批量浏览数据记录,因而可以实现一个能快速定制而又易于使用的用来检查数据库内容的测试工具。
t|1Br"~G0软件测试技术第一门户7l9X-LX1^

$?3Ts/W!lK?^0  窗体模板不但可以快速创建一个标准的窗口,而且能同时伴随着这些窗口产生源代码,这些自动产生的代码可以部分或全部应用到为测试而定制的窗口中,这对提高测试效率是非常有效的。软件测试技术第一门户H6^;Rpk

)o5Rp%s4M4s0软件测试技术第一门户#]h(U#Ock.bx&TN

  此外,一些其他的向导如数据对象向导,ActiveX 控件窗口向导都可以实现花费最少的编码工作量去创建和配置一些有用的测试对象。
_-W;[Hj2M)uWY0软件测试技术第一门户SRE&{P.t j

Sw}H lM^02 可视化数据管理器
MG+eD,E h2E ~5^)e0

N7R,rMK]'_0软件测试技术第一门户:|;N#CCTy J,l

  可视化数据管理器可以快速地连接到ODBC或OLEDB数据源,去查看数据库结构,数据表,视图和其他基本的对象。通过它去检查后台数据库实现数据库应用程序测试。也就是说如果被测应用程序包含一个在SQL Server,Sybase ,Oracle和 Access的数据库,则可以通过可视化数据管理器去检查所有的这些数据库而不需要分别登录DBMS界面。通过Visual Basic作为一个通用的前台数据库管理器去管理一个用ODBC或OLEDB存取的后台数据库,可以节省测试工程师的测试时间和可能花在熟悉这些数据库产品而花的培训时间。
L)|pvt l'x]OZ4qu]0软件测试技术第一门户8yl"t}-{*} V

Y-\v'SM0  可视化数据管理器通过数据库输入和测试SQL语句支持白盒测试。利用它可以修改后台数据,甚至创建新数据对象如数据表,存储过程和数据视图。一些被用来测试数据的SQL语句(通常用来检索重复的数据行和暴露有关完整性的缺陷)甚至必要时可以在这里创建和执行。软件测试技术第一门户*d{{:k|QFm!I
软件测试技术第一门户[Y KNSk#?

软件测试技术第一门户"e | zT3Vd,@r

3 Object Browser对象浏览器
!d)b)UQ H9F0

/lId o5jRY2u$zr0软件测试技术第一门户I'Dt:G F$w@;F4Et8u

  对象浏览器是另一个非常有用的Visual Basic工具,通过它去检查对象输出的属性和方法以及各种必要的参数;测试人员可以利用这些信息创建这些对象的验证性和功能性的测试,特别是对面向对象测试,非常有用而且非常有效的。
!b2E1s)`8i.Eo3MY0

7q&^/D2[`Z$Ps0

z)m3Su2kbW(f0  对象浏览器可以显示一个定制COM对象的信息库,这个库列出了该对象的属性,方法和事件,而这个对象可以用任何支持COM对象模型的语言来开发。在对象浏览器里设置一个对象相关信息的捕获和查看对一个缺乏测试培训的测试人员而言只需很短的时间,当然,要建立Visual Basic测试脚本去测试对象的属性,方法,事件需要做一些编写代码工作。

w*Q2x#PL0@J6g0软件测试技术第一门户ro|/P(yu

四 Visual Basic在自动化测试工作的应用举例

by8Hi Q1Q w:|Bt0

9D \.x5YdE9g4g0  下面列举了一些在实际测试工作中应用Visual Basic通过简单的编码实现测试自动化或相关工作的例子,如记录测试结果信息、简单的GUI测试等。

*i'Pz)T!|8p~}O0

7}"jKbz"I6A ?01 利用文本文件记录测试信息

iST|7^"Fd_2G0

5EcH1Cyd,s-v!D0例1

4rTJ;E mIJ B0软件测试技术第一门户`X0v$O!R j7H:z

  Open "testlog.txt" For Input As #1 ‘打开记录文件

~ J3J-cr L5w ^0软件测试技术第一门户@ j5yPA*P%l

  Print #1,FileDateTime(“c:\windows\calc.exe”) ‘记录被测试程序创建的日期和时间

9p"C.a.DA;Y$Qtppms0软件测试技术第一门户fj j,[`6]

  Print #1,FileLen("c:\windows\calc.exe") '记录被测试程序的长度

i f4ZPS-{4A/y$go G(M0

q*pBb%Hz0  Print #1,CurDir '记录当前目录路径

E&^&Nc[*{0软件测试技术第一门户3~]W"f8k G!?q

  Print #1,Environ("Windir") '记录当前Windows 目录路径

Z A6W4p Yp P!o0软件测试技术第一门户2xwO] VN6Um oE

  Print #1,Now '记录测试开始日期和时间软件测试技术第一门户#q'j2{M%VF6` Le:Y&a&m8^;z

%`3v'q*| `b3r0  ……. ‘记录测试过程信息软件测试技术第一门户r)ZQ|`]JL*v

软件测试技术第一门户q?O;Sf K!z| A

  Close #1 ‘关闭记录文件软件测试技术第一门户`+K8h:IG!@,@:P

E1{J-r'~e9S0  在测试过程中经常要做的一项工作是为了查找错误信息而检查应用程序的登录文件,这些登录文件通常是文本文件,而对任何编程语言来说利用本身基本的文件操作函数都很容易取打开和读取这些文件。而另一项工作是记录测试过程信息和测试结果,它实质上跟上面所说的是使用相同的函数功能:一个简单的记录方法是将测试结果写进一个文本文件。例1所示的代码就是实现了这些记录功能。软件测试技术第一门户T)Bn:Z k!Uqi

软件测试技术第一门户 NK ^ `!G7X

2 GUI功能测试

L5{1qNu!s(\0

)_%}#W*j9S s||0^3nP0例2软件测试技术第一门户5Y)]!}W+} F(v
软件测试技术第一门户6|7Ks$EIQ

ei@5}%];P0  Shell("c:\windows\calc.exe") '启动计算器软件测试技术第一门户rW`N'k^)_b
  For i = 1 To 100 '设置计算循环软件测试技术第一门户+d Pr c'JT
  SendKeys I & "{+}", True '发送击键动作到计算器
|*oU5i%vM0  Next I '累加每一次I的值
~!kQ6e$M w2r L0  SendKeys "=", True '计算总和软件测试技术第一门户 g }S4GDu8W6@u

软件测试技术第一门户%V5il_A7Cdu

  在黑盒测试中,实现自动化测试要编写测试脚本去模拟用户日常的操作输入。使用Visual Basic的Shell函数和Sendkeys函数可以简单有效地实现一些GUI功能测试。
V"\6Z n)^0软件测试技术第一门户 C v`|r;@ u@P

ks ?D e0  例子2的所示代码打开了一个Windows计算器,然后发送击键动作模拟用户输入,计算一系列数值(1到100)的总和;启动程序调用Visual Basic的Shell函数,SendKeys指令被用来发送击键动作到应用程序去模拟用户输入和计算结果。

&U Jcuh3@)w6M0

?"A9pk%qc0 软件测试技术第一门户V{:BO$G5t)F%T+l-URs

2HC-S0qak6Y,K x03 读取和设置注册表信息

(q)AEU)k0软件测试技术第一门户 {q P&}R%I.u*n+u

例3
,N^)Y gmi(v"H%W\0

w'lfM8`'`Q0软件测试技术第一门户JO3NJ"y4L3Y} @4l0dV

  Dim astrSettings() as string ‘定义变量
\0Hn)Z(mH0  lstSettings.Clear ‘清除列表框内容
H,W7U0~X&?N\/C i'{0  astrSettings = GetAllSettings(testAppname, txtSection) ‘调用专用函数返回VB软件测试技术第一门户 ntm~vlN
  ‘专用位置的注册表信息软件测试技术第一门户,|6R0Er,{b
  For iCount = 0 To UBound(astrSettings) ‘通过循环将注册表信息软件测试技术第一门户 m ] s0XT2w2T%_(p6l
  ‘显示在列表框中软件测试技术第一门户"nN;BX9l;r bw
  lstSettings.AddItem astrSettings(iCount, 0) & ": " _软件测试技术第一门户L(C~s_mx
  & astrSettings(iCount, 1)
N w)fKV.K0  Next iCount
L%s*Mu qa2n Eb+X0

1A7q I$JoGg bQT0

]Cb!}bI6G8S6{0  注:testAppname是被测试应用程序的名称

`P2N?G%H t0软件测试技术第一门户W1x{&`Z&UQ|+r(\d*h

  测试人员很多时候都要检查注册表,注册表是一个存储应用程序安装设置、选项等重要信息的地方。Visual Basic 6.0 包含了一些可以从预留给Visual Basic 应用软件专用的注册表键值位置返回信息的新的功能函数。这些功能函数简单地设置和返回这些注册表键值,这对测试用Visual Basic 开发的应用程序尤其有用。软件测试技术第一门户9i-Z)h?$gnr
软件测试技术第一门户 _\+T[:|-N9j

软件测试技术第一门户8\_\5_5iE]FxG8G

  例子3所示代码返回注册表中位置"HKEY_CURRENT_USER\VB and VBA Program Settings\"中的所有注册表信息并把这些信息显示在一个名为lstSettings的列表框中。如要存取其他位置的注册表信息,需要调用Windows API函数。

L M [t6N0软件测试技术第一门户8P/r4[O'B%Wgg

五 小结

(N+a\ l!v&U0

j:Em8r?G0  由此可见,为弥补当前自动化测试工具的不足,选择用一些编程开发语言编写一些测试脚本或测试辅助工具在实际工作中证明是切实可行的,而Visual Basic 6.0由于其强大的功能,易学易用,有广泛用户群基础等优点而成为应用于测试自动化比较有应用前景的工具之一。

;D CMF]N0D"w0软件测试技术第一门户!~1qy2ZV s~

参考书目软件测试技术第一门户X|2e8N!~`|z{v

vUy{I0I0软件测试技术第一门户/RxT~`3F)^m)vV

1 《软件测试自动化技术》美 Mark Fewster & Dorothy Graham 著,电子工业出版社 2000年1月软件测试技术第一门户&I%B S;@.j;a~2Wo:L(D
3 《软件工程---实践者的研究方法》(美)Rgoer S.Press著,机械工业出版社,2000年9月
QJUY1xQ5A02 《Visual Bsaic 6 技术内幕》(美)Steven Holzner著,机械工业出版社,

b\'{YwA~dv0

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-29  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 7676
  • 日志数: 113
  • 图片数: 2
  • 建立时间: 2007-04-28
  • 更新时间: 2008-03-04

RSS订阅

Open Toolbar