用Visual Basic 6.0實(shí)現(xiàn)自動(dòng)化測(cè)試
2024-07-21 02:23:33
供稿:網(wǎng)友
摘要:本文探討了visual basic 6.0在測(cè)試自動(dòng)化中應(yīng)用的可能性,并列舉了一些在實(shí)際工作中應(yīng)用的例子
一 現(xiàn)有自動(dòng)化測(cè)試工具的不足
當(dāng)前,一個(gè)擺在軟件測(cè)試自動(dòng)化面前的一個(gè)很明顯的事實(shí)是目前可用的工具并不能做一切我們想要它們做的事情;指望任何一種工具能夠完全支持眾多不同應(yīng)用的測(cè)試自動(dòng)化是不現(xiàn)實(shí)的。由于很難找到一個(gè)能完全滿足測(cè)試自動(dòng)化需要的測(cè)試工具,而且測(cè)試自動(dòng)化工具都十分昂貴,所以常用的做法是使用一種主要的自動(dòng)化測(cè)試工具,然后用傳統(tǒng)的編程語言如java, c++ 和 visual basic編寫自動(dòng)化測(cè)試腳本以彌補(bǔ)該工具的不足之處。
二 visual basic 應(yīng)用于自動(dòng)化測(cè)試的優(yōu)點(diǎn)和局限性
利用visual basic之所以能實(shí)現(xiàn)一些比測(cè)試自動(dòng)化工具更好的功能的原因在于它畢竟是針對(duì)實(shí)際的項(xiàng)目而編寫測(cè)試腳本,而且,事實(shí)上visual basic確實(shí)存在比其他編程語言更明顯的優(yōu)點(diǎn)可應(yīng)用于測(cè)試自動(dòng)化項(xiàng)目。
眾所周知,visual basic 不是一種測(cè)試工具,但它是一種非常流行的軟件開發(fā)語言;使用visual basic最大的好處是它是一種非常流行的語言,它簡(jiǎn)單、易學(xué)易用和有非常廣泛的懂得basic語言的用戶群基礎(chǔ),即使對(duì)不熟識(shí)visual basic 的測(cè)試工程師,要熟悉它也可以輕易找到大量有關(guān)的出版物和資料。
visual basic本身擁有一些能支持測(cè)試過程的特性,例如,它具有返回有關(guān)測(cè)試平臺(tái)和被測(cè)應(yīng)用程序的重要信息的功能。visual basic 的shell函數(shù)和sendkeys函數(shù)可以啟動(dòng)一個(gè)應(yīng)用程序和操作它的圖形用戶界面,用visual basic可以編寫所需要的一些腳本程序,例如,裝載一個(gè)測(cè)試應(yīng)用程序。visual basic中集成的可視化數(shù)據(jù)管理器可以直接連接一個(gè)數(shù)據(jù)庫并查看它的數(shù)據(jù)結(jié)構(gòu)。此外,visual basic 還可以用來測(cè)試一些后臺(tái)操作的應(yīng)用程序,例如,可以編寫一些腳本存取初始化文件(.ini文件)和windows注冊(cè)表。從visual basic 中訪問windows 的應(yīng)用程序接口(api)對(duì)操縱受測(cè)應(yīng)用程序和報(bào)告一些重要信息都是非常有效的,而且visual basic語言比當(dāng)前其他的編程語言花更少的時(shí)間去掌握和有更高的編程效率,適合要求快速建立測(cè)試腳本的測(cè)試自動(dòng)化工作需要。
由于visual basic不是一種專業(yè)的測(cè)試工具,因而有其局限型,首先它不包含目前已經(jīng)成熟的自動(dòng)化測(cè)試工具所具有的大部分的功能,例如,visual basic本身不提供缺陷報(bào)告、測(cè)試設(shè)計(jì)和文檔管理等功能;它還缺乏錄制功能和任何自動(dòng)化測(cè)試設(shè)置,要在visual basic 測(cè)試代碼中包含這些功能,需要手工編寫這部份功能代碼,而且目前大部分有關(guān)visual basic 的出版物和資料都是針對(duì)開發(fā)者而不是測(cè)試者。雖然如此,依然有一些不需要很多的投入而使visual basic應(yīng)用于自動(dòng)化測(cè)試項(xiàng)目的基本方法。
三 visual basic中支持測(cè)試自動(dòng)化的工具集
visual basic 6.0 包含一套不需任何編碼就能支持測(cè)試的工具集,包括豐富的向?qū)В梢暬瘮?shù)據(jù)工具和對(duì)象瀏覽器等。
1向?qū)Ш湍0?br>在visual basic 中有眾多的向?qū)Э梢允褂谩F渲幸粋€(gè)對(duì)測(cè)試人員非常有用的向?qū)菙?shù)據(jù)窗體向?qū)В梢詣?chuàng)建一個(gè)能連接access或odbc數(shù)據(jù)庫的數(shù)據(jù)窗口,該數(shù)據(jù)窗口可以設(shè)置成單獨(dú)地查看單個(gè)記錄或者用表格形式批量瀏覽數(shù)據(jù)記錄,因而可以實(shí)現(xiàn)一個(gè)能快速定制而又易于使用的用來檢查數(shù)據(jù)庫內(nèi)容的測(cè)試工具。
窗體模板不但可以快速創(chuàng)建一個(gè)標(biāo)準(zhǔn)的窗口,而且能同時(shí)伴隨著這些窗口產(chǎn)生源代碼,這些自動(dòng)產(chǎn)生的代碼可以部分或全部應(yīng)用到為測(cè)試而定制的窗口中,這對(duì)提高測(cè)試效率是非常有效的。
此外,一些其他的向?qū)鐢?shù)據(jù)對(duì)象向?qū)В琣ctivex 控件窗口向?qū)Ф伎梢詫?shí)現(xiàn)花費(fèi)最少的編碼工作量去創(chuàng)建和配置一些有用的測(cè)試對(duì)象。
2可視化數(shù)據(jù)管理器
可視化數(shù)據(jù)管理器可以快速地連接到odbc或oledb數(shù)據(jù)源,去查看數(shù)據(jù)庫結(jié)構(gòu),數(shù)據(jù)表,視圖和其他基本的對(duì)象。通過它去檢查后臺(tái)數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用程序測(cè)試。也就是說如果被測(cè)應(yīng)用程序包含一個(gè)在sql server,sybase ,oracle和 access的數(shù)據(jù)庫,則可以通過可視化數(shù)據(jù)管理器去檢查所有的這些數(shù)據(jù)庫而不需要分別登錄dbms界面。通過visual basic作為一個(gè)通用的前臺(tái)數(shù)據(jù)庫管理器去管理一個(gè)用odbc或oledb存取的后臺(tái)數(shù)據(jù)庫,可以節(jié)省測(cè)試工程師的測(cè)試時(shí)間和可能花在熟悉這些數(shù)據(jù)庫產(chǎn)品而花的培訓(xùn)時(shí)間。
可視化數(shù)據(jù)管理器通過數(shù)據(jù)庫輸入和測(cè)試sql語句支持白盒測(cè)試。利用它可以修改后臺(tái)數(shù)據(jù),甚至創(chuàng)建新數(shù)據(jù)對(duì)象如數(shù)據(jù)表,存儲(chǔ)過程和數(shù)據(jù)視圖。一些被用來測(cè)試數(shù)據(jù)的sql語句(通常用來檢索重復(fù)的數(shù)據(jù)行和暴露有關(guān)完整性的缺陷)甚至必要時(shí)可以在這里創(chuàng)建和執(zhí)行。
3 object browser對(duì)象瀏覽器
對(duì)象瀏覽器是另一個(gè)非常有用的visual basic工具,通過它去檢查對(duì)象輸出的屬性和方法以及各種必要的參數(shù);測(cè)試人員可以利用這些信息創(chuàng)建這些對(duì)象的驗(yàn)證性和功能性的測(cè)試,特別是對(duì)面向?qū)ο鬁y(cè)試,非常有用而且非常有效的。
對(duì)象瀏覽器可以顯示一個(gè)定制com對(duì)象的信息庫,這個(gè)庫列出了該對(duì)象的屬性,方法和事件,而這個(gè)對(duì)象可以用任何支持com對(duì)象模型的語言來開發(fā)。在對(duì)象瀏覽器里設(shè)置一個(gè)對(duì)象相關(guān)信息的捕獲和查看對(duì)一個(gè)缺乏測(cè)試培訓(xùn)的測(cè)試人員而言只需很短的時(shí)間,當(dāng)然,要建立visual basic測(cè)試腳本去測(cè)試對(duì)象的屬性,方法,事件需要做一些編寫代碼工作。
四 visual basic在自動(dòng)化測(cè)試工作的應(yīng)用舉例
下面列舉了一些在實(shí)際測(cè)試工作中應(yīng)用visual basic通過簡(jiǎn)單的編碼實(shí)現(xiàn)測(cè)試自動(dòng)化或相關(guān)工作的例子,如記錄測(cè)試結(jié)果信息、簡(jiǎn)單的gui測(cè)試等。
1 利用文本文件記錄測(cè)試信息
例1
open "testlog.txt" for input as #1 ‘打開記錄文件
print #1,filedatetime(“c:/windows/calc.exe”) ‘記錄被測(cè)試程序創(chuàng)建的日期和時(shí)間
print #1,filelen("c:/windows/calc.exe") '記錄被測(cè)試程序的長(zhǎng)度
print #1,curdir '記錄當(dāng)前目錄路徑
print #1,environ("windir") '記錄當(dāng)前windows 目錄路徑
print #1,now '記錄測(cè)試開始日期和時(shí)間
……. ‘記錄測(cè)試過程信息
close #1 ‘關(guān)閉記錄文件
在測(cè)試過程中經(jīng)常要做的一項(xiàng)工作是為了查找錯(cuò)誤信息而檢查應(yīng)用程序的登錄文件,這些登錄文件通常是文本文件,而對(duì)任何編程語言來說利用本身基本的文件操作函數(shù)都很容易取打開和讀取這些文件。而另一項(xiàng)工作是記錄測(cè)試過程信息和測(cè)試結(jié)果,它實(shí)質(zhì)上跟上面所說的是使用相同的函數(shù)功能:一個(gè)簡(jiǎn)單的記錄方法是將測(cè)試結(jié)果寫進(jìn)一個(gè)文本文件。例1所示的代碼就是實(shí)現(xiàn)了這些記錄功能。
2 gui功能測(cè)試
例2
shell("c:/windows/calc.exe") '啟動(dòng)計(jì)算器
for i = 1 to 100 '設(shè)置計(jì)算循環(huán)
sendkeys i & "{+}", true '發(fā)送擊鍵動(dòng)作到計(jì)算器
next i '累加每一次i的值
sendkeys "=", true '計(jì)算總和
在黑盒測(cè)試中,實(shí)現(xiàn)自動(dòng)化測(cè)試要編寫測(cè)試腳本去模擬用戶日常的操作輸入。使用visual basic的shell函數(shù)和sendkeys函數(shù)可以簡(jiǎn)單有效地實(shí)現(xiàn)一些gui功能測(cè)試。
例子2的所示代碼打開了一個(gè)windows計(jì)算器,然后發(fā)送擊鍵動(dòng)作模擬用戶輸入,計(jì)算一系列數(shù)值(1到100)的總和;啟動(dòng)程序調(diào)用visual basic的shell函數(shù),sendkeys指令被用來發(fā)送擊鍵動(dòng)作到應(yīng)用程序去模擬用戶輸入和計(jì)算結(jié)果。
3讀取和設(shè)置注冊(cè)表信息
例3
dim astrsettings() as string ‘定義變量
lstsettings.clear ‘清除列表框內(nèi)容
astrsettings = getallsettings(testappname, txtsection) ‘調(diào)用專用函數(shù)返回vb
‘專用位置的注冊(cè)表信息
for icount = 0 to ubound(astrsettings) ‘通過循環(huán)將注冊(cè)表信息
‘顯示在列表框中
lstsettings.additem astrsettings(icount, 0) & ": " _
& astrsettings(icount, 1)
next icount
注:testappname是被測(cè)試應(yīng)用程序的名稱
測(cè)試人員很多時(shí)候都要檢查注冊(cè)表,注冊(cè)表是一個(gè)存儲(chǔ)應(yīng)用程序安裝設(shè)置、選項(xiàng)等重要信息的地方。visual basic 6.0 包含了一些可以從預(yù)留給visual basic 應(yīng)用軟件專用的注冊(cè)表鍵值位置返回信息的新的功能函數(shù)。這些功能函數(shù)簡(jiǎn)單地設(shè)置和返回這些注冊(cè)表鍵值,這對(duì)測(cè)試用visual basic 開發(fā)的應(yīng)用程序尤其有用。
例子3所示代碼返回注冊(cè)表中位置"hkey_current_user/vb and vba program settings/"中的所有注冊(cè)表信息并把這些信息顯示在一個(gè)名為lstsettings的列表框中。如要存取其他位置的注冊(cè)表信息,需要調(diào)用windows api函數(shù)。
五 小結(jié)
由此可見,為彌補(bǔ)當(dāng)前自動(dòng)化測(cè)試工具的不足,選擇用一些編程開發(fā)語言編寫一些測(cè)試腳本或測(cè)試輔助工具在實(shí)際工作中證明是切實(shí)可行的,而visual basic 6.0由于其強(qiáng)大的功能,易學(xué)易用,有廣泛用戶群基礎(chǔ)等優(yōu)點(diǎn)而成為應(yīng)用于測(cè)試自動(dòng)化比較有應(yīng)用前景的工具之一。
參考書目
1 《軟件測(cè)試自動(dòng)化技術(shù)》美 mark fewster & dorothy graham 著,電子工業(yè)出版社 2000年1月
3 《軟件工程---實(shí)踐者的研究方法》(美)rgoer s.press著,機(jī)械工業(yè)出版社,2000年9月
2 《visual bsaic 6 技術(shù)內(nèi)幕》(美)steven holzner著,機(jī)械工業(yè)出版社,1999年4月