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

用Visual Basic 6.0实现自动化测试

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

一 现有自动化测试工具的不足

&W$T0\8l z,?)s+[$_X0  当前,一个摆在软件测试自动化面前的一个很明显的事实是目前可用的工具并不能做一切我们想要它们做的事情;指望任何一种工具能够完全支持众多不同应用的测试自动化是不现实的。由于很难找到一个能完全满足测试自动化需要的测试工具,而且测试自动化工具都十分昂贵,所以常用的做法是使用一种主要的自动化测试工具,然后用传统的编程语言如Java, C++ 和 Visual Basic编写自动化测试脚本以弥补该工具的不足之处。软件测试网&c@.n'ZM1n+@0I&t,O

软件测试网B?Z+|l3x-K

二 Visual Basic 应用于自动化测试的优点和局限性

Rx{Mxl!W0 软件测试网"Wz2HNv+YjQ

  利用Visual Basic之所以能实现一些比测试自动化工具更好的功能的原因在于它毕竟是针对实际的项目而编写测试脚本,而且,事实上Visual Basic确实存在比其他编程语言更明显的优点可应用于测试自动化项目。
N u vUmF~*o%T0软件测试网e+] Q4V8R:@

软件测试网T'x*lp3n N G:Mm

  众所周知,Visual Basic 不是一种测试工具,但它是一种非常流行的软件开发语言;使用Visual Basic最大的好处是它是一种非常流行的语言,它简单、易学易用和有非常广泛的懂得Basic语言的用户群基础,即使对不熟识Visual Basic 的测试工程师,要熟悉它也可以轻易找到大量有关的出版物和资料。
|n OZ4M0

'T?`XZ(~0 软件测试网]#zzI;p z8Y

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

qeez8G8IQE1P0

D`P0R+C!Ft&X5VV0  由于Visual Basic不是一种专业的测试工具,因而有其局限型,首先它不包含目前已经成熟的自动化测试工具所具有的大部分的功能,例如,Visual Basic本身不提供缺陷报告、测试设计和文档管理等功能;它还缺乏录制功能和任何自动化测试设置,要在Visual Basic 测试代码中包含这些功能,需要手工编写这部份功能代码,而且目前大部分有关Visual Basic 的出版物和资料都是针对开发者而不是测试者。虽然如此,依然有一些不需要很多的投入而使Visual Basic应用于自动化测试项目的基本方法。软件测试网(`p+| q%uTX9@_

软件测试网2G%|%\ _!`1P^'`

三 Visual Basic中支持测试自动化的工具集软件测试网vY!a\3t

软件测试网C0uxUq w+_F'Ey,G

  Visual Basic 6.0 包含一套不需任何编码就能支持测试的工具集,包括丰富的向导,可视化数据工具和对象浏览器等。
9Opbnak+_o M0软件测试网;^,|zgUOn

bD#y(r!P2hG01 向导和模板
G;p%xkoq,eE0

8^.F;s VULI0 软件测试网9a3Y+w0iX E

  在Visual Basic 中有众多的向导可以使用。其中一个对测试人员非常有用的向导是数据窗体向导,它可以创建一个能连接Access或ODBC数据库的数据窗口,该数据窗口可以设置成单独地查看单个记录或者用表格形式批量浏览数据记录,因而可以实现一个能快速定制而又易于使用的用来检查数据库内容的测试工具。软件测试网xI:u_.s7]d
软件测试网+y'A!ytF;D8HemhM

&wh;]NiVz0  窗体模板不但可以快速创建一个标准的窗口,而且能同时伴随着这些窗口产生源代码,这些自动产生的代码可以部分或全部应用到为测试而定制的窗口中,这对提高测试效率是非常有效的。软件测试网3S_)`fR|+P#O

V#Hj+y+G{%BV1c Ve0

L7UX&A+]:~0  此外,一些其他的向导如数据对象向导,ActiveX 控件窗口向导都可以实现花费最少的编码工作量去创建和配置一些有用的测试对象。软件测试网f:PS)Yw J&ol5^

I8Sa3LGU d9Ooyy0

2vd+a+OL}Y!f El02 可视化数据管理器
;t&h)IAePU'N`x0软件测试网0WsO&BIW _

