很多朋友都在想,做軟體測試有沒有捷徑可以走,有沒有什麼絕招?

程序员一凡發表於2020-09-30

最近一直有同學問我:測試,測試開發,有沒有速成的方法呢?

我的答案是肯定的:堅決沒有速成之道,但有提升捷徑!!!

一,測試工作中浮躁的現象

前兩三年的時候,測試行業忽然就火了起來,測試培訓也比較多。於是大家就有這個看法,不管以前是做什麼工作的,技術水平如何,透過一兩個月的培訓,就能很好地完成測試工作。誠然,測試行業入門比較容易,會一些測試方法,理解能力沒有問題就能進入測試行業。但是你要認為透過培訓,自己的測試能力就很牛的話,那就有點不切實際了。主要表現如下:

(1)透過學習測試,認為自己掌握了測試的所有能力,表現的牛氣哄哄,其實所有的東西僅限瞭解,完全不會使用。

(2)基本能力較差,還不能深入學習。不會編碼,僅僅藉助於工具,想輕鬆實現較複雜的工作,結果反而事得其反。

(3)在工作中不會學習和成長,對於基本的常識性的知識,不會透過網路查詢學習,常常拿著常識性的問題去請教,結果造成大家認為你能力較差,並且不願意教你。

二,測試行業入門容易,成長不易

測試不僅僅是點點點,現在大家已經意識到這一點。同時先前的理念,黑盒測試,白盒測試,灰盒測試也不存在了,現在的測試分為:功能測試,效能測試,安全測試,自動化測試,測試開發,高階測試開發,資深測試開發,測試架構師等。暫且不說從一種測試向另一種測試的難度較大,需要掌握的知識較多,只說一種測試也是不你想象中的那麼簡單。

以功能測試為例,我們大部分同學都是從功能測試入手開始測試工作的。功能測試是什麼?根據需求編寫測試用例,然後執行測試用例,發現 bug 提交 bug,等開發同學修改完 bug 後再驗證修復情況,最後做一個沙箱迴歸,上線再做線上迴歸。這恐怕是絕大多數同學的認識,如果你按這個認識來進行工作的話,工作十幾年也不會有所成長的。我曾經面試過一個工作了十年的同學,十來年都是這樣工作的,現在想換工作了,卻處處碰壁。

前一段時間,我設計了一個 “功能測試知識體系和技能大全” 系列課程,介紹了一下功能測試需要做的工作和掌握的能力,雖然不能說非常全面吧,但也是相對來說較完善的:

(1)如何參與需求評審,並準確確定測試方案

(2)編寫覆蓋全面的測試用例設計與進行高效用例評審

(3)測試準備與環境部署 -- 測試前置

(4)如何提出優質的 bug 與 bug 管理

(5)資源協調與跨部門溝通技巧

(6)測試環節如何引入技術方案

(7)如何做專案總結與彙報

(8)測試人員如何管理專案與風險預警

希望你能思考一下,自己的功能測試做的如何?每一種測試都是一個完整的知識體系,不能學會了劈柴,就認為自己是掌握了木工技巧!由此可以推出其他的測試,效能測試,安全測試,自動化測試等,我們是僅僅瞭解大概,還是掌握了對應的技巧呢?

三,編碼能力,測試開發進階必經之路

有不少同學認為,測試要求比較低,編碼能力不足也能勝任。其實這只是國內的現象,在國外測試的編碼能力,架構能力必須比開發要強,否則你怎麼能發現開發的錯誤呢?雖然國內現狀是測試能力比開發能力弱,但是這是兩個不同的技術發展方向;開發是縱向發展,他們需要把相應的程式碼研究的比較深入才行,而測試是橫向發展,需要把知識掌握的比較全面。

