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