《5分鐘從學(xué)生到程序員》第12課。
上節(jié)課我們簡單提了下,寫完代碼之后,要試用功能,自己對功能滿意,用戶才會滿意,同時可以減少bug率和返工。這節(jié)課我和大家分享怎么利用測試,提升自己的能力,甚至提升自己的崗位。
決定我們在哪個位置,不是會多少技術(shù),掌握什么技能,而是我們心里裝的是什么!心里裝著功能的是初級工程師,心里裝著模塊的是中級工程師,心里裝著應(yīng)用的是高級工程師,心里裝著企業(yè)的是老板。
你說自己很厲害,精通java、springboot、springcloud、mysql、MyBatis;連前端的HTML、css、JS也精通。別人相信嗎?可能相信,也可能不信,為什么?別人沒辦法判斷。
初級工程師勞動成果是功能,所以功能是檢驗初級工程師能力的最主要衡量標(biāo)準(zhǔn),如果功能的bug率高于平均水平,說明你的能力很次,如果功能的bug率低于平均水平,說明你的能力不錯。
如果功能的平均bug率是2,你說你的bug率是1,別人就會點贊,覺得你厲害。
小故事1:我搭建好幾個團隊,在團隊剛搭好做項目的時候,經(jīng)常會有測試來向我投訴,說誰的bug特別多,誰冒煙測試通不過還提測,誰功能都沒做完就丟給測試,等等。所以關(guān)心功能質(zhì)量的不僅僅是我,測試工程師更關(guān)心,因為質(zhì)量差的代碼,會增加他們的工作量。
?小故事2:我組項目團隊的時候,一般是先決定項目的各業(yè)務(wù)老大,再由他們商量要哪些人參與項目。技術(shù)經(jīng)理說:我要張三、李四他們兩個人。測試經(jīng)理就會說:張三不行,他做事很不認(rèn)真,每次都他bug最多,我們還是不要他,我覺得還是要王五吧,他做事很嚴(yán)謹(jǐn),跟他配合就很舒服。
你看做事不認(rèn)真,bug最多,人家還不要你。如果公司有做末尾淘汰,那張三就是被淘汰的對象。如果公司剛好有個調(diào)崗名額,還這個名額非王五莫屬。所以,你看測試跟開發(fā)從表面看,八桿子打不著的事,他們背后的邏輯因果就是這么復(fù)雜。
前面講的都是職場上的故事,下面我們來看測試對我們技能提升會帶來的幫助。
你多測試,多試用,你就會發(fā)現(xiàn),類似的界面,為什么師傅寫出來的就比我好看?分析界面,甚至去看師傅的代碼,發(fā)現(xiàn)原來是師傅采用統(tǒng)一的UI風(fēng)格,自己是按UI設(shè)計圖來做,UI上有標(biāo)注的就做的好,UI上沒標(biāo)注的,自己瞎做。發(fā)現(xiàn)差距了,后面就懂得用UI規(guī)范了。
你可能又發(fā)現(xiàn),同樣的界面切換,我自己做的一閃就過去了,而師傅的是很平滑的切換,再一看代碼,或向師傅請教,原來是他在切換的時候加了動畫效果,后面就懂得交互效果的處理。
像上節(jié)課發(fā)送文字的例子,在試用的時候,你可能就發(fā)現(xiàn),app端做設(shè)計的時候,寫的是4步,但是在第三步,我退出了聊天界面,那這個要怎么處理?試用的時候就發(fā)現(xiàn),少了一個步驟,在還沒提交測試前,那趕快添加對這個操作的處理,功能的完成度就更好。
之前分析的時候,暫時說這個功能跟其它功能沒有關(guān)系,試用時就發(fā)現(xiàn),在聊天界面,除了要發(fā)送文字,還要發(fā)送表情、圖片等,那就跟其它功能有關(guān)系。在一對一聊天中,還可以調(diào)用通訊錄,添加好友群聊,這些都有關(guān)系。
然后,就感悟到原來產(chǎn)品邏輯是這樣設(shè)計的,師傅接到這個模塊,他是怎么樣把這個模塊分成各個功能,然后再分給我們不同人做的。
這樣,你對產(chǎn)品、對模塊就了解了,是不是比你做完一個功能,丟給測試,等他反饋bug,再改bug好多了?
你可能會說,我是做開發(fā)的,為什么要理解產(chǎn)品?我們借用叮當(dāng)貓的小口袋,把時間往后拉一年,張三成為了中級工程師,也開始帶徒弟了,好興奮的感覺?,F(xiàn)在參與一個新項目,技術(shù)經(jīng)理把中、高級工程師張三、李四、王五拉一起:“張三,你負(fù)責(zé)用戶模塊;李四,你負(fù)責(zé)商品模塊;王五,你負(fù)責(zé)支付模塊。這樣安排有沒有問題?” 然后張三站起來說:“老大,用戶模塊有哪些功能???”
出現(xiàn)這種情況就好玩了,我們可以想像當(dāng)時的場面有多搞笑。中級工程師是要對產(chǎn)品有了解,懂得分解模塊成一個個功能的。這個能力怎么來的?有人教嗎?這種能力是沒人教的,都是經(jīng)驗的積累,都是從玩一個個功能練出來的。
這面講了研發(fā)跟測試的背后因果,這里也看到了研發(fā)跟產(chǎn)品的背后因果了吧!有人可能看了因果兩字會有不舒服,這個沒什么,因果就是if語句,if的條件滿足,就執(zhí)行if的代碼段,這個就叫因果。
如果,你做的功能,bug率比別人少,是不是更有信心?這個是肯定的。你有了自信,是不是更敢于承擔(dān)更多的責(zé)任。而我們前面講過,決定工程師水平的不是技術(shù)水平,而是他承擔(dān)了哪個方面的責(zé)任。功能承擔(dān)更多,慢慢的就承擔(dān)起模塊的責(zé)任,只要你能承擔(dān)起模塊的責(zé)任,那就是中級工程師水平了。
就等著調(diào)崗升薪吧。
這節(jié)課我們分享了測試給程序員帶來的價值,通過試用和測試,程序員可以提升技術(shù)水平,對產(chǎn)品的理解能力,可以降低功能的Bug率,而低Bug率可以增加程序員的信心,更有自信去承擔(dān)更多的責(zé)任,而更多的責(zé)任達到模塊級,他的級別就提升到中級程序員。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。