成都醫(yī)院做網(wǎng)站建設太原seo排名收費
如何使用Python實現(xiàn)自動化測試
如果你入職一家新的公司,領導讓你開展自動化測試,作為一個新人,你肯定會手忙腳亂,你會如何落地自動化測試呢?資深測試架構師沉醉將告訴你如何落地自動kan化測試,本次話題主要分為如下幾部分內(nèi)容:
1、什么是自動化?
2、分層自動化又是什么?
3、如何使用Python實現(xiàn)自動化測試?
4、RobotFramework自動化是不是適合你的境遇?
5、自動化落地成功,怎樣日常維護?
什么是自動化?
有很多人做了很長時間的自動化但卻連自動化的概念都不清楚,這樣的人也是很悲哀,做這樣的職業(yè),卻連最基本的概念都不清楚。我給大家列舉出來如下(引自《軟件評測師第69頁》):
自動化測試的定義:
自動化測試就是通過測試工具或者其他手段,按照測試工程師的預定計劃對軟件產(chǎn)品進行的自動的測試,它是軟件測試的一個重要組成部分,它能夠完成許多手工無法完成或者難以實現(xiàn)的一些測試工作。正確、合理地實施自動化測試,能夠快速、全面地對軟件進行測試,從而提高軟件質(zhì)量,節(jié)省經(jīng)費,縮短產(chǎn)品發(fā)布周期。
如上就是自動化測試標準概念,概括而言,無非就是使用自動化的手段代替人工,但是不是完全代替人工,在這里我不得不指出一個誤區(qū),有的人不了解自動化的含義,尤其是一些領導層,認為自動化是萬能的,只要自動化做出來,功能測試就可以完全解放了,即使自動化腳本寫的再智能,也不可能完全代替手工,并且自動化所耗費的人力也是對于整個項目組很大的開支。所以自動化測試不是萬能。
自動化測試的概念引出后,咱們也要介紹一下自動化所包含的種類,在市面上最流行的自動化包括如下種類。
1、UI自動化
2、接口自動化
3、app 自動化
4、單元自動化
5、自動化測試工具(測試開發(fā)輔助工具)
種類很多,是不是所有的自動化種類都要在項目開展,這就引出我們新的觀點,什么是分層自動化?
分層自動化又是什么?
先上張圖
先來談談我在工作中看到的自動化測試的誤區(qū):
1、自動化測試腳本在完成后因為產(chǎn)品更新導致大量測試用例失效,由于團隊忙于新功能開發(fā),當失效的用例積累越來越多時,這些測試用例就慢慢失去維護。如果開發(fā)這些用例同學在的時候可能還好辦。
2、大量的自動化測試腳本沒有發(fā)現(xiàn)問題,上線后仍然問題不斷。在測試中我們主要針對正常流程進行測試,但是在線上出故障的都是非正常流程。
3、代碼質(zhì)量問題嚴重。很多人寫的單元測試只是構造一個輸入然后檢查返回值,結(jié)果是測試通過了但是問題卻遺漏了。
4、重復輪子制造。大量的團隊都在開發(fā)自己的自動化測試框架,實際上只是對各種開源框架進行裁剪完善。
分層測試包含如下幾個層次:
1、單元測試:開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。
2、集成測試:也叫組裝測試或聯(lián)合測試。在單元測試的基礎上,將所有模塊按照設計要求(如根據(jù)結(jié)構圖〕組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。在這里我們可以認為就是接口測試。
3、系統(tǒng)測試:將需測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素及環(huán)境結(jié)合在一起測試。在這里我們就可以理解為是UI測試。另外還要個綜合規(guī)律發(fā)現(xiàn)得越早修復成本越低。
如何使用Python實現(xiàn)自動化測試?
就語言而言Python實現(xiàn)自動化無非就是調(diào)用對應封裝好API。
在眾多自動化測試框架中,針對語言都有對應的封裝 。但是林林總總,自動化測試無非就要是分為這幾大類型,我分別指出對應的自動化測試框架。
1、UI自動化
web自動化:selenium
GUI自動化:autoit
2、接口自動化
urllib2
requests
3、app 自動化
appium
4、單元自動化
和語言有關
看到如上框架,大家肯定會感覺學習自動化,你不僅要熟悉基本的框架內(nèi)容知識也要對語言有相當?shù)牧私?#xff0c;才能真正的實現(xiàn)自動化測試。所以就引出今天要介紹的自動化測試框架RobotFramework。
RobotFramework自動化是不是適合你的境遇?自動化測試開發(fā)面臨的問題
版本迭代的速度很快,迭代的時間很短,自動化測試開發(fā)是時間太短。自動化測試開發(fā)框架開發(fā)代價太大。尤其是針對初創(chuàng)團隊,開發(fā)框架人力成本太高。
實際的項目,特別是大型項目,功能通常都是非常復雜的,對構建自動化測試用例也是一種挑戰(zhàn)。
綜上而論,針對部門規(guī)模也是有一定界限的,真正實現(xiàn)自動化測試方式和方法。
對于大型測試部門,有較強的開發(fā)能力可以考慮做一套自動化測試框架,但是針對小的團隊,還是要選擇輕量級的成熟的自動化測試框架。
RF特點
1、易于使用,采用表格式語法,統(tǒng)一測試用例格式。
2、可以使用關鍵字驅(qū)動(keyword-driven)、數(shù)據(jù)驅(qū)動(data- driven)和行為驅(qū)動開發(fā) (BDD) 完成。
3、重用性好,可以利用現(xiàn)有關鍵字來組合新關鍵字;結(jié)果報告和日志
采集HTML格式,易于閱讀。平臺和應用性關聯(lián)性。
4、易于集成,提供了命令行接口和基于XML的輸出文件。
5、易于與版本管理集成。
6、關鍵字單詞化,容易理解。
RF實現(xiàn)的架構圖:
RF代碼示例:
自動化測試只要用RF一個框架都能夠解決
RF自動化測試框架是一個融合關鍵字驅(qū)動和數(shù)據(jù)驅(qū)動的自動化測試框架,本身在自動化角度上這種融合化自動化測試框架,是當前自動化框架發(fā)現(xiàn)的整體趨勢。尤其是在工作當中簡簡單單使用一種框架,不能夠滿足工作遇到的需求。
自動化如何落地,怎樣日常維護?
在實際的工作中自動化測試如何落地這個問題也是很大的痛點,往往自動化做了一大堆,卻解決不了在工作中實際問題,自動化存在的價值無非就是兩個方面,一是輔助功能做測試數(shù)據(jù),二是做冒煙測試和回歸測試,如果這兩點都沒有做到,自動化測試是不可能實現(xiàn)真正意義上應用,也談不了節(jié)省人工。在實際工作過程中。還有一點也是很重要的一個問題,自動化剛開始做的時候,很重要的一點就是打地基,如果地基打不好,整個框架到后期會發(fā)現(xiàn)很多問題暴露出來,往往到最后就會舍棄這個框架。框架的選擇和框架的開發(fā)很重要的,要求短期內(nèi)自動化測試一定要做出來,可想而知自動化是不可能短期內(nèi)做出來,架構設計不好,到后期返工可能性會更大。所以這也就決定了自動化前期不是盲目性的,要做好地基。
同樣這樣也引出咱們今天的重點,RobotFramework 自動化測試框架,一個成熟的自動化測試框架,而且這個框架背后有Python語言作為擴展,所有Python能夠?qū)崿F(xiàn)的東西,在這個框架都可以實現(xiàn)。框架很多,在選擇的角度上而言,找一個成熟的框架,把工作的重心放到管理測試用例上,這個才是做自動化的最高層次。也是最貼切工作的價值和意義。一切推崇高技術含量的東西沒有一點貼近工作的框架都是浪費時間。
技術行業(yè),一定要提升技術功底,豐富自動化項目實戰(zhàn)經(jīng)驗,這對于你未來幾年職業(yè)規(guī)劃,以及測試技術掌握的深度非常有幫助。
金三銀四面試季,跳槽季,整理面試題已經(jīng)成了我多年的習慣!下面有我近幾年的收集和整理,整體是圍繞著【軟件測試】來進行整理的,主體內(nèi)容包含:python自動化測試專屬視頻、Python自動化詳細資料、全套面試題等知識內(nèi)容。
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!有需要的小伙伴可以點擊下方小卡片領取?