基于數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試的研究和實(shí)現(xiàn)
1.3 數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架結(jié)構(gòu)以及實(shí)現(xiàn)
基于數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試不是簡(jiǎn)單的錄制回放,而且通過(guò)編程的形式來(lái)實(shí)現(xiàn)每個(gè)測(cè)試用例,其中數(shù)據(jù)文件獨(dú)立于測(cè)試用例,這樣數(shù)據(jù)的更新對(duì)整個(gè)測(cè)試工程的維護(hù)會(huì)降低到最小。因此創(chuàng)建自動(dòng)化測(cè)試框架需要有一定的編程基礎(chǔ)。
本文自動(dòng)化測(cè)試中采取的是三層框架結(jié)構(gòu),如圖3所示。本文引用地址:http://www.ex-cimer.com/article/195377.htm
其中最底層為UI Driver層,主要負(fù)責(zé)定義基本的通用元素庫(kù),如按鈕、下拉框、文本框等在每個(gè)軟件中都會(huì)出現(xiàn)的基本元素;對(duì)這些元素的基本操作以及通用操作(如等待某段時(shí)間的函數(shù)等)。這一層和測(cè)試的軟件沒(méi)有關(guān)系,因此通用性很強(qiáng),既可以自己開(kāi)發(fā)也可以用前人開(kāi)發(fā)好的底層自動(dòng)化Driver。
第二層為代理(Agent)層,這一層是建立在被測(cè)軟件上,對(duì)被測(cè)軟件的每一界面(UI)均建立相關(guān)的類和對(duì)象,方便最上層調(diào)用,這一層需根據(jù)軟件的不斷更新而更改。
最上層為測(cè)試用例層(Test Cases),這一層建立在代理層上,代理層建立好之后,可以提供給測(cè)試用例層所需的界面元素,使測(cè)試用例可以通過(guò)對(duì)界面元素的操作完成自動(dòng)化測(cè)試過(guò)程。這一層是測(cè)試用例的實(shí)現(xiàn)層,如果有了比較完善、結(jié)構(gòu)合理的底層以及代理層,此層實(shí)現(xiàn)起來(lái)就會(huì)非常簡(jiǎn)單。
其中測(cè)試數(shù)據(jù)以及軟件中元素的ID信息是存放在獨(dú)立的XML文件中,測(cè)試用例層或者代理層需要用數(shù)據(jù)時(shí),可以通過(guò)統(tǒng)一的接口讀取。這樣的方式不僅可以使整個(gè)測(cè)試工程結(jié)果清晰,最重要的是可以降低整個(gè)測(cè)試系統(tǒng)的維護(hù)費(fèi)用,這樣才能確保自動(dòng)化測(cè)試的投入回報(bào)不斷提升。
1.4 自動(dòng)化測(cè)試的維護(hù)和擴(kuò)充
自動(dòng)化測(cè)試工程會(huì)由于軟件的不斷擴(kuò)充而必須加以維護(hù)和擴(kuò)充。其中維護(hù)是指由于新版本的升級(jí)導(dǎo)致的舊的測(cè)試用例無(wú)法通過(guò),必須加以維護(hù)才能正常運(yùn)行。而擴(kuò)充則是指由于版本的不斷升級(jí),某些功能已經(jīng)非常穩(wěn)定,適合于自動(dòng)化測(cè)試,需要新添加一些測(cè)試用例來(lái)覆蓋這些功能。
擴(kuò)充和維護(hù)是一個(gè)長(zhǎng)期的過(guò)程,其中需特別注意的是每次自動(dòng)運(yùn)行測(cè)試用例,必須有個(gè)詳細(xì)的結(jié)果日志來(lái)記錄測(cè)試用例的通過(guò)情況,對(duì)于運(yùn)行失敗的用例,記錄失敗的原因,這樣有利于測(cè)試人員通過(guò)結(jié)果來(lái)判斷產(chǎn)品的bug。這里需要特別注意的是,有的測(cè)試用例表面上是通過(guò)了,但是實(shí)際上卻執(zhí)行失敗了,并且結(jié)果日志上記錄的是通過(guò),如果出現(xiàn)這樣的情況,而測(cè)試人員卻毫無(wú)察覺(jué),這就是失敗的自動(dòng)化,所以對(duì)于每次自動(dòng)化測(cè)試的結(jié)果,最好能夠建立起核查機(jī)制,以確保結(jié)果的可靠性。
2 總結(jié)
自動(dòng)化測(cè)試是一個(gè)比較新的研究領(lǐng)域,也是近來(lái)很具爭(zhēng)議性的研究話題,對(duì)于自動(dòng)化測(cè)試引入之后的利弊,眾說(shuō)紛紜。當(dāng)然自動(dòng)化測(cè)試也在爭(zhēng)議中顯現(xiàn)出了強(qiáng)大的生命力,其測(cè)試效率高、重用性好等優(yōu)點(diǎn)得到了廣泛的認(rèn)同。本文中所介紹的自動(dòng)化測(cè)試框架結(jié)構(gòu)在很多大型的軟件系統(tǒng)中得到了應(yīng)用,取得了良好的效果。
評(píng)論