乐玩自动化测试模块_自动化测试模型(一)自动化测试模型介绍
一個(gè)自動(dòng)化測(cè)試框架就是一個(gè)集成體系,在這一體系中包含測(cè)試功能的函數(shù)庫,測(cè)試數(shù)據(jù)源,測(cè)試對(duì)象標(biāo)準(zhǔn),以及各種可重用的模塊。自動(dòng)化測(cè)試在發(fā)展過程中經(jīng)歷了以下幾個(gè)階段,模塊驅(qū)動(dòng)測(cè)試,數(shù)據(jù)驅(qū)動(dòng)測(cè)試及對(duì)象驅(qū)動(dòng)測(cè)試。
一、自動(dòng)化測(cè)試模型介紹
線性測(cè)試
通過錄制或編寫腳本,一個(gè)腳本完成一個(gè)場(chǎng)景(一組完整功能操作),通過對(duì)腳本的回放進(jìn)行自動(dòng)化測(cè)試。之前介紹的webdriver API所編寫的腳本也是這種方式。
從上圖可以看出,可以看出線性測(cè)試的優(yōu)勢(shì)就是每一個(gè)腳本都是獨(dú)立的,任何一個(gè)腳本文件拿出來就能單獨(dú)運(yùn)行;當(dāng)然,缺點(diǎn)也很明顯,用例的開發(fā)與維護(hù)成本很高:
一個(gè)用例對(duì)應(yīng)一個(gè)腳本,假如登陸發(fā)生變化,用戶名的屬性發(fā)生改變,不得不需要對(duì)每一個(gè)腳本進(jìn)行修改,測(cè)試用例形成一種規(guī)模,我們可能將大量的工作用于腳本的維護(hù),從而失去自動(dòng)化的意義。這種模式下數(shù)據(jù)和腳本是混在一起的,如果數(shù)據(jù)發(fā)生變也需要對(duì)腳本進(jìn)行修改。這種模式下腳本沒有可重復(fù)使用的概念。
1、模塊化與類庫
將腳本中重復(fù)可復(fù)用的部分拿出來寫成一個(gè)公共的模塊,需要的時(shí)候就調(diào)用它,可以大大提高測(cè)試人員編寫腳本的效率。
通過閱讀上面的代碼發(fā)現(xiàn),我們可以把腳本中相同的部分代碼獨(dú)立出來,形成模塊或庫;這樣做有兩方面的優(yōu)點(diǎn):
一方面提高了開發(fā)效率,不用重復(fù)的編寫相同的腳本;假如,我已經(jīng)寫好一個(gè)登錄模塊,我后續(xù)需要做的就是在需要的地方調(diào)用,不同重復(fù)造輪子。
另一方面方便了代碼的維護(hù),假如登錄模塊發(fā)生了變化,我只用修改login.py 文件中登錄模塊的代碼即可,那么所有調(diào)用登錄模塊的腳本不用做任何修改。
2、數(shù)據(jù)驅(qū)動(dòng)
數(shù)據(jù)驅(qū)動(dòng)應(yīng)該是自動(dòng)化的一個(gè)進(jìn)步;從它的本意來講,數(shù)據(jù)的改變(更新)驅(qū)動(dòng)自動(dòng)化的執(zhí)行,從而引起測(cè)試結(jié)果的改變。這顯然是一個(gè)非常高級(jí)的概念和想法。其實(shí),我們可直白的理解成參數(shù)化,輸入數(shù)據(jù)的不同從而引起輸出結(jié)果的變化。
不管我們讀取的是數(shù)組,還是字典、函數(shù),又或者是csv、txt 文件。我們實(shí)現(xiàn)了數(shù)據(jù)與腳本的分離,換句話說,我們實(shí)現(xiàn)了參數(shù)化。我們傳一千條數(shù)據(jù),通過腳本的執(zhí)行,可以返回一千條結(jié)果出來。
3、關(guān)鍵字驅(qū)動(dòng)
通過關(guān)鍵字的改變引起測(cè)試結(jié)果的改變。
QTP、robot framework 等都是以關(guān)鍵字驅(qū)動(dòng)為主的自動(dòng)化工具,因?yàn)檫@類工具主打的易用性,“填表格”式的關(guān)鍵字驅(qū)動(dòng)幫我們封裝了很多底層的東西,我們只要考慮三個(gè)問題就可以了:我要做什么? 對(duì)誰做?怎么做?
我們可以把selenium IDE 看做是一種關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化工具。
Selenium IDE 腳本分:命令(command)、對(duì)象(target)、值(value)
通過這樣的格式去描述不同的對(duì)象,從而引起最終結(jié)果的改變。也就是說一切以對(duì)象為出發(fā)點(diǎn)。當(dāng)然,這樣的腳本,顯然對(duì)于不懂代碼的同學(xué)非常直觀!我要做什么(命令)?對(duì)誰做(對(duì)象)?怎么做(值)?更高級(jí)的關(guān)鍵字驅(qū)動(dòng),可以自己定義keyword 然后“注冊(cè)”到框架;從而實(shí)現(xiàn)更強(qiáng)大的功能和擴(kuò)展性。
總結(jié)
以上是生活随笔為你收集整理的乐玩自动化测试模块_自动化测试模型(一)自动化测试模型介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uml 时序图_UML各种图总结:
- 下一篇: python requests 1004