国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向CS系統(tǒng)的UFT自動(dòng)化測(cè)試框架研究與應(yīng)用

2022-11-17 08:13梁展鵬馮燕寬羅劍武陳泫文李嬋麗宋佳
關(guān)鍵詞:設(shè)計(jì)模式測(cè)試用例腳本

梁展鵬,馮燕寬,羅劍武,陳泫文,李嬋麗,宋佳

(1.工業(yè)和信息化部電子第五研究所,廣東 廣州 511370;2.工業(yè)裝備質(zhì)量大數(shù)據(jù)工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 511370)

0 引言

現(xiàn)代社會(huì)處于數(shù)據(jù)信息時(shí)代,大數(shù)據(jù)、物聯(lián)網(wǎng)、云計(jì)算和人工智能等新一代IT技術(shù)的快速發(fā)展和廣泛應(yīng)用對(duì)軟件行業(yè)產(chǎn)生了巨大的影響,軟件質(zhì)量進(jìn)一步地受到重視,這給軟件測(cè)試工作帶來(lái)了新的挑戰(zhàn)和機(jī)遇[1]。

自動(dòng)化測(cè)試技術(shù)是軟件測(cè)試行業(yè)中最高端的技術(shù)之一,可實(shí)現(xiàn)以程序測(cè)試程序、以運(yùn)行腳本代替手工黑盒測(cè)試、以腳本代碼表達(dá)測(cè)試思維的方式。其涵蓋各式各樣的測(cè)試類型,常見(jiàn)的類型包含以下幾種:功能自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、代碼掃描、漏洞/安全掃描和性能測(cè)試等。自動(dòng)化測(cè)試技術(shù)的優(yōu)勢(shì)包括:回歸測(cè)試更方便、可靠,可運(yùn)行更多、更繁瑣的測(cè)試,并且快速、高效,可在多環(huán)境下測(cè)試等。

在功能自動(dòng)化測(cè)試的過(guò)程中,執(zhí)行自動(dòng)化測(cè)試依賴測(cè)試腳本,腳本依賴代碼,在自動(dòng)化測(cè)試團(tuán)隊(duì)開(kāi)發(fā)腳本代碼時(shí),經(jīng)常會(huì)遇到各種各樣的問(wèn)題,例如:測(cè)試腳本命名沒(méi)有統(tǒng)一規(guī)范,無(wú)法較好地區(qū)分;對(duì)象庫(kù)命名和層級(jí)沒(méi)有統(tǒng)一規(guī)范,在編寫(xiě)時(shí),造成一定的困難;測(cè)試結(jié)果不清晰,無(wú)法查看重要步驟的結(jié)果;測(cè)試腳本中變量、類、對(duì)象和函數(shù)的命名和使用不規(guī)范,導(dǎo)致難以閱讀和修改,維護(hù)的成本大大地增加。要從根本上解決這些問(wèn)題,就需要定義一系列合適的規(guī)范,形成規(guī)范集,就是指自動(dòng)化測(cè)試框架。本文將一款CS架構(gòu)的質(zhì)量管理軟件作為被測(cè)軟件,選取目前在測(cè)試工具市場(chǎng)上占主流地位的自動(dòng)化測(cè)試工具——HP Unified Functional Testing(UFT One),以設(shè)計(jì)一個(gè)適合CS架構(gòu)的自動(dòng)化測(cè)試框架。

1 UFT One簡(jiǎn)介

HP公司于2012年12月發(fā)布了一個(gè)側(cè)重于功能的回歸自動(dòng)化測(cè)試工具——(QTP:Quick Test Professional)11.5的新版本,并將其更名為統(tǒng)一功能 測(cè)試(UFT:Unified Functional Testing),以VBScript為內(nèi)嵌語(yǔ)言,錄制后可以自動(dòng)地生成VBScript腳本,用于功能測(cè)試和回歸測(cè)試自動(dòng)化的統(tǒng)一功能測(cè)試,下面介紹其常用的功能[2]。

1.1 錄制與回放

錄制與回放是UFT的開(kāi)關(guān),開(kāi)始錄制之后,工具錄制測(cè)試人員的關(guān)鍵操作,停止錄制后自動(dòng)生成VBScript腳本,可以直接回放,大大地減少一些基本業(yè)務(wù)代碼的編寫(xiě),錄制生成的代碼表面看起來(lái)很規(guī)整,但存在難以維護(hù)和占內(nèi)存較大的問(wèn)題。錄制功能更多的是新人學(xué)習(xí)時(shí)的利器,想要應(yīng)用在實(shí)際項(xiàng)目中,還需自動(dòng)化測(cè)試框架的支持。

