軟件測試人員怎么快速讓自己牛逼起來?大概要多久才能很牛逼?

本篇轉(zhuǎn)載自黑馬測試高贊知乎文章:https://www.zhihu.com/question/27344791/answer/1462142979

任何牛逼的人背后自有牛逼的知識體系,你要想自己牛逼,就得先了解什么是牛逼的知識體系。所以想做一個(gè)牛逼的測試人員,最快速的方法就是先要知道牛逼的底層的知識體系是什么。
一、什么是牛人應(yīng)該具備的知識體系?
1.普通人的知識體系是怎樣的
查理·芒格曾經(jīng)用“逆向思維”確定了什么是普通人的知識體系:那就是缺乏縱深、單一化和松散無聯(lián)系。
先說第一個(gè),缺乏縱深。這點(diǎn)很好理解,你想,一個(gè)人知識面再廣,至少也應(yīng)該在某一點(diǎn)上是比較深入的吧。要是你什么都知道一點(diǎn),但也什么都理解得不夠深刻,那你就會(huì)發(fā)現(xiàn),很難打通現(xiàn)象和底層規(guī)律之間的通道。這樣的話,我們在社會(huì)上的競爭力就會(huì)很弱。
再說第二個(gè),單一化。單一化的知識體系會(huì)造成狹隘的視野。舉個(gè)例子,大家都聽過一個(gè)品牌叫無印良品,這家公司在做員工管理的時(shí)候發(fā)現(xiàn)了一個(gè)問題,長期做銷售的人會(huì)認(rèn)為“產(chǎn)品賣得好,主要是銷售的功勞”,而長期做產(chǎn)品研發(fā)的人呢,會(huì)認(rèn)為“產(chǎn)品賣得好,主要是是產(chǎn)品質(zhì)量好,銷售不怎么重要”。顯然這兩種看法都很片面,這就是單一化。
還有第三個(gè),松散無聯(lián)系。就像任意堆積的衣服一樣,不去整理它們。長此以往,不僅增大了你的認(rèn)知負(fù)荷,也容易讓你形成松散凌亂的知識體系。
而這3大特點(diǎn),正是我們大多數(shù)人的知識體系,所以我們是普通的平凡人。
2.牛逼人的知識體系是什么樣的?
其實(shí)一個(gè)好的知識體系符合這樣一個(gè)特征,宏觀上看像是字母 T,而在微觀層面看又像字母 Y。
為什么說宏觀上看像 T?
其實(shí)就是說,好的知識體系是在某一專業(yè)上縱深,比如在測試領(lǐng)域,縱深就包含功能測試,自動(dòng)化測試,性能測試,測試開發(fā)….,一路上升級打怪。但同時(shí)具有多學(xué)科的廣泛視野,這不就像字母 T 嗎?大多數(shù)人都只使用自己學(xué)過的某一個(gè)思維模型。比如說經(jīng)濟(jì)學(xué),那他就會(huì)試圖用這一種方法來解決所有問題。就像諺語說的,“如果你的手里拿著鐵錘,那你會(huì)覺得整個(gè)世界都像一顆釘子”。這其實(shí)是處理問題的一種笨方法,一般也很難取得理想的效果。
接下來我們再說說微觀層面為什么又像字母 Y?
比如你在做設(shè)計(jì),也許你只是使用了設(shè)計(jì)方面的知識。而 Y 型知識架構(gòu)就是說,你不能只使用單一知識,還要將其他類型的知識合并進(jìn)來一起使用。比如,設(shè)計(jì)加認(rèn)知科學(xué)就是一種很棒的 Y 型知識架構(gòu)。如果你想設(shè)計(jì)一張海報(bào),提前考慮受眾應(yīng)該優(yōu)先獲取什么信息?會(huì)有什么樣的情緒反應(yīng)?是不是符合用戶的預(yù)期?能不能引發(fā)他們的好奇?他們能不能無需思考就知道如何行動(dòng)?想想看,一個(gè)設(shè)計(jì)師如果了解人的認(rèn)知規(guī)律,哪怕只是一些基礎(chǔ)原理,設(shè)計(jì)出的作品都會(huì)比不了解的好很多。
所以說,Y 型知識架構(gòu)強(qiáng)調(diào)的就是在微觀應(yīng)用層面,你需要將兩種學(xué)科以上的知識刻意合并使用。為什么說要“刻意”?因?yàn)閷Υ蟛糠秩藖碚f,做自己擅長的工作的話,他就會(huì)陷入常規(guī)套路當(dāng)中,如果不是刻意,很難加入其它學(xué)科知識。
3、總結(jié)
好,我們來總結(jié)以上的內(nèi)容:我們借用了查理·芒格的逆向思維方法,在分析了什么是“壞的”知識體系后,又基于查理·芒格的“多元思維模型”,又提出了什么是“好的”知識體系。并且指出,想構(gòu)建的好的知識體系有三個(gè)步驟:一、到縱深的知識點(diǎn);二、建立多元學(xué)科的知識體系;三、合并交叉地使用知識。

