如何使用Python實作自動化測驗
如果你入職一家新的公司,領導讓你開展自動化測驗,作為一個新人,你肯定會手忙腳亂,你會如何落地自動化測驗呢?資深測驗架構師沉醉將告訴你如何落地自動kan化測驗,本次話題主要分為如下幾部分內容:
1、什么是自動化?
2、分層自動化又是什么?
3、如何使用Python實作自動化測驗?
4、RobotFramework自動化是不是適合你的境遇?
5、自動化落地成功,怎樣日常維護?
- 什么是自動化?
有很多人做了很長時間的自動化但卻連自動化的概念都不清楚,這樣的人也是很悲哀,做這樣的職業,卻連最基本的概念都不清楚,我給大家列舉出來如下(引自《軟體評測師第69頁》):
自動化測驗的定義:
自動化測驗就是通過測驗工具或者其他手段,按照測驗工程師的預定計劃對軟體產品進行的自動的測驗,它是軟體測驗的一個重要組成部分,它能夠完成許多手工無法完成或者難以實作的一些測驗作業,正確、合理地實施自動化測驗,能夠快速、全面地對軟體進行測驗,從而提高軟體質量,節省經費,縮短產品發布周期,
如上就是自動化測驗標準概念,概括而言,無非就是使用自動化的手段代替人工,但是不是完全代替人工,在這里我不得不指出一個誤區,有的人不了解自動化的含義,尤其是一些領導層,認為自動化是萬能的,只要自動化做出來,功能測驗就可以完全解放了,即使自動化腳本寫的再智能,也不可能完全代替手工,并且自動化所耗費的人力也是對于整個專案組很大的開支,所以自動化測驗不是萬能,
自動化測驗的概念引出后,咱們也要介紹一下自動化所包含的種類,在市面上最流行的自動化包括如下種類,
1、UI自動化
2、介面自動化
3、app 自動化
4、單元自動化
5、自動化測驗工具(測驗開發輔助工具)
種類很多,是不是所有的自動化種類都要在專案開展,這就引出我們新的觀點,什么是分層自動化?
- 分層自動化又是什么?
先上張圖