1.2 關(guān)鍵字視圖與專家視圖

UFT有以下兩種視圖可用于編寫(xiě)腳本。

a)關(guān)鍵字視圖(KeyWord View)

可用于創(chuàng)建和查看錄制生成的代碼步驟,錄制完成后,測(cè)試人員在被測(cè)軟件上執(zhí)行的每個(gè)步驟,在關(guān)鍵字視圖中記錄為一行,包含主要的4列:對(duì)象(Item)、方法(Operation)、值(Value)和自動(dòng)生成的描述語(yǔ)句(Documentation),這樣可以輕松地查看與維護(hù),質(zhì)量管理軟件的“FMECA表管理”的腳本代碼如圖1所示[3]。

圖1 關(guān)鍵字視圖示例

b)專家視圖(Expert View)

它不像KeyWord View,需要每個(gè)步驟為一行,而是可以多行去運(yùn)行一個(gè)步驟,但必須定位到業(yè)務(wù)操作的對(duì)象,并以操作對(duì)象的業(yè)務(wù)行為基準(zhǔn)。簡(jiǎn)單地說(shuō)即與多數(shù)IDE工具一樣,是一個(gè)可以直接編寫(xiě)代碼的視圖,其中也包含補(bǔ)全語(yǔ)法(Complete Word)、多行同時(shí)編輯和智能提示(Intellisense)等功能,質(zhì)量管理軟件的自動(dòng)“登錄”的腳本代碼如圖2所示,執(zhí)行測(cè)試時(shí)的界面如圖3所示。

圖3 自動(dòng)化測(cè)試中被測(cè)軟件的界面

1.3 對(duì)象庫(kù)

對(duì)象庫(kù)是指管理測(cè)試對(duì)象的庫(kù),能夠查看和修改對(duì)象描述、添加和刪除測(cè)試對(duì)象,并將它們拖到測(cè)試或組件中以添加新步驟,自動(dòng)化測(cè)試腳本都是針對(duì)應(yīng)用程序中對(duì)象的操作,所以對(duì)象庫(kù)的管理是UFT的核心,對(duì)象庫(kù)的對(duì)象及屬性如圖4所示[4]。

圖4 對(duì)象庫(kù)的對(duì)象及屬性

UFT中的對(duì)象分為兩種:測(cè)試對(duì)象和運(yùn)行時(shí)對(duì)象。測(cè)試對(duì)象是指保存在UFT本地對(duì)象庫(kù)的對(duì)象,圖2中WpfWindow(“登錄CARMES”).WpfEdit(“用 戶 名”).Set“UserName”中 的“登 錄CARMES”/“用戶名”就是測(cè)試對(duì)象;運(yùn)行時(shí)對(duì)象是實(shí)際測(cè)試中,被測(cè)軟件運(yùn)行時(shí)的控件對(duì)象。

圖2 專家視圖示例

2 自動(dòng)化測(cè)試框架

本文闡述的是一種適合CS架構(gòu)的混合型測(cè)試框架,結(jié)合了數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架和關(guān)鍵字驅(qū)動(dòng),將測(cè)試用例、測(cè)試數(shù)據(jù)、業(yè)務(wù)腳本、函數(shù)庫(kù)、對(duì)象庫(kù)、測(cè)試日志、測(cè)試結(jié)果、測(cè)試需求和配置文件的存放和調(diào)用都進(jìn)行了管理[5-7]。下面以“質(zhì)量管理軟件”作為測(cè)試案例,展開(kāi)自動(dòng)化測(cè)試框架的介紹。

2.1 過(guò)程文件管理

自動(dòng)化測(cè)試過(guò)程中會(huì)產(chǎn)生一系列需要管理的文件,按圖5所示進(jìn)行存放和管理[8]。目錄名稱的解釋如下所述。

a)Driver

存放測(cè)試驅(qū)動(dòng),驅(qū)動(dòng)是整個(gè)框架的核心,下一級(jí)是UFT的測(cè)試文件,后綴為.mts,運(yùn)行時(shí)可以生成其他同級(jí)目錄結(jié)構(gòu),具有調(diào)用通用函數(shù)庫(kù)、載入項(xiàng)目測(cè)試需求和關(guān)聯(lián)腳本庫(kù)等作用。

b)CommomLib

存放通用函數(shù)庫(kù),下一級(jí)文件后綴為.vbs,將UFT默認(rèn)方法多封裝一層,為每層函數(shù)注冊(cè)了日志和報(bào)告功能,其中包含常用行為函數(shù)(輸入、點(diǎn)擊和選擇)和業(yè)務(wù)行為函數(shù)。

