在測試的路上,如何做一個安靜的美男(女)子

新夢想IT發表於2022-07-06


 

這裡沒有用例設計,沒有測試分析,沒有 效能測試 ,沒有自動化,更沒有單元測試和介面測試,僅僅從測試 —>發現bug的過程中看看我們能夠走多遠!

 

為了更加形象的描述每個階段,我用小 B的整個測試經歷來給大家分享吧!

 

當然,小 B剛開始也是一個測試菜鳥(我們叫測試的第一個階段吧);剛進入專案後,基本上每天的工作就是: 測試用例 —>提交bug—>迴歸bug。剛開始還挺新鮮,一段時間後有天晚上突然驚醒,抓住一隻蟑螂大吼:臥槽,尼瑪這也太無聊,太沒有技術含量了吧!難道我以後的工作就是每天干這個嗎!當然,吼完後也跟其他人一樣把蟑螂弄死後繼續睡覺。

那一年,小 B是23歲,不幸的是真的被他言中了,他以後很長很長的一段時間都是在幹這個(直到現在);不過,幸運的是,他再也不覺得幹這個是浪費青春了。不過這些都是後話,第二天上班後,小B就決心有所改變了。

 

當然,第二天的工作依然是重複昨天的故事,不過小 B在這個過程中發現了一個問題:每次提交bug後開發還要跟自己確認環境,甚至再給開發演示一遍。這樣經常被打斷,效率也太低了,特別是自己也不太確認bug是怎麼出來的時候。難怪以前經常任務完不成要加班的。

 

如果每次提交 bug後,開發都能不用來找自己該多好啊?為了這個目標:小B開始進入了第二個階段。過程就是每次發現一個bug都去想如何提交上去後就讓開發不再找自己了。為了達到這個目標:小B做了如下事情(具體細節就不講了);

 

1、熟悉對應功能的需求,因為經常有些問題自己也不確認是不是問題。熟悉了需求,瞭解了為什麼需要這個功能,給客戶帶來的價值是什麼。

2、看研發的設計文件,學習裡面的業務邏輯,這樣發現一個bug後就能過大概判斷是怎樣產生的,然後也能夠更快的復現以及必現這個bug。
這個階段經歷了 1年多的時間,而且也經歷了很多痛苦的過程,比如:因為需要學習和自己嘗試去排查問題,導致很多非必現的bug最後重現不出來了,還因此被老大說了幾次;另外就是因為文件看不懂去厚著臉皮找開發被鄙視和拒絕了很多次(作為一個有自尊的人心裡還是很難受的);還有就是加班比以前更多了。

不過,付出終有回報。一年後,基本上 80%的bug開發都不再找自己了,更重要的是得到了開發的認可,這個開發的認可應該是一年來得到的最大收穫吧。因為得到開發的認可後,感覺後面整個測試工作都非常輕鬆了,開發也願意配合。

人總是貪婪的,在嚐到甜頭後,總是想得到更多,小 B也不例外(請小B原諒我這樣說你);於是,小B想是不是可以做的更多一點呢?要是能自己去排查和定位問題原因的話,應該更爽吧!而且前面學習了一些業務知識後,對於產品也有了一定的理解。為了達成這個目標,小B又做了如下事情(細節同上不講):

1、自己發現的每個問題都嘗試去定位,並且對自己的定位過程全部記錄下來。定位不下去了再去找對應的開發(已經有了上面的一些排查和重現問題的基礎),開發也很樂意(因為節省了開發定位問題的時間)。一邊看著開發定位,一邊跟開發去請教(虛心的請教大部分開發也是很樂意賜教的)。然後將開發的定位過程同時記錄下來,等開發確認原因後。再跑過去跟開發一起回顧下整個定位過程,看看自己因為缺失什麼技能而沒有定位出來。

 

2、缺失的技能就主動去學習,其實無非就是對業務更加熟悉,然後掌握對應開發的一些除錯方法。同時也跟著開發一起去看程式碼(慶幸的是測試能夠去看開發的程式碼,以及跟開發的關係搞好了)。

 

3、下次碰到類似的問題就將以前總結的一些方法用上。

 

4、定期的梳理和總結自己的定位問題方法,形成自己的一套完善的定位問題過程,並且增加熟練度。

 

這個階段又經歷了一年多,過程同樣的痛苦的,很多次想要放棄,特別是需要自己去硬著頭皮看程式碼還看不懂的時候。而且時間花費的比以前更多了。堅持下來後,結果自然還是不錯了。 30%的bug自己能直接告訴開發大概是那塊出問題了,比如:某個地方的返回沒有判斷,記憶體沒有釋放等等一些基本的問題。當然,萬事開頭難,經過一年多後自己至少養成了自己去定位問題的習慣,而且在不斷的進步中(這個算是經歷的第三個階段吧)。

 

能自己定位一些問題,這些已經開始讓團隊的其他人員開始羨慕了,內心自然也開始膨脹,人性的貪婪也再次在這裡體現出來,小 B居然開始想去自己修復bug。這是不是越界了?不過既然是他自己的選擇,我們暫且不去關注有沒有必要,一起看看小B接下來又幹了什麼事情吧!

 

1、深入學習開發的語言,並且用該語言寫一些小的測試工具來提高測試效率,透過具體的任務來學習編碼知識。

2、學習整個設計架構,並且嘗試用自己的理解對整個架構進行分析。

3、去分析和稽核開發對應修改的程式碼,並且試圖找出開發修改不合理的地方。

4、對於自己定位出來的bug,自己去主動給一些修復的建議,並且最後看看開發修改bug的思路跟自己的差別是什麼?

5、自己在另外的地方去寫fix的程式碼,然後跟開發進行對比,不斷的找差距。

 

這個過程經歷了差不多兩年的時間,過程的艱辛估計只有小 B自己知道(他沒有說,小編也沒有問),感興趣的同學可以自己去體驗下。不過總算是小有所成,小B自己也親自fix了5個bug(直接將自己修改後的程式碼發給開發),其中只有1個bug是修改的有問題的(我們將這個階段稱為第四個階段)。

 

好吧,到現在為止,差不多整整過了五年的時間。小 B也從一個熱血青年變成了一個快奔三的人了。也從當時的測試新手變成了目前測試團隊的大牛之一。因為對於團隊的重要性,工資待遇方面也有了很大的提高。

按照道理來說,小 B應該很滿足了,畢竟自己也被其他人當成大牛來膜拜了,雖然自己的大部分工作依然是測試用例(不同是用例都是自己分析和設計的)—>發現bug—>定位bug—>迴歸bug(有時候自己也去fix一個bug,不過這部分不是自己的主要工作)。人性的貪婪再次在這裡表現的淋漓盡致,小B下一步打算去幫助開發一起去做缺陷預防,比如:提取一些共性的問題,然後思考如何去避免和及時的發現這樣的問題。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2904487/,如需轉載,請註明出處,否則將追究法律責任。

相關文章