j1ZA-H?8@0  可视化数据管理器可以快速地连接到ODBC或OLEDB数据源,去查看数据库结构,数据表,视图和其他基本的对象。通过它去检查后台数据库实现数据库应用程序测试。也就是说如果被测应用程序包含一个在SQL Server,Sybase ,Oracle和 Access的数据库,则可以通过可视化数据管理器去检查所有的这些数据库而不需要分别登录DBMS界面。通过Visual Basic作为一个通用的前台数据库管理器去管理一个用ODBC或OLEDB存取的后台数据库,可以节省测试工程师的测试时间和可能花在熟悉这些数据库产品而花的培训时间。软件测试网$[ He e3v+`
软件测试网x%u(h#ZY[+y

4zi `5[l9sO4v0  可视化数据管理器通过数据库输入和测试SQL语句支持白盒测试。利用它可以修改后台数据,甚至创建新数据对象如数据表,存储过程和数据视图。一些被用来测试数据的SQL语句(通常用来检索重复的数据行和暴露有关完整性的缺陷)甚至必要时可以在这里创建和执行。
?a*u*Na j x0

&k K8\:Wl*E6j? m#G0 软件测试网2T:mZ[ nl

3 Object Browser对象浏览器软件测试网 dFO+]G ?"TSK7k7A Q

f8oZ,f#j0

!P%k9L9~ [\(A0  对象浏览器是另一个非常有用的Visual Basic工具,通过它去检查对象输出的属性和方法以及各种必要的参数;测试人员可以利用这些信息创建这些对象的验证性和功能性的测试,特别是对面向对象测试,非常有用而且非常有效的。软件测试网5i6An/l)jH
软件测试网XFp"kS"ytbb \d

软件测试网7D'Z^(qPR0J

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

软件测试网'n R U}2q!r ET

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

KJq w(G N E0 软件测试网,O$Q@3@ y)M q

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

\2f-k*~)H!HM3l0

x4pGm2m&Z.V)n01 利用文本文件记录测试信息

'G3l1V1N^5E0

+_M"hx:@rro0例1软件测试网`oV8WS]a1Q

软件测试网 I&G0^2b8lb&?-r8V

  Open "testlog.txt" For Input As #1 ‘打开记录文件软件测试网oS o"q7I?6h3{z

软件测试网4hB7~NZ~$e k

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

}%a `+ta#\L0 软件测试网qQi.pv^

  Print #1,FileLen("c:\windows\calc.exe") '记录被测试程序的长度软件测试网rv O;uN6w(wJ7\? C

软件测试网&P I va2H;AS

  Print #1,CurDir '记录当前目录路径

K-j D*YtN~0 软件测试网 o^F,PD)C!P

  Print #1,Environ("Windir") '记录当前Windows 目录路径软件测试网-Mc7D KzBIg:t

a-{Gv V;Ix0H0  Print #1,Now '记录测试开始日期和时间软件测试网 T7n9y+W"Ky

`L M9]&_0  ……. ‘记录测试过程信息软件测试网Tf5g Y]

软件测试网&M1U:rPe4F,RFQ!Tr.I

  Close #1 ‘关闭记录文件