二、結(jié)合牛人的思維體系和個(gè)人經(jīng)驗(yàn),介紹測試人員如何才能牛逼
很多人覺得測試人員主要工作就是執(zhí)行用例、提bug、跟蹤bug、復(fù)現(xiàn)bug,比較少的涉及代碼,技術(shù)能力不強(qiáng),所以覺得測試人員不夠牛逼,在項(xiàng)目組中不夠有話語權(quán)。
如果想讓自己在測試領(lǐng)域變的牛逼,結(jié)合牛人的思維體系和自身個(gè)人經(jīng)驗(yàn)來說,可以從如下三個(gè)方面來努力:
一、要成為牛逼測試人員,就要爭取在測試領(lǐng)域做非常有深度
常見的測試工作,包含如下環(huán)節(jié):編寫測試計(jì)劃 — 編寫測試方案 — 編寫測試用例 — 測試執(zhí)行 — 提交測試報(bào)告
(1) 編寫測試計(jì)劃的時(shí)候,除了分配人力和安排時(shí)間外,還要能提前識別出項(xiàng)目組中可能的人力、技術(shù)等風(fēng)險(xiǎn),協(xié)調(diào)好項(xiàng)目中的時(shí)間及各種轉(zhuǎn)測、測試通過的標(biāo)準(zhǔn),既要與項(xiàng)目組其他部門達(dá)成一致又要充分保證測試組的權(quán)益。
(2) 編寫測試方案的時(shí)候,能識別出項(xiàng)目中各個(gè)功能模塊的重點(diǎn)和難點(diǎn),制定對應(yīng)的測試策略,并對比業(yè)內(nèi)的測試工具,選擇最適合的測試工具。
(3) 編寫測試用例的時(shí)候,考慮用例怎么能覆蓋得更全面,能發(fā)現(xiàn)別人發(fā)現(xiàn)不了的bug,能發(fā)現(xiàn)更多的bug。真正想寫好測試用例,除了要熟悉界面功能,還要比開發(fā)更懂業(yè)務(wù),要有全局觀。
(4) 測試執(zhí)行時(shí),除了手工執(zhí)行功能測試以外,自動(dòng)化執(zhí)行、性能測試執(zhí)行、安全性測試等是否都能上手
(5) 做完前面的,測試人員編寫測試報(bào)告,項(xiàng)目就可以發(fā)布上線了。這時(shí)雖然能上線,但是潛在的風(fēng)險(xiǎn)能不能識別出來;分析項(xiàng)目進(jìn)度、bug數(shù)量、bug類型、bug分布,分析這次項(xiàng)目中有沒有可以改進(jìn)的地方,可以學(xué)習(xí)的地方,能否推動(dòng)后續(xù)改進(jìn)落地。

