前兩天,我的一個朋友去阿里面試,跟我聊天時說:輸的很徹底…
-
我問她:什么情況?
-
她說:很后悔這5年來一直都干的是功能測驗…
相信許多測驗人也跟我朋友一樣,從事了軟體測驗很多年,確依然只會基礎的功能測驗,不知道該怎么進一步學習?
下面是知乎的一個問題,也反應了大家的問題,那么該如何破局?
作為在測驗行業摸爬滾打十年的測驗人,簡單粗暴告訴你,破局的方法就一個,那就是進階自動化測驗,
為什么?
做過測驗的都知道,目前企業對于測驗的要求越來越高,占比最大的手工測驗或者最基本的功能測驗已經無法滿足企業的需求,
原因是手工測驗的效率低下,而且無法發現系統底層的一些問題,更多的站在應用層面進行驗證功能是否正常,
如果繼續在企業中做手工的基礎測驗,在未來的時間內注定被淘汰(很不幸,朋友就是只會功能測驗面試失敗了),
所以如果想繼續有好的發展,自動化測驗甚至測驗開發已經成為測驗人員需要具備的必備技能了,

在許多互聯網的大廠,軟體測驗的崗位招聘目前只招自動化測驗和測驗開發,而且這些崗位的共性就是技術能力較強,基本都需要具備較強的編碼能力,從企業的需求來看,自動化測驗的缺口還是蠻大的,而且很難招聘到符合要求的自動化測驗人員,
基于企業的需求,一線城市自動化測驗的平均薪資基本在18K/月左右,未來自動化測驗會是作為測驗人員主流方向,對于技術的追求程度及全面性會越來越高,所以具備自動化測驗的技能顯得尤為重要,

那么我們該如何學習自動化測驗?
接下來我將按照自動化的三大構成來給大家展開,希望能對大家有用,
這里也推薦一個學習交流群:785128166,如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,那就加入我們,里面有各種軟體測驗資源和技術討論,
自動化構成:
自動化測驗在當前市場上應用非常廣泛,主流有介面自動化測驗和UI自動化測驗,在此基礎上,加上持續集成,就能實作全自動化測驗,接下來我將按照自動化的這三個主要構成來給大家詳細介紹自動化:
- 一、介面自動化測驗
- 二、UI自動化測驗
- 三、持續集成
一、介面自動化測驗
目前市場上大部分專案,都是前后端分離的專案,由此產生了大量的介面,而介面自動化測驗,主要是對介面進行測驗,
那么,咱們應該怎么進行介面自動化測驗呢?這里這幾個知識點和工具,必須掌握,
1、HTTP和HTTPS協議
在主流程的介面測驗中,又有大量介面是基于HTTP協議實作,資料安全用HTTPS協議進行保障,所以HTTP和HTTPS協議必須掌握,
2、介面檔案
在實際作業中,介面的資訊的載體除了代碼,那就是介面檔案了(開發人員提供),了解介面檔案的結構、內容和規范可以幫助我們深度參與介面測驗以及介面自動化測驗,
3、介面測驗工具
Jmeter和Postmanmeter是近幾年興起的介面測驗工具,它最大的特點就是免費開源,容易學習,
4、Mock測驗
在自動化測驗中,不是所有的功能都適合自動化測驗,對于一些難以處理的測驗點,我們不得不使用Mock技術來模擬,登錄和注冊介面中,密碼的MockMock支付環境Mock支付密碼Mock驗證碼(圖片驗證碼、滑塊驗證碼、人臉識別等、短信驗證碼等等)
5、總結
掌握這幾個知識點后,對于HTTP協議的介面自動化測驗,完全可以掌握和應用;甚至還可以進行小規模的介面性能測驗,
二、UI自動化測驗
UI自動化測驗的成本比介面測驗要高,主要原因不是技術實作難度高,而是因為UI是對接用戶的終端界面,它是調整最頻繁,改動最劇烈的部分,所以維護成本高,
那么我們不需要進行UI自動化測驗了嗎?恰恰相反,對一些大型專案,其功能是處于不斷地迭代地,雖然界面在調整,但是由于專案周期長,在開發和測驗程序中,需要頻繁使用自動化測驗的腳本進行回歸測驗,可以提高自動化測驗的利用率,提高作業效率,降低作業成本,
而且,UI自動化測驗中,有一種很關鍵的思想,叫做“關鍵字驅動”測驗,專門用來解決UI自動化測驗腳本開發和維護的問題,
那么怎么學習UI自動化測驗呢?
在這里,我們可以先學習Web自動化測驗,再學習App自動化測驗,
1 、Web自動化測驗
這里推薦Selenium工具和Robot framework
推薦理由:Selenium和Robot framework是世界上排名前十的自動化測驗工具(不區分UI自動化和介面自動化)
1.1 Selenium
Selenium主要是進行Web自動化測驗,同時在手機APP自動化測驗中,有一些測驗框架也是基于Selenium來實作,如果要進行Web自動化測驗,學習selenium是不二之選,
優點
- 跨平臺、跨語言
- 支持多種瀏覽器
- 支持移動端測驗
- 插件多,擴展性強
缺點
- 不能直接生成測驗報告
- 不能識別動態圖片
掌握Selenium后,那么就掌握了主流的Web自動化測驗,
學習Selenium的方法
- 先掌握手工功能測驗,理解測驗的功能業務
- 再學習HTML、CSS、JS這三大知識
- 第三學習Selenium測驗框架
- 最后學習PO分層管理的思想
1.2 Robot framework
Robot Framework是python語言撰寫的功能自動化測驗工具,具有良好的擴展性,支持關鍵字驅動,支持同時測驗多種型別的客戶端或者介面,還可以進行分布式測驗,
優點
- 關鍵字驅動測驗
- 可以重復利用
- 易擴展
- 支持HTML測驗報告
- 有龐大的測驗庫提供支撐(支持web、手機、windows客戶端、資料庫、HTTP測驗等)
缺點
- 界面操作共性問題:用例龐大時會很卡
- 有一些BUG,例如匯入測驗庫時會卡死
學會了Robot Framework的使用,那么就掌握了關鍵字驅動技術,
1.3 總結
Selenium和Robot framekwork 兩者如果都能夠掌握,那么無論是主流的Web自動化測驗,還是其他UI的自動化測驗,都能夠有自己的心得,并且在市場中占有一席地位,
2 App自動化測驗
2.1 應該選擇哪款工具?
我們先看一組資料(主流):