有人認為作為測試人員,能不學習程式碼而透過測試工具就能去做測試開發工作。其實,藉助於一些常用的測試工具,如 robot framework, QTP, Katalon Studio,可以實現自動化測試,但是你有沒有發現大公司一般是不使用現成的測試工具的。測試工具或是測試框架,為了通用性,相容的場景比較多,對你們公司的業務適應就不一定較好。所以很多公司比較喜歡對開源的框架做二次開發,以更好的適應自己的工作需要,從而最大化地提高工作效率。不要幻想著不學習任何語言,藉助於工具做測試開發,這個路是行不通的,也是走不遠的。測試需要掌握的語言不必太多,python, java 即可,也不需要學習的很深,掌握基本的資料型別,函式,類的操作就行,其他高深一點兒的技術用到時候再學也不晚。

四,測試開發進階捷徑

在武俠小說中,打通了任督二脈後,學習什麼武功都比較快。測試行業有沒有這樣的方法呢?我們開篇就說了,測試開發沒有速成寶典,但是有提升的捷徑,如果現在還不介紹一下,就有點兒不厚道了。網際網路行業,是一個需要不斷學習和提升的行業,你永遠不可能用一項能力工作上好幾年的。你一定要有終身學習的理念,再加上以下幾個建議,就能輕鬆提升:

(1)認清自我,瞭解自己所處的階段

認清自己現在是什麼水平,具備什麼能力,然後有針對性的提高。比如說,剛剛進入測試行業,就需要踏踏實實地做功能測試,花上一年的時間來全面瞭解功能測試是如何做的。然後再去了解一下測試行業大家是如何做的,你想提升,應該從哪兒入手?不能測試用例還寫不全,就想去做自動化,“才吃三天素,就想上西天” 的想法是不可取的。

(2)打好基礎,學習一門語言

如果你想在測試行業有所發展,不安於天天點點點的功能測試工作,那就踏實地學習一門語言,python,java 均可。學習語言的時候,無論你是透過看書,還是透過網上的教程來學習,必須動手寫程式碼。只有透過反覆地編碼,才能掌握一門語言,除此之外,別無他法。永遠不要幻想,不學習編碼語言,就能在測試行業發展很好。

(3)明確發展路線,定好發展目標

測試的發展和提升是有路線可尋的,你可能遇到過測試行業的大牛,他們的牛 X 點都不相同,其實只是側重點不同,基本的路徑也是一致的。你先要明確一下自己的發展路徑,根據現在的能力,工作情況,生活階段,制定好發展目標,分階段地進行提升,不可貪多。比如說,先學習 python,然後學習 python 版本的介面自動化,然後是 WebUI 自動化,App 自動化等等,不可同時學習多個語言,或是多個技能,那樣容易造成混亂的。

(4)提升有技巧,善於藉助於外力

在上高中的時候,我意識到了物美價廉幾乎是不可能的,幾十塊錢的衣服是不可能和幾百塊的相比的。現在工作後,想讓同事心甘情願地教你技術也是不可能的,所以我們就需要一些技巧與其拉近關係。同時透過看書學習,透過看影片學習也是非常好的學習手段,但是想完全透過免費的東西學到實用的技能也是很難的,大家都學習也就完全沒有競爭優勢。如何平衡時間與金錢,如何分析投入產出比,相信大家都有自己的一杆秤的。我通常比較善於利用各種資源來提升自己,透過提升,相應的薪資待遇也達到了理想的水平,相信你也可以的!

五,總結

經過最近和同學們的聊天,發現大家有點兒浮躁,想在測試行業進行速成。針對這種情況,我進行了全面的分析,測試開發沒有速成之道,但是有提升技巧。只有掌握了相應的技巧,不斷地學習和提升,每天提升一點點,最終能達到你想要的水平,進而得到相應的薪資待遇,過上悠閒的生活的喲!

有人喜歡創造世界,他們做了開發者;有的人喜歡開發者,他們做了測試員。什麼是軟體測試?軟體測試就是一場本該在使用者面前發生的災難提前在自己面前發生了,這會讓他們生出一種救世主的感覺,拯救了使用者,也就拯救者這個軟體,避免了他們被解除安裝的命運。

相關文章