前一陣子有個小學弟向我訴苦,說自己在參加某大廠測驗面試的時候被面試官懟得啞口無言,場面讓他一度十分尷尬,
印象最深的就是下面幾個問題:
- 根據你以前的作業經驗和學習到的測驗技術,說說你對質量保證的理解?
- 非關系型資料庫和關系型資料庫的區別,談談優勢比較?
- 在自動化方面有什么成熟的方案,有沒有做過二次開發?
- dubbo介面了解嗎,它的測驗核心是什么?
- 質量部如果需要定制化一個質量體系平臺,你會考慮哪些問題?
不到半小時,這位小學弟的面試就結束了,
然后小學弟就收到了“回去等訊息”的通知,結果,他當天晚上就看見面試官發了一條這樣的朋友圈:

小學弟看完很受打擊,就來找了我,今天就來好好掰扯一下“自動化測驗”這個問題吧,
什么是自動化測驗呢?
關于這個問題,可能沒有準確的答案,
普遍認為的是介面自動化測驗,WebUI自動化測驗,App自動化測驗等被冠以自動化命名的測驗方案,
其實不然,自動化測驗是相對于手工而言的,用代碼或是借助于第三方工具,把繁復的測驗作業從手工轉化為機器自動執行的測驗方案,可以統稱為自動化測驗,
除了上面所說的三個方面的自動化測驗,當然還包括日志過濾,日志回放,介面監控,服務監控等等,根據具體業務需求通過代碼把人力從中解放出來的代碼手段,
為什么要做自動化測驗?
從作業角度來說,目前互聯網行業需求迭代非常快,人員流動也比較快,所以一個需求從提出到上線時間比較緊急,同時對于其影響的范圍也可能不太清楚,在上線之前必須對原有功能進行回歸測驗,
不管是介面還是從客戶端,都需要大量的測驗作業,而且在大資料時代,測驗用例量也是非常龐大的,如此繁復單調的作業讓人工來測驗的話,根本不能保證效率和質量,所以必須要借助于非人工手段來實作,
從個人發展方面來講,時代在發展,對我們的要求也越來越高,所以我們要迎接變化,不斷提升自己才行,雖然你可以堅持手工測驗是基礎,是王道,可是并沒有企業愿意為你這個信念買單,
除非你生活無憂無慮,可以堅持自己的信念,否則你就要尊重業界發展的規律,不斷充電從而使自己更有價值,或許再過幾年,自動化測驗會成為從業者的準入門檻,如果做不好自動化測驗,所謂的高薪也就無從談起,
那該如何學習自動化測驗?
既然自動化測驗是手工測驗提升的一個必經之路,雖然自動化測驗沒有那么高大上,但也是必不可少的,那作為一個有理想的測驗人員,應該如何去學習自動化測驗呢?
(1) 準確定位自己,明確目標
有不少同學意識到了自動化測驗的重要性,就去網上查詢資料啊,或是報培訓班學習啊,可是到最后越學越迷茫,處于會與不會之間,前路不知如何去走?這是什么原因呢?
這是因為你在學習自動化測驗之前沒有想明白幾個問題:我的真實水平如何?如果學習一項新的技識訓是語言,我愿意投入的精力是多少?從現在開始學習,三個月或是半年后應該達到什么目標?我了解現在業界的自動化測驗型別或是體系嗎?想好這些問題再去入手學習或培訓,必定事半功倍,
(2) 全面了解,選好切入點
目前自動化測驗方向大概有以下幾個:
-
A、輔助測驗腳本方向:以Shell,Python為主來簡化重復的作業,過濾日志等;
-
B、介面自動化測驗方向:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins,當然還有很多其他二次開發的框架或工具,不過核心是一樣的;
-
C、頁面自動化方向,主要有Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins,以及其他的框架和工具;
-
D、App自動化測驗方向:以Robotium+Java+TestNG+Jenkins, Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner為主,
當然這里介紹的都是簡單的,最基本的實作方案,作為入門學習比較合適,其他五花八門的二次開發的框架,包含眾多功能的方案留待你以后提升,先從這幾方面了解入手,選擇一個語言體系,建議從介面自動化入后,然后再去學習頁面和app,
(3) 步步為營,不要貪多
我們在提升自己的時候,發現有好多東西需要學習,于是就很著急,想同時學習很多東西,其實這并不好,學的太多容易產生混淆,而且不容易消化,你仔細調研一下就會發現,很多東西都是通著呢,代碼架構,用例管理,執行策略,持續化集成思想都可以舉一反三,關鍵是自己要動手真正實施起來,在公司現在的框架上寫用例,不管你寫多少,不了解整體結構都是沒有用的,
(4) 拋棄工具,多用開源
業界好像從來不缺少自動化測驗工具,QTP,RealobotFramework,LoadRunner等等,知名不知名的數不勝數,先不說這些工具效果如何,目前大公司是從來不用這些工具的,大家都使用開源的框架,工具進行定制化自己的測驗方案,
所以剛剛學習自動化測驗的時候,也不要依賴工具,使用開源Webdriver,Appium,Robotium等搭建自己的自動化測驗工程,掌握一個整體的自動化工程作業原理,為以后搭建自己的自動化工程,工具,平臺做準備,
不管你對自動化測驗是愛,是恨,它都是從手工測驗轉為測驗開發必經的階段,可能你了解到自動測驗沒有用,實施起來維護成本高,執行效率低等負面資訊,其實這不是自動化測驗的問題,
要知道,它只是一個工具,一種測驗方案,最終的效果還是由實施的人來決定的,在12,13年的時候,用Jenkins做持續化集成比較熱門,接下來幾年好像沒有那么火了,但是近兩年docker技術的出現,又使CI,CD變得火熱起來,我們是不是應該端正對自動化測驗的態度,明確什么才是你想要的,找準方法,不斷提升自己呢?
自動化測驗學習路線圖

相信看到這里的,不管是新手還是前輩,都對自動化測驗有了一個大體的認知,希望這篇文章能幫助新人更好地了解軟體測驗行業,也同樣希望這篇文章同樣能幫助已經有幾年測驗經驗的前輩們做好自己的職業定位,確定未來的發展方向以及做好技術沉淀,
不管你是否選擇軟體測驗行業,是否決定在測驗行業繼續發展,是否是軟體測驗人員,我都希望本文能夠幫助到需要幫助的人,如果確實對你有幫助,我將感到非常開心,最后我也收集和整理了一份自動化測驗資料,有需要的小伙伴可以關注公眾號:程式員二黑,免費獲取!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/392186.html
標籤:其他