其實(shí)能做到上述幾點(diǎn),基本上可以是一個(gè)中高級的測試工程師了。不過優(yōu)秀(“牛逼”)的測試工程師可能不滿足于此。
2、要成為牛逼測試人員,還需要向上下游來擴(kuò)展測試的工作領(lǐng)域,打開職業(yè)寬度
上游的工作包括:
(1) 在項(xiàng)目立項(xiàng)時(shí),進(jìn)行需求確認(rèn)的時(shí)候,測試人員能參與進(jìn)去。站在測試人員的角度上,通過發(fā)散性的思維來發(fā)現(xiàn)需求中的遺漏,提高項(xiàng)目的質(zhì)量
(2) 想辦法提升開發(fā)人員轉(zhuǎn)測試的版本質(zhì)量。例如:參加開發(fā)的code review,熟悉功能模塊的項(xiàng)目代碼,知道開發(fā)的代碼邏輯,哪些地方坑比較多;提供一些手工用例讓開發(fā)自測;給一些自動(dòng)化的接口和UI測試代碼讓開發(fā)自測;部署靜態(tài)代碼檢查工具,并推動(dòng)開發(fā)分析和修改發(fā)現(xiàn)的問題
下游的工作包括:
(1) 發(fā)布線上版本部署的自動(dòng)化,減少出錯(cuò)的概率;縮短項(xiàng)目部署的時(shí)間
(2) 線上問題的統(tǒng)計(jì)和分析,找到問題的根源,推動(dòng)項(xiàng)目組的負(fù)向改進(jìn)
(3) 發(fā)布后統(tǒng)計(jì)運(yùn)行數(shù)據(jù),分析上線系統(tǒng)是否達(dá)到預(yù)期效果,分析改進(jìn)方法
總而言之,優(yōu)秀的測試人員不要把自己單純當(dāng)做測試人員,而要把自己放在質(zhì)量保障人員的角色上,推動(dòng)整個(gè)項(xiàng)目組一起保證質(zhì)量。
3、要成為牛逼測試人員,最后還要能多元的交叉使用知識
這里以自動(dòng)化測試為例,自動(dòng)化的技能不要僅僅滿足于編寫測試腳本,執(zhí)行測試用例,而是要站在質(zhì)量保障的角度想辦法提升上下游的測試效率,并最終保障軟件版本的發(fā)布質(zhì)量。具體的工作可以包括持續(xù)集成探索、工具平臺(tái)的開發(fā)等。
持續(xù)集成的工作大概包括:
(1) 從開發(fā)每次提交代碼開發(fā),把所有的編譯環(huán)節(jié)都自動(dòng)化,自動(dòng)打包提測
(2) 編輯完成后,可以自動(dòng)進(jìn)行靜態(tài)代碼的掃描,利用業(yè)內(nèi)一些靜態(tài)代碼檢查的工具(如sonar),檢查代碼中的靜態(tài)問題
(3) 引入單元測試,單元測試的用例和腳本可以由開發(fā)和測試合作編寫,保證代碼內(nèi)部函數(shù)邏輯的正確性。在一套完整的自動(dòng)化測試方案中,單元測試的難度和工作量可能是最大的,但是覆蓋率高的話效果往往是最好的
(4) 單元測試結(jié)束后,可能自動(dòng)獲取編譯完成的代碼包,進(jìn)行環(huán)境測試的自動(dòng)搭建,搭建完成后直接用于后續(xù)的接口和UI自動(dòng)化測試。
(5) 接下來,接口自動(dòng)化是現(xiàn)階段公司中做的比較多的自動(dòng)化測試,因?yàn)楹蠖颂峁┙o前端的HTTP接口相對比較穩(wěn)定,后期用例修改維護(hù)工作量比較少,所以接口測試的自動(dòng)化占比一般比較高。
(6) 在接口測試的上層就是針對用戶界面的UI測試了,UI自動(dòng)化通過操作頁面上的各種元素,模擬測試人員對系統(tǒng)界面進(jìn)行直接操作。但是UI界面由于受用戶需求影響較大,經(jīng)常發(fā)生變化,因此UI自動(dòng)化的比例一般不高。
(7) 在項(xiàng)目結(jié)束時(shí),可以將測試通過的代碼;自動(dòng)部署到線上環(huán)境,減少手工部署的時(shí)間和可能出現(xiàn)的失誤。
持續(xù)集成是目前相對比較成熟的技術(shù)方案,在掌握了這一套持續(xù)集成的技術(shù)之后,可以在此基礎(chǔ)上進(jìn)一步開發(fā)測試工具/平臺(tái),如測試環(huán)境管理、配置管理、項(xiàng)目(需求/缺陷)管理、線上問題監(jiān)控、打點(diǎn)統(tǒng)計(jì)等工具平臺(tái)。最后,通過工具打通CI和CD的所有環(huán)節(jié),使用持續(xù)集成的框架串聯(lián)起來,可以大大的提高工作效率和產(chǎn)品的質(zhì)量。

這里僅以自動(dòng)化測試技術(shù)為例,介紹測試技術(shù)的多元化使用,對于其他性能測試技術(shù)、安全測試技術(shù)、管理技巧等各個(gè)方面,均可以在各自的技術(shù)領(lǐng)域深入學(xué)習(xí)提升,并進(jìn)行多元化的探索,達(dá)到行業(yè)內(nèi)“牛逼”的程度。
至于大概要多久才能這么牛逼?有了目標(biāo),就看你每天,每周,每月往目標(biāo)靠近的速度了。一萬個(gè)小時(shí)定律(大概5年)。在走向牛逼的路上,請堅(jiān)持。祝你成功。

若你是對測試不太了解的測試小萌新,有太多太多對測試的疑惑(前途、薪資、技術(shù)含量、男生是否可以干.....),強(qiáng)烈推薦你觀看《測試小白必看:學(xué)習(xí)軟件測試必問的100個(gè)問題,從此貼開始》,相信能掃除掉你心目中90%以上的常見問題
《軟件測試100個(gè)常見問題》:http://bbs.itheima.com/thread-507947-1-1.html

最后,為方便大家自學(xué)軟件測試,特意給大家準(zhǔn)備了一份13G的超實(shí)用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。
包括軟件學(xué)習(xí)路線圖,黑馬50多天的上課視頻、16個(gè)突擊實(shí)戰(zhàn)項(xiàng)目,80余個(gè)軟件測試用軟件,37份測試文檔,70個(gè)軟件測試相關(guān)問題,40篇測試經(jīng)驗(yàn)級文章,上千份測試真題分享,還有2020軟件測試面試寶典,還有軟件測試求職的各類精選簡歷,希望對大家有所幫助…..
《2021軟件測試學(xué)習(xí)路線圖,內(nèi)附視頻教程+自學(xué)路線+工具+面試篇》:bbs.itheima.com/thread-405757-1-1.html? ??