KhH}:{`0 软件测试网4ez x1[XAv;?du2Q

  在测试过程中经常要做的一项工作是为了查找错误信息而检查应用程序的登录文件,这些登录文件通常是文本文件,而对任何编程语言来说利用本身基本的文件操作函数都很容易取打开和读取这些文件。而另一项工作是记录测试过程信息和测试结果,它实质上跟上面所说的是使用相同的函数功能:一个简单的记录方法是将测试结果写进一个文本文件。例1所示的代码就是实现了这些记录功能。软件测试网3D0is;TRCU

软件测试网 i6g#y:W.\U(@

2 GUI功能测试软件测试网TfY$Tp%Y0q

软件测试网k|x3~&R Mr

例2软件测试网2M-Fn d v)GO"j z
软件测试网"G/_{ES$a!St

:a)\1mNkEG0  Shell("c:\windows\calc.exe") '启动计算器
W|swh a\t0  For i = 1 To 100 '设置计算循环
X8x%ti^F+^1v.l&]0  SendKeys I & "{+}", True '发送击键动作到计算器软件测试网+r$K {v1pGv
  Next I '累加每一次I的值
/jX3~6AE?XNH.{0  SendKeys "=", True '计算总和

,s6^E^U"tm0 软件测试网 S n(UHz:s@2`

  在黑盒测试中,实现自动化测试要编写测试脚本去模拟用户日常的操作输入。使用Visual Basic的Shell函数和Sendkeys函数可以简单有效地实现一些GUI功能测试。软件测试网p4n*@ {cb'U
软件测试网O'NPiq"U

B4]+Mg!r0  例子2的所示代码打开了一个Windows计算器,然后发送击键动作模拟用户输入,计算一系列数值(1到100)的总和;启动程序调用Visual Basic的Shell函数,SendKeys指令被用来发送击键动作到应用程序去模拟用户输入和计算结果。软件测试网#tg9t/|&I x7z0v

Xe*b7p4Q EP0 软件测试网l:z6^~9\oX D#cb

软件测试网`'aR_M FX|r n

3 读取和设置注册表信息软件测试网)KByF,T-Eh2f

软件测试网0h7}?h4J m

例3软件测试网VEx8[&g#W9Z4_V

*W&ycQi*nB0

9d Qj]S0  Dim astrSettings() as string ‘定义变量
$x8j+z+d;s8B]D0  lstSettings.Clear ‘清除列表框内容
m#Qts.N7p@c0  astrSettings = GetAllSettings(testAppname, txtSection) ‘调用专用函数返回VB软件测试网HbC'VO
  ‘专用位置的注册表信息
5d&p'b E)wYT`B.L0  For iCount = 0 To UBound(astrSettings) ‘通过循环将注册表信息软件测试网$v.WIG/r @
  ‘显示在列表框中软件测试网[t3`*pe"FX
  lstSettings.AddItem astrSettings(iCount, 0) & ": " _软件测试网[ s,k Z_itr
  & astrSettings(iCount, 1)
k1tx.iCZq0  Next iCount软件测试网lA:C _Ks.`$q
软件测试网6`UoJ(K\['I c

软件测试网 vxE1A3vAP

  注:testAppname是被测试应用程序的名称软件测试网~xsY ?1R

gO:B1K%K0  测试人员很多时候都要检查注册表,注册表是一个存储应用程序安装设置、选项等重要信息的地方。Visual Basic 6.0 包含了一些可以从预留给Visual Basic 应用软件专用的注册表键值位置返回信息的新的功能函数。这些功能函数简单地设置和返回这些注册表键值,这对测试用Visual Basic 开发的应用程序尤其有用。
VtCL\_3F0软件测试网t!d9uw1}x Km"]

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

mSz)OFlCT0

(o%R"G-A` a+kS%`0五 小结

{4]@#v5P5V0

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

;[J?#n)~I+s0 软件测试网2h4g.zS:t&O h

参考书目软件测试网y;`*ppDtuU

9U-j amp0 软件测试网\ \(S$Kps&n

1 《软件测试自动化技术》美 Mark Fewster & Dorothy Graham 著,电子工业出版社 2000年1月
F9DCo9zt r03 《软件工程---实践者的研究方法》(美)Rgoer S.Press著,机械工业出版社,2000年9月软件测试网| FR!k}lb5`9EW
2 《Visual Bsaic 6 技术内幕》(美)Steven Holzner著,机械工业出版社,软件测试网;SVTVE


TAG:

 

评分:0

我来说两句

显示全部

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

日历

« 2011-02-28  
  12345
6789101112
13141516171819
20212223242526
2728     

数据统计

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

RSS订阅

Open Toolbar