c)TestPro

存放項(xiàng)目測(cè)試需求,首先將測(cè)試軟件的子模塊進(jìn)行劃分,寫(xiě)入Excel,通過(guò)在“是否測(cè)試”字段中寫(xiě)入1或0,表示此次需要測(cè)試的具體模塊,可供測(cè)試驅(qū)動(dòng)調(diào)用。

d)TestScript

存放測(cè)試業(yè)務(wù)腳本,以測(cè)試業(yè)務(wù)功能為主的腳本,也是自動(dòng)化團(tuán)隊(duì)日常編寫(xiě)的內(nèi)容,可供測(cè)試驅(qū)動(dòng)調(diào)用。

e)TestScriptHistory

此文件用于存放歷史腳本記錄。

f)TestObject

其次將傘形集果筒套在果樹(shù)上,將搭扣扣緊之后安裝在支撐座上,再利用4個(gè)繩鉤其中一端勾住傘形集果筒的4個(gè)固定孔,另一端勾住果樹(shù)枝干,防止傘形集果筒產(chǎn)生傾斜。

存放測(cè)試對(duì)象庫(kù)文件,包括tsr和xml格式。

g)TestCase

存放測(cè)試用例,一個(gè)測(cè)試用例對(duì)應(yīng)一個(gè)系統(tǒng)子模塊,名字與子模塊一樣,可供測(cè)試驅(qū)動(dòng)加載調(diào)用。

h)TestLog

存放測(cè)試日志。

i)TestPic

存放測(cè)試截圖。

存放測(cè)試報(bào)告。

k)Recovery

存放場(chǎng)景恢復(fù)文件。

2.2 測(cè)試用例與腳本分離——數(shù)據(jù)驅(qū)動(dòng)

測(cè)試腳本如果沒(méi)有與測(cè)試用例分離,會(huì)變得難以閱讀和維護(hù)[9]。在本框架中,將用例與腳本分離,存放在不同的目錄下。使用VBScript作為開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)測(cè)試腳本,調(diào)用測(cè)試用例,測(cè)試腳本把測(cè)試用例動(dòng)態(tài)加載進(jìn)UFT進(jìn)行測(cè)試,記錄測(cè)試結(jié)果,再將執(zhí)行結(jié)果存入測(cè)試用例中,記錄每一條測(cè)試用例的執(zhí)行結(jié)果。

2.3 對(duì)象庫(kù)管理

建立對(duì)象庫(kù)的方法至少有4種:

1)通過(guò)錄制將操作對(duì)象添加到對(duì)象庫(kù);

2)描述性編程;

3)在對(duì)象庫(kù)中將對(duì)象添加到本地;

4)使用15.02及以上版本的對(duì)象標(biāo)識(shí)中心功能。

我們使用第三種,將應(yīng)用程序的對(duì)象添加之后,規(guī)范對(duì)象的命名、層級(jí),并重復(fù)識(shí)別對(duì)象,直至修改標(biāo)識(shí)屬性達(dá)到對(duì)象標(biāo)識(shí)明顯,測(cè)試人員使用時(shí)方便認(rèn)出,UFT能依據(jù)標(biāo)識(shí)屬性迅速地找到對(duì)象,即通過(guò)高亮對(duì)象能迅速地找到對(duì)象,才算是完成對(duì)象的添加。

在實(shí)際應(yīng)用中,我們會(huì)遇到一些對(duì)象屬性是動(dòng)態(tài)的,這一類動(dòng)態(tài)的對(duì)象會(huì)導(dǎo)致我們高亮對(duì)象或者回放時(shí),UFT報(bào)“找不到對(duì)象”這樣的錯(cuò)誤;解決的方式是為對(duì)象中動(dòng)態(tài)變化的屬性設(shè)置正則表達(dá)式,快速地找到對(duì)應(yīng)的對(duì)象。

質(zhì)量管理軟件中的模塊與新建項(xiàng)目屬性的層級(jí)關(guān)系如圖6所示,質(zhì)量管理軟件中的模塊對(duì)象及新建項(xiàng)目屬性的對(duì)象如圖7所示。

圖6 模塊與新建項(xiàng)目屬性的層級(jí)關(guān)系

圖7 模塊對(duì)象及新建項(xiàng)目屬性的對(duì)象

2.4 函數(shù)庫(kù)與腳本設(shè)計(jì)模式

