?因為我最近在分享自動化測驗技術,經常被問到:
功能測驗想轉自動化,請問應該怎么入手?有沒有好的資源推薦?
那么,接下來我就結合自己的經歷聊一聊我是如何在作業中做自動化測驗的,(學習路線和網盤資源放在文末了)3個月是怎么從功能測驗進階到自動化測驗并且漲薪呢?今天我們就來聊一聊
一、什么是自動化測驗
自動化測驗概念:
自動化測驗是把以人為驅動的測驗行為轉化為機器執行的一種程序,通常在設計了測驗用例并通過評審之后,由測驗人員根據測驗用例中描述的規程步步執行測驗,得到實際結果與期望結果的比較,簡言之,自動化測驗就是讓被測驗的軟體自己運行起來,執行軟體的功能,或者就是讓其他的工具自己運行起來,去檢查軟體的內部和外部,
自動化測驗包含自動化和測驗兩個概念:
- 自動化:由程式(或機器、設備等)代替人工自動完成指定目標的程序,
- 測驗:校驗系統是否滿足規定的需求,
- 自動化測驗:讓程式(或機器、設備等)代替人工自動完成系統校驗的程序,那么,機器怎么知道人類的要求?好吧~關鍵點是編程語言,機器學習一個編程語言,輕松和簡單到令人發指的地步:安裝上去,機器就學會了,好在人類學習編程語言也不是特別難的事情,有了編程語言,就有了人機交流的橋梁,剩下的事情,是幫機器挑選工具,做對應的測驗,找到對應的工具,這樣自動化就自動起來了,
總之,自動化測驗引入的原因是就把軟體測驗人員從枯燥乏味的機械性手工測驗勞動中解放出來,以自動化測驗工具取而代之,使測驗人員的精力真正花在提高軟體產品質量本身,盡管自動化測驗可以降低人工測驗的作業量,但并不能完全取代手工測驗,一味追求測驗自動化只會給企業帶來運作成本的急劇上升,
現在我也找了很多測驗的朋友,做了一個技術分享的交流群,共享了很多我們收集的視頻教程和技術檔案,如果你不想再體驗自學時找不到資源,沒人解答問題,堅持幾天便放棄的感受,可以加入我們一起交流,而且還有很多在自動化,性能方面有一定建樹的技術大牛,分享他們的經驗,還會分享很多直播講座和技術沙龍,可以免費學習!劃重點!開源的!!!?qq群號:110685036
自動化測驗優缺點:
?優點:
- (1)提高測驗執行效率,節約時間成本
- (2)解放人力去做更重要的作業;
- (3)可重復利用,建設對人的依賴
- (4)提升客戶滿意度;
- (5)提升測驗團隊的整體水平;
- (6)可大幅度減少兼容性測驗的作業量
- (7)有些測驗作業必須依靠自動化實作來完成,
?缺點:
- (1)開發測驗腳本需要花費較大的時間成本,拉長周期
- (2)產品的快速迭代,自動化腳本也將不斷迭代,時間成本很高
- (3)不同的專案之間自動化腳本的復用度很低
- (4)對短期型專案產品實作自動化價值不高
- (5)自動化無法完全代替手工測驗找到bug,實作100%覆寫
- (6)自動化更多的適用于回歸測驗
- (7)自動化開發程序對軟體測驗團隊的技術有更高的要求,
手工測驗與自動化測驗:
- 手工測驗:手工測驗就是由測驗人員一個一個的執行用例,然后觀察測驗結果是否符合預期,手工測驗一般是基于兩個原因:(1)時間資源不足;(2)技術水平不足,在這些情況下,手工測驗能夠發揮重要的作用,利用手工測驗,我們可以定義測驗,還可以跟蹤測驗,
- 自動化測驗:自動化測驗分為功能自動化和性能自動化,前者是通過測驗工具(或框架)錄制/撰寫測驗腳本,對軟體的功能進行測驗,并驗證測驗結果是否正確,從而代替部分的手工測驗作業,達到節約人力成本和時間成本的目的,后者是通過性能工具來模擬成千上萬的虛擬用戶向系統發送請求,從而驗證系統處理能力,
二、基于我的經驗,送給想要學習自動化測驗的同學6條建議
第一條建議:先學習編程語言,然后再接觸自動化工具,
語言選擇上Java或者Python都是可以的,可以先從Python入手,之后再開始Java,在學習語言的程序中,一定要忘掉你是做測驗的,把自己當成開發,系統的去學相關的編程知識,因為語言水平的高低,很大程度上就決定了自動化水平的高低,
第二條建議:打好基礎,而不是本末倒置的學習自動化測驗工具
不理解http協議,就不會理解loadrunner、fiddler、soapUI這些工具;不理解HTML,就不會理解firebug,所以基礎打好了,才會事半功倍,
第三條建議:清晰的認清自己,明確自己的目標
說白了,咱干什么事情之前肯定要先看看自己有幾斤幾兩對吧,先評估一下自己現在的能力水平,然后再看下自己能夠投入什么樣的資源(精力、時間、資金)去學習,這樣才會知道什么樣的內容自己能夠搞明白,哪個階段要請教大牛,別整到最后越學越迷茫;其次就是認清自己能力之后,就要給自己定好合理的目標,多長時間達到什么樣的水平,
第四條建議:選擇好切入點,設計好對自己幫助最大的方案
- 介面自動化:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins
- web自動化:Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins
- APP自動化:Robotium+Java+TestNG+Jenkins,Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner
- 輔助測驗腳本:以Shell,Python為主來簡化重復的作業,過濾日志等
當然這些都是基本的實作方案,別的先不介紹,如果剛開始接觸,我建議是選擇語言之后,然后從介面測驗入手,然后再學習web和APP自動化,
第五條建議:貪多嚼不爛,學會舉一反三
新手上路,容易著急,啥都想學,這樣就容易混淆,也不好消化,很多地方都是相通的,代碼架構、用例管理、等都可以舉一反三,既可以提升你的學習效率,也不會混淆,最重要的是不能紙上談兵,一定要動手去實踐,
第六條建議:不要受限于工具,多用開源
在測驗行業,自動化測驗工具有很多,但是大公司趨向于用開源的框架和工具,然后定制適合自己的測驗方案,學著用一些開源的例如Webdriver, Appium等去搭建自己的自動化測驗工程,然后掌握整體的自動化作業原理,為以后能夠搭建自己的工具平臺做準備,畢竟搞定自動化,可不是會使用幾個工具那么簡單,
自動化測驗的最高境界:開發測驗工具、設計自動化框架,讓別人用,
三、自動化測驗學習終極路線,從語言入手,搞定自動化測驗
掌握Python或者Java語言,建議先從Python入手
基本的語言知識,語法、函式、模塊、輸入與輸出、面向物件編程
腳本撰寫、標準庫、多執行緒、第三方庫,外部資料處理
unittest、pytest測驗框架、引數化、資料驅動
web端的自動化測驗
selenium安裝、錄制、處理
web控制元件、JavaScript腳本、PO模式
移動端APP自動化測驗
appium使用、錄制、元素定位方法
APP控制元件定位、互動,引數化用例
appium問題定位分析、原始碼分析、二次封裝
服務端介面自動化測驗
介面自動化測驗框架request
介面請求構造、斷言
json/xml請求、回應斷言
headcookie處理、認證體系
自動化測驗從入門到精通
如果你按照這這個學習路線把自動化測驗吃透,那么月薪在15-25K是很輕松的事情,同時具備了代碼能力,也就可以繼續向測驗開發去努力了!
寫在最后:
無論你在測驗團隊中是什么樣的身份,無論你對于自動化測驗是什么樣的認知,也無論你對自動化測驗是愛還是恨,自動化都是你從手工測驗轉為測驗開發的必經之路,
或許你會聽到自動化測驗成本高、效果差、效率低等負面的反饋,但你要清晰的知道,這都不是自動化測驗的問題,對于某種工具,某個方案,最終的效果還是由實施者來去決定的,
我們能夠做到的是正視自動化測驗,找準方法,不斷的提升自己!
另特意為各位同學準備了一份13G的超實用干貨自學資源,涉及的內容非常全面,涵蓋功能測驗、Linux資料庫、Python編程語言,介面測驗、UI自動化測驗、性能測驗......包括軟體學習路線圖,50多天的上課視頻、16個突擊實戰專案(滿足你對測驗經驗的需求),80余個軟體測驗用軟體,37份測驗檔案,70個軟體測驗相關問題,40篇測驗經驗級文章,上千份測驗真題分享,還有2023軟體測驗面試寶典,還有軟體測驗求職的各類精選簡歷,希望對大家有所幫助…這些都在我的軟體測驗學習交流群里:110685036
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551750.html
標籤:其他
上一篇:軟體測驗面試題(帶答案)
下一篇:返回列表