支持的功能資料(TesterHome得到)

由上面兩個圖,可以發現,Appium無論是在市場利用率,還是在功能上,都比其他工具要強,
而且,Appium不僅支持安卓還支持iOS,所以在這里,我們應該選擇學習Appium最能滿足市場的需要,
2.2 Appium學習方法
官網:http://appium.io/

三、持續集成
1、什么叫持續集成?
我們假想一個場景,現在一個測驗工程師把自動化腳本都撰寫好了,但是這位大佬還是需要每天上班點擊“開始“運行腳本,而且當開發提交新的版本時,也需要重新運行自動化腳本,
那么可以不可以讓這個自動化腳本,自動的運行,并且在開發每次發布版本之后,自動的執行呢?當然可以,這就是持續集成,
要學習持續集成,我們首先推薦jenkins,
2、什么是持續集成工具Jenkins?
Jenkins工具是JAVA撰寫的開源工具,無論是擴展性,還是實用性,都非常好,很多中小型公司都是用jenkins進行持續集成,一些大型公司也是在jenkins的基礎上進行的二次開發,
3、如何學習Jenkins
理解CI和CD的概念
- CI:持續集成(把多個開發撰寫的代碼,集成在代碼倉庫,自動進行單元測驗,并回傳結果)
- CD:持續交付(把集成的代碼,自動的構建、部署、測驗、發布,并回傳各個階段的結果)
要實作這些程序,我們需要拆分學習
- 集成代碼
- 單元測驗
- 構建代碼
- 部署代碼
- 測驗代碼
- 發布代碼
- 發送測驗結果
- 使用Jenkins整合這些程序
要想把持續集成學好,光靠Jenkins這個工具其實還遠遠不夠,我們甚至需要深入到架構設計、開發、測驗、運維才能很好的進行,
四、總結
其實自動化測驗是一個非常廣泛的技術,要想深入精通到更行各業,需要至少5年的鉆研才能精通,熟練到一定級別,甚至做上技術總監也不是沒有可能,
對于測驗來講,測驗的作業其實相對是輕松,技術難度也不是特別高,所以大家在做測驗期間,一定要持續學習,持續集成,才能進步,實作自我的價值,
最后也分享一份測驗資料:
以上內容,對于軟體測驗的朋友來說應該是最全面最完整的備戰倉庫了,為了更好地整理每個模塊,我也參考了很多網上的優質博文和專案,力求不漏掉每一個知識點,很多朋友靠著這些內容進行復習,拿到了BATJ等大廠的offer,這個倉庫也已經幫助了很多的軟體測驗的學習者,希望也能幫助到你,如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們扣扣群【785128166】,里面有各種軟體測驗資源和技術討論,
機會只垂青有準備的人,這是一個靠本事的社會,有時候,你之所以發展得不好,不是因為沒有機遇,而是因為你沒有準備好,導致機遇與你擦肩而過,如果你想要學習,什么時候開始都不晚,而不是瞻前顧后,你只要用盡全力,剩下的交給時間!
加油吧,測驗人!路就在腳下,成功就在明天!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/353161.html
標籤:其他
