亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        QTP 數(shù)據(jù)驅(qū)動(dòng)測(cè)試方法探討

        2014-02-24 08:31:30蔣桂梅
        科技視界 2014年10期
        關(guān)鍵詞:測(cè)試用例測(cè)試數(shù)據(jù)腳本

        蔣桂梅

        (廣東女子職業(yè)技術(shù)學(xué)院 應(yīng)用設(shè)計(jì)系,廣東 廣州511450)

        0 引言

        自動(dòng)化測(cè)試是使用軟件來(lái)控制測(cè)試執(zhí)行過(guò)程,需要在適當(dāng)?shù)臅r(shí)間使已形式化的手工測(cè)試過(guò)程自動(dòng)化,最好的自動(dòng)化測(cè)試工具是能夠?qū)⒐ぞ吲c測(cè)試需求達(dá)成一致,并且提供高度可自定義的工作流程和跟蹤報(bào)告能力[1]。

        Mercury QuickTest Professional(簡(jiǎn)稱(chēng)QTP)是企業(yè)級(jí)自動(dòng)化測(cè)試工具,已被惠普公司收購(gòu),QTP 主要適用于功能和回歸測(cè)試的自動(dòng)化,采用關(guān)鍵字驅(qū)動(dòng)的理論來(lái)簡(jiǎn)化對(duì)測(cè)試用例的創(chuàng)建和維護(hù),用戶(hù)可以直接錄制屏幕上的操作流程,自動(dòng)生成功能測(cè)試或回歸測(cè)試腳本。當(dāng)腳本錄制完成,并不能完全立即使用,主要原因是錄制的腳本只能覆蓋一條測(cè)試用例,并且對(duì)數(shù)據(jù)的依賴(lài)性很強(qiáng),更換數(shù)據(jù)后就會(huì)出錯(cuò),這種線性的自動(dòng)化測(cè)試方式缺點(diǎn)很明顯,需要對(duì)腳本進(jìn)行優(yōu)化和增強(qiáng)。

        適當(dāng)調(diào)整和增強(qiáng)測(cè)試腳本,提高腳本的靈活性,數(shù)據(jù)驅(qū)動(dòng)方式的測(cè)試腳本是解決這類(lèi)問(wèn)題的重要方式。數(shù)據(jù)驅(qū)動(dòng)的測(cè)試方法要解決的核心問(wèn)題是把數(shù)據(jù)從測(cè)試腳本中分離出來(lái),從而實(shí)現(xiàn)測(cè)試腳本的參數(shù)化[2]。

        1 數(shù)據(jù)驅(qū)動(dòng)測(cè)試的步驟

        數(shù)據(jù)驅(qū)動(dòng)測(cè)試一般按以下步驟進(jìn)行[3]:

        1)參數(shù)化測(cè)試數(shù)據(jù),綁定到數(shù)據(jù)表格中的各個(gè)字段;

        2)在表格中編輯多行的測(cè)試數(shù)據(jù),取決于測(cè)試用例及測(cè)試覆蓋率的需要;

        3)設(shè)置迭代次數(shù),每次迭代選擇一行數(shù)據(jù)。

        2 參數(shù)化方法

        2.1 DataTable 實(shí)現(xiàn)參數(shù)化

        本測(cè)試是測(cè)試飛行程序的登錄用戶(hù)名和密碼,將多組測(cè)試數(shù)據(jù)放在DataTable 的Global 或當(dāng)前Action 表中。DataTable 是一種最容易實(shí)現(xiàn)參數(shù)化的方式。

        圖1

        圖2

        2.2 環(huán)境變量實(shí)現(xiàn)參數(shù)化

        圖3

        圖4

        參數(shù)化在“Value Configuration Option”對(duì)話(huà)框中設(shè)置“Name”和“Value”框中進(jìn)行設(shè)置,環(huán)境變量實(shí)現(xiàn)參數(shù)化當(dāng)在同一個(gè)Test 中多個(gè)Action 調(diào)用同一個(gè)參數(shù)時(shí),使用環(huán)境變量作為參數(shù)是一種很好的方式,但每個(gè)參數(shù)值都要指定,如果測(cè)試多組數(shù)據(jù)工作量就大了。

        2.3 使用文本文件實(shí)現(xiàn)參數(shù)化

        先在腳本根目錄中創(chuàng)建txt 文件,將內(nèi)容輸入文件中,輸入格式如圖4。

        QTP 腳本代碼如下:

        Const ForReading=1

        FilePath = Environment ("TestDir")&"login.txt" '取得存儲(chǔ)數(shù)據(jù)的txt文件的路徑

        Set FSO = CreateObject("Scripting.FileSystemObject")

        Set DataFile = Fso.OpenTextFile(FilePath,ForReading,False)

        Do while DataFile.AtEndOfLine<>true

        systemutil.Run "D:Program FilesHPQuickTest

        Professionalsamplesflightappflight4a.exe","","",""

        ReadString = DataFile.ReadLine '讀取txt 文件中的行記錄

        DataStr = split (ReadString,",") '將行記錄以逗號(hào)為分隔符分開(kāi),并存入數(shù)組中

        Dialog("Login").WinEdit("Agent Name:").Set datastr(0) '輸入用戶(hù)名

        Dialog("Login").WinEdit("Password:").SetSecure datastr(1) '輸入密碼

        Dialog("Login").WinButton("OK").Click

        If Dialog("Flight Reservations").Exist (5) then

        Dialog("Flight Reservations").winbutton("確定").Click

        Dialog("Login").winbutton("cancel").Click

        else

        Window("Flight Reservation").Close

        end if

        wait(3)

        loop

        DataFile.close

        do-loop 結(jié)構(gòu)是為了使多組數(shù)據(jù)循環(huán)執(zhí)行下去,直到文件結(jié)尾,ifelse-endif 結(jié)構(gòu)是判斷對(duì)話(huà)框“Flight Reservations”的存在與否來(lái)推斷用戶(hù)和密碼是否輸入錯(cuò)誤的情況處理,讓循環(huán)能繼續(xù)下一組數(shù)據(jù)的驗(yàn)證。

        2.4 使用excel 表實(shí)現(xiàn)參數(shù)化

        先在腳本根目錄中創(chuàng)建xls 文件,將內(nèi)容輸入文件中,輸入格式如圖5。

        圖5

        圖6

        QTP 腳本代碼如下:

        datatable.ImportSheet "login.xls","login_sheet","Action1"

        '第一個(gè)參數(shù)是源文件,第二個(gè)參數(shù)是源文件工作表名稱(chēng),第三個(gè)參數(shù)是目的路徑表名稱(chēng)

        Dim i,rowcount

        i=1

        rowcount=datatable.GetSheet ("Action1").GetRowCount

        Do while(i<=rowcount)

        systemUtil.Run "D:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exe","","",""

        datatable.SetCurrentRow (i)

        Dialog ("Login").WinEdit ("Agent Name:").Set DataTable("user",dtLocalSheet)

        Dialog ("Login").WinEdit ("Password:").Set DataTable ("pwd",dtLocalSheet)

        Dialog("Login").WinButton("OK").Click

        If Dialog("Login").Dialog("Flight Reservations").Exist (5) then

        Dialog("Login").Dialog("Flight Reservations").winbutton(" 確定").Click

        Dialog("Login").winbutton("cancel").Click

        else

        Window("Flight Reservation").Close

        end if

        i=i+1 Loop

        datatable.ImportSheet 語(yǔ)句是導(dǎo)入 Excel 外部文件到 DataTable 的Action1 中,do-loop 結(jié)構(gòu)依然是為了使多組數(shù)據(jù)循環(huán)執(zhí)行下去。

        3.5 使用XML 文件實(shí)現(xiàn)參數(shù)化

        先在腳本根目錄中創(chuàng)建XML 文件,將內(nèi)容輸入文件中,輸入格式如圖6。

        QTP 腳本代碼如下:

        set xmldoc=CreateObject("microsoft.xmldom")

        TestPath = Environment("TestDir")&" login.xml"

        xmldoc.load(TestPath)

        Set Root=xmldoc.documentElement

        For i = 0 To Root.childNodes.Length-1

        systemutil.Run "D:Program FilesHPQuickTest

        Professionalsamplesflightappflight4a.exe","","",""

        Set TestCases = Root.childNodes.Item(i)

        For j = 0 To TestCases.childNodes.Length-1

        Set TestCase = TestCases.childNodes.Item(j)

        If cstr(TestCase.nodeName)="UserName"Then

        Dialog ("Login").WinEdit("Agent Name:").Set TestCase.text

        end if

        If cstr(TestCase.nodeName)="PW" Then

        Dialog ("Login").WinEdit ("Password:").SetSecure TestCase.text

        End If

        Next

        Dialog("Login").WinButton("OK").Click

        If Dialog("Login").Dialog("Flight Reservations").Exist (5) then

        Dialog("Login").Dialog("Flight Reservations").winbutton(" 確

        定").Click

        Dialog("Login").winbutton("cancel").Click

        else

        Window("Flight Reservation").Close

        end if

        wait(3)

        Next

        Set root=nothing

        Set xml=nothing

        QTP 腳本中用到了雙層for 語(yǔ)句,外層for 語(yǔ)句用于多組數(shù)據(jù)的循環(huán),內(nèi)層for 用于同組數(shù)據(jù)多個(gè)字段間的循環(huán)。

        4 結(jié)論

        通過(guò)參數(shù)化方式,從外部數(shù)據(jù)源或數(shù)據(jù)產(chǎn)生器讀取測(cè)試數(shù)據(jù),從而擴(kuò)大測(cè)試的覆蓋面,提高了測(cè)試的靈活性。除了以上方式實(shí)現(xiàn)參數(shù)化,還可以使用數(shù)據(jù)庫(kù)表作為數(shù)據(jù)源。在實(shí)際的測(cè)試工作中,我們可以根據(jù)需要靈活組合方式來(lái)進(jìn)行使用。

        [1]王磊.關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2010,41(8):91-97.

        [2]王蕾.基于數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試框架系統(tǒng)的研究與實(shí)現(xiàn)EJ1[J].軟件導(dǎo)刊,2009,38(6):33-34.

        [3]陳能技.QTP 自動(dòng)化測(cè)試技術(shù)進(jìn)階[M].北京:電子工業(yè)出版社,2010.

        猜你喜歡
        測(cè)試用例測(cè)試數(shù)據(jù)腳本
        酒駕
        安奇奇與小cool 龍(第二回)
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        測(cè)試數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        快樂(lè)假期
        基于自適應(yīng)粒子群優(yōu)化算法的測(cè)試數(shù)據(jù)擴(kuò)增方法
        空間co-location挖掘模式在學(xué)生體能測(cè)試數(shù)據(jù)中的應(yīng)用
        體育科技(2016年2期)2016-02-28 17:06:21
        基于依賴(lài)結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        日本一区二区免费在线看| 最近中文av字幕在线中文| 日韩欧美在线播放视频| 亚洲国产精品第一区二区三区 | 伊人久久大香线蕉av不卡| 成年午夜无码av片在线观看 | 国产护士一区二区三区| 一区二区三区中文字幕p站| 国产高跟黑色丝袜在线| 免费无码av片在线观看| 亚洲精品国产福利在线观看| 午夜一区二区三区福利视频| 偷拍一区二区视频播放器| 久久久久久人妻一区精品| 欧美丰满熟妇bbbbbb百度| 国产成人午夜av影院| 蜜桃视频一区二区三区四| 国产va免费精品观看精品| 国产在线观看www污污污| 天堂最新在线官网av| 高清国产精品一区二区| 亚洲女人毛茸茸粉红大阴户传播 | 蜜桃视频在线看一区二区三区| 亚洲国产欧美日韩欧美特级 | 免费看男女做羞羞的事网站| 亚洲中文字幕无码mv | 亚洲一区二区三区在线| 日韩av一区二区不卡| 人妻 日韩 欧美 综合 制服| 欧美国产日韩a在线视频| 亚洲中文字幕有码av| 成人性生交大全免费看| 香港aa三级久久三级| 久久不见久久见免费视频7| 超碰性爱| 免费人成网站在线视频| 岛国av无码免费无禁网站| 精品人妻系列无码一区二区三区| 在线视频一区二区亚洲| 天堂网日韩av在线播放一区| 亚洲精品乱码久久久久久中文字幕 |