你應(yīng)該知道的自動(dòng)化測(cè)試的“ABC”
由于存在同源策略的問題,所以在進(jìn)行測(cè)試部署時(shí),必須將所測(cè)試程序部署在服務(wù)器端。 例如你想采用selenium-core來測(cè)試用JavaScript寫的www.google.cn,由于不允許向磁盤寫數(shù)據(jù),所以只能將測(cè)試結(jié)果發(fā)送到另外一臺(tái)服務(wù)器進(jìn)行保存。
本文引用地址:http://butianyuan.cn/article/164480.htmSelenium IDE是對(duì)瀏覽器進(jìn)行擴(kuò)展,作為FireFox的一個(gè)插件。通過監(jiān)聽用戶對(duì)html頁面的操作來錄制腳本。 其特點(diǎn):
?、俜浅H菀自陧撁嫔线M(jìn)行錄制和回放
?、谀茏詣?dòng)通過id,name和xpath等來定位頁面上的元素
?、圩詣?dòng)執(zhí)行selenium的命令
④能夠進(jìn)行編輯、調(diào)試和設(shè)置斷點(diǎn)
⑤錄制時(shí)自動(dòng)生成腳本,不但能夠保存,并且能轉(zhuǎn)化成各種語言(C#、JAVA等)
⑥在每個(gè)錄制的腳本中能夠加入斷言
測(cè)試套件Suit
要達(dá)到對(duì)應(yīng)用程序的完全測(cè)試覆蓋,通常需要不止一個(gè)測(cè)試用例。測(cè)試套件用于將具有類似功能的一些測(cè)試用例編成一組,以便讓它們按順序運(yùn)行。
測(cè)試套件和測(cè)試用例一樣,都是用簡(jiǎn)單的 HTML 表編寫的。但是注意,測(cè)試套件使用一個(gè)只包含一列的表,表中的每一行指向一個(gè)包含某個(gè)測(cè)試用例的文件,如下例所示:
通過以上的分析,我們可以知道10 Selenium比其他的測(cè)試工具有著明顯的優(yōu)勢(shì),但是其也有一定的限制:
?、黉浿颇_本可能會(huì)帶來冗余、公用元素不可調(diào)用、腳本調(diào)試復(fù)雜等問題。專業(yè)化的建議是以錄制為參考,以編寫腳本為主要行為。 當(dāng)每一個(gè)測(cè)試用例所形成的腳本通過測(cè)試后,并不意味著執(zhí)行多個(gè)甚至所有的測(cè)試用例就不會(huì)出錯(cuò)。
?、谳斎霐?shù)據(jù)或測(cè)試環(huán)境的改變,都會(huì)導(dǎo)致測(cè)試結(jié)果受到影響甚至失敗。而如果僅是一個(gè)個(gè)執(zhí)行測(cè)試用例,也只能被稱作是半自動(dòng)化測(cè)試,極大的影響自動(dòng)化測(cè)試的效率。
?、跾elenese 有一些嚴(yán)格的限制,如它沒有條件(沒有“if”表達(dá)式),沒有循環(huán)(沒有“For”表達(dá)式)。這樣會(huì)使編寫復(fù)雜的測(cè)試變得困難甚至不可能。
六、自動(dòng)化測(cè)試的使用范圍
1) 軟件需求變動(dòng)不頻繁
不穩(wěn)定的系統(tǒng)也就意味著測(cè)試的不穩(wěn)定,我們不知道這次的變動(dòng)是否會(huì)影響到系統(tǒng)其他的功能。那么是否需要在每次迭代完以后都需要對(duì)系統(tǒng)進(jìn)行完整的回歸測(cè)試呢?測(cè)試腳本的穩(wěn)定性決定了自動(dòng)化測(cè)試的維護(hù)成本。如果所花費(fèi)的成本不低于利用其節(jié)省的測(cè)試成本,那么自動(dòng)化測(cè)試便是失敗的。
項(xiàng)目中的某些模塊相對(duì)穩(wěn)定,而某些模塊需求變動(dòng)性很大。我們便可對(duì)相對(duì)穩(wěn)定的模塊進(jìn)行自動(dòng)化測(cè)試,而變動(dòng)較大的仍是用手工測(cè)試。
2) 周期足夠長(zhǎng)的項(xiàng)目
自動(dòng)化測(cè)試需求的確定、自動(dòng)化測(cè)試框架的設(shè)計(jì)、測(cè)試腳本的編寫與調(diào)試均需要時(shí)間和精力來完成,這樣的過程本身就是一個(gè)測(cè)試軟件的開發(fā)過程,需要考慮投入成本的問題。
如果項(xiàng)目的周期比較短,沒有足夠的時(shí)間去支持這樣一個(gè)過程,或者說傳統(tǒng)測(cè)試所花費(fèi)的時(shí)間和人力資源遠(yuǎn)小于采用自動(dòng)化測(cè)試的投入,那么自動(dòng)化測(cè)試便成為笑談。
3) 自動(dòng)化測(cè)試腳本可重復(fù)使用
如果費(fèi)盡心力開發(fā)了一套近乎完美的自動(dòng)化測(cè)試腳本,但是腳本的重復(fù)使用率很低,致使其間所耗費(fèi)的成本大于所創(chuàng)造的經(jīng)濟(jì)價(jià)值,自動(dòng)化測(cè)試便成為了測(cè)試人員的練手之作,而并非是真正可產(chǎn)生效益的測(cè)試手段了。
七、小結(jié)
任何一種產(chǎn)品化的測(cè)試自動(dòng)化工具,都可能存在與某具體項(xiàng)目不甚貼切的地方。再加上,在企業(yè)內(nèi)部通常存在許多不同種類的應(yīng)用平臺(tái),應(yīng)用開發(fā)技術(shù)也不盡相同,甚至在一個(gè)應(yīng)用中可能就跨越了多種平臺(tái),或同一應(yīng)用的不同版本之間存在技術(shù)差異。所以選擇軟件測(cè)試自動(dòng)化方案必須深刻理解這一選擇可能帶來的變動(dòng)、來自諸多方面的風(fēng)險(xiǎn)和成本開銷。
評(píng)論