設(shè)計(jì)模式具有非常重要的作用,間接性地規(guī)范了代碼的編寫(xiě),不但可以提高代碼的可讀性,更重要的是可以使腳本更加高效、靈活和易以維護(hù),將此類代碼存入函數(shù)庫(kù)中,在編寫(xiě)腳本時(shí)可以輕松地調(diào)用。

VBScript存在一個(gè)根本問(wèn)題,它不像面向?qū)ο蟮母呒?jí)語(yǔ)言一樣,自身就適合眾多的設(shè)計(jì)模式,它存在明顯的劣勢(shì)和差距,但可以間接地通過(guò)腳本優(yōu)化來(lái)實(shí)現(xiàn)設(shè)計(jì)模式的應(yīng)用,本文將介紹單例模式與工廠模式的完美結(jié)合應(yīng)用。

a)單例模式

屬于創(chuàng)建型模式,提供了一種創(chuàng)建對(duì)象的最佳方式,單例模式可以很好地管理對(duì)象的生命周期,集中控制對(duì)象的實(shí)體,Excel對(duì)象的單例設(shè)計(jì)模式如圖8所示。

圖8 Excel對(duì)象的單例設(shè)計(jì)模式

b)工廠模式

通過(guò)使用一個(gè)共同的接口來(lái)指向創(chuàng)建和初始化的對(duì)象,但在VBScript中有一個(gè)缺陷,就是不斷地實(shí)例化對(duì)象,而對(duì)單個(gè)對(duì)象沒(méi)有管理,造成對(duì)象混亂的情況。這時(shí)就需要單例模式來(lái)管理每個(gè)對(duì)象,將兩種設(shè)計(jì)模式結(jié)合會(huì)更適合VBScript。工廠模式中結(jié)合單例設(shè)計(jì)模式的代碼如圖9所示。

圖9 工廠模式中結(jié)合單例設(shè)計(jì)模式的代碼

2.5 日志與測(cè)試報(bào)告管理

通過(guò)RegisterUserFunc函數(shù),把寫(xiě)入日志和寫(xiě)入報(bào)告函數(shù)注冊(cè)到UFT自帶的方法內(nèi),使每次測(cè)試都能生成我們需要的日志和報(bào)告。用法如下:

RegisterUserFunc“WpfEdit”“set”“WriteLog_WpfEdit”,“WpfEdit”指對(duì)象,“set”指方法,“WriteLog_WpfEdit”指自定義的寫(xiě)入日志類或自定義的寫(xiě)入報(bào)告類,寫(xiě)入日志類和寫(xiě)入報(bào)告類可以將日志和報(bào)告存在對(duì)應(yīng)的目錄中。

3 結(jié)束語(yǔ)

本文所描述的自動(dòng)化測(cè)試框架,其對(duì)象庫(kù)針對(duì)CS架構(gòu)控件,其函數(shù)針對(duì)CS架構(gòu)控件方法,是適用于CS架構(gòu)軟件的一種自動(dòng)化測(cè)試框架。筆者在實(shí)際應(yīng)用后,認(rèn)為單單靠工具的簡(jiǎn)單錄制/回放功能并不能達(dá)到自動(dòng)化測(cè)試的要求。自動(dòng)化測(cè)試框架是做好自動(dòng)化測(cè)試的基礎(chǔ),其可提高測(cè)試腳本的代碼質(zhì)量和減少自動(dòng)化腳本的維護(hù),使用自動(dòng)化測(cè)試框架可以完成健壯、高效和規(guī)范的自動(dòng)化測(cè)試腳本,更好地實(shí)施自動(dòng)化測(cè)試。

猜你喜歡
設(shè)計(jì)模式測(cè)試用例腳本
酒駕
“1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
安奇奇與小cool 龍(第二回)
基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
三維協(xié)同設(shè)計(jì)模式下的航天項(xiàng)目管理實(shí)踐與展望
交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
基于混合遺傳算法的回歸測(cè)試用例集最小化研究
快樂(lè)假期
小編的新年愿望
基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
乌兰浩特市| 随州市| 开封市| 郧西县| 鸡泽县| 南部县| 讷河市| 临高县| 苏尼特左旗| 青铜峡市| 泗水县| 日土县| 游戏| 达拉特旗| 武穴市| 鲁甸县| 米脂县| 左贡县| 万山特区| 来宾市| 岑巩县| 丰顺县| 临湘市| 北宁市| 精河县| 虞城县| 平乡县| 嘉鱼县| 视频| 南乐县| 沁源县| 陕西省| 潍坊市| 安康市| 晋州市| 临沭县| 册亨县| 曲周县| 南宫市| 嘉义市| 叶城县|