先來談談我在作業中看到的自動化測驗的誤區:
1、自動化測驗腳本在完成后因為產品更新導致大量測驗用例失效,由于團隊忙于新功能開發,當失效的用例積累越來越多時,這些測驗用例就慢慢失去維護,如果開發這些用例同學在的時候可能還好辦,
2、大量的自動化測驗腳本沒有發現問題,上線后仍然問題不斷,在測驗中我們主要針對正常流程進行測驗,但是在線上出故障的都是非正常流程,
3、代碼質量問題嚴重,很多人寫的單元測驗只是構造一個輸入然后檢查回傳值,結果是測驗通過了但是問題卻遺漏了,
4、重復輪子制造,大量的團隊都在開發自己的自動化測驗框架,實際上只是對各種開源框架進行裁剪完善,
分層測驗包含如下幾個層次:
1、單元測驗:開發者撰寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確,通常而言,一個單元測驗是用于判斷某個特定條件(或者場景)下某個特定函式的行為,
2、集成測驗:也叫組裝測驗或聯合測驗,在單元測驗的基礎上,將所有模塊按照設計要求(如根據結構圖〕組裝成為子系統或系統,進行集成測驗,在這里我們可以認為就是介面測驗,
3、系統測驗:將需測驗的軟體,作為整個基于計算機系統的一個元素,與計算機硬體、外設、某些支持軟體、資料和人員等其他系統元素及環境結合在一起測驗,在這里我們就可以理解為是UI測驗,另外還要個綜合規律發現得越早修復成本越低,
- 如何使用Python實作自動化測驗?
就語言而言Python實作自動化無非就是呼叫對應封裝好API,
在眾多自動化測驗框架中,針對語言都有對應的封裝 ,但是林林總總,自動化測驗無非就要是分為這幾大型別,我分別指出對應的自動化測驗框架,
1、UI自動化
web自動化:selenium
GUI自動化:autoit
2、介面自動化
urllib2
requests
3、app 自動化
appium
4、單元自動化
和語言有關
看到如上框架,大家肯定會感覺學習自動化,你不僅要熟悉基本的框架內容知識也要對語言有相當的了解,才能真正的實作自動化測驗,所以就引出今天要介紹的自動化測驗框架RobotFramework,
- RobotFramework自動化是不是適合你的境遇?自動化測驗開發面臨的問題
版本迭代的速度很快,迭代的時間很短,自動化測驗開發是時間太短,自動化測驗開發框架開發代價太大,尤其是針對初創團隊,開發框架人力成本太高,
實際的專案,特別是大型專案,功能通常都是非常復雜的,對構建自動化測驗用例也是一種挑戰,
綜上而論,針對部門規模也是有一定界限的,真正實作自動化測驗方式和方法,
對于大型測驗部門,有較強的開發能力可以考慮做一套自動化測驗框架,但是針對小的團隊,還是要選擇輕量級的成熟的自動化測驗框架,
RF特點
1、易于使用,采用表格式語法,統一測驗用例格式,
2、可以使用關鍵字驅動(keyword-driven)、資料驅動(data- driven)和行為驅動開發 (BDD) 完成,
3、重用性好,可以利用現有關鍵字來組合新關鍵字;結果報告和日志
采集HTML格式,易于閱讀,平臺和應用性關聯性,
4、易于集成,提供了命令列介面和基于XML的輸出檔案,
5、易于與版本管理集成,
6、關鍵字單詞化,容易理解,
RF實作的架構圖:

RF代碼示例:

自動化測驗只要用RF一個框架都能夠解決
RF自動化測驗框架是一個融合關鍵字驅動和資料驅動的自動化測驗框架,本身在自動化角度上這種融合化自動化測驗框架,是當前自動化框架發現的整體趨勢,尤其是在作業當中簡簡單單使用一種框架,不能夠滿足作業遇到的需求,
- 自動化如何落地,怎樣日常維護?
在實際的作業中自動化測驗如何落地這個問題也是很大的痛點,往往自動化做了一大堆,卻解決不了在作業中實際問題,自動化存在的價值無非就是兩個方面,一是輔助功能做測驗資料,二是做冒煙測驗和回歸測驗,如果這兩點都沒有做到,自動化測驗是不可能實作真正意義上應用,也談不了節省人工,在實際作業程序中,還有一點也是很重要的一個問題,自動化剛開始做的時候,很重要的一點就是打地基,如果地基打不好,整個框架到后期會發現很多問題暴露出來,往往到最后就會舍棄這個框架,框架的選擇和框架的開發很重要的,要求短期內自動化測驗一定要做出來,可想而知自動化是不可能短期內做出來,架構設計不好,到后期返工可能性會更大,所以這也就決定了自動化前期不是盲目性的,要做好地基,
同樣這樣也引出咱們今天的重點,RobotFramework 自動化測驗框架,一個成熟的自動化測驗框架,而且這個框架背后有Python語言作為擴展,所有Python能夠實作的東西,在這個框架都可以實作,框架很多,在選擇的角度上而言,找一個成熟的框架,把作業的重心放到管理測驗用例上,這個才是做自動化的最高層次,也是最貼切作業的價值和意義,一切推崇高技術含量的東西沒有一點貼近作業的框架都是浪費時間,
技術行業,一定要提升技術功底,豐富自動化專案實戰經驗,這對于你未來幾年職業規劃,以及測驗技術掌握的深度非常有幫助,
金九銀十面試季,跳槽季,整理面試題已經成了我多年的習慣!下面有我近幾年的收集和整理,整體是圍繞著【軟體測驗】來進行整理的,主體內容包含:python自動化測驗專屬視頻、Python自動化詳細資料、全套面試題等知識內容,

對于軟體測驗的的朋友來說應該是最全面最完整的面試備戰倉庫,為了更好地整理每個模塊,我也參考了很多網上的優質博文和專案,力求不漏掉每一個知識點,很多朋友靠著這些內容進行復習,拿到了BATJ等大廠的offer,這個倉庫也已經幫助了很多的軟體測驗的學習者,希望也能幫助到你!
愿你我相遇,皆有所獲! 歡迎關注微信公眾號:【傷心的辣條】 免費領取一份216頁軟體測驗工程師面試寶典檔案資料,以及相對應的視頻學習教程免費分享!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/245651.html
標籤:其他
上一篇:企業架構培訓感悟
下一篇:高并發的寫操作如何對資料庫釋壓
