在測試的路上,如何做一個安靜的美男(女)子
這裡沒有用例設計,沒有測試分析,沒有 效能測試 ,沒有自動化,更沒有單元測試和介面測試,僅僅從測試 —>發現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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何做一個合格的測試架構師架構
- 在路上之產品充分測試的重要性
- 6年心得,從功能測試到測試開發,送給在測試路上一路走到黑的你!
- 6年心得,從功能測試到測試開發,送給在測試路上一路走到黑的你。
- 我在等一個人,一直在等,靜靜的等,耐心的等
- MySQL是如何做容器測試的?MySql
- 寫在最開始--一個測試小白的內心戲
- 測試行業 怎麼招聘女測試人員,行業
- Zookeeper 在Windows下的安裝過程及測試Windows
- 靜態測試方案
- 測試一個
- 網易遊戲是如何做測試的?遊戲
- 讀Google是如何做軟體測試的Go
- 一個測試工程師的養成工程師
- 如何制定一個有效的測試策略
- bose qc30 安靜的城市是什麼樣子
- 同一臺手機安裝同一個應用的測試版,正式版
- 一個在網路上非常爆紅的「搜尋引擎」,可能比百度都好用
- 如何做好手工測試?
- 介面測試是什麼?如何做好介面測試?
- 影響靜態應用安全測試工具(SAST)分析速度的3個方面AST
- aiofiles,一個非同步測試的 Python 庫!AI非同步Python
- 自動化測試的另外一個想法
- 一個簡單的介面測試框架 demo框架
- 軟解析、硬解析的一個小測試
- 測試第一個
- 對電子商務下一個時代的7個預測
- pyflink的安裝和測試
- 測試同學難道要寫一輩子的hello world?
- 作為猛男的我,在一款乙女遊戲裡沉迷於當渣女遊戲
- APP測試技術:ADB——安卓手機測試一座神奇的“橋”APP安卓
- 自造輪子-一個http併發測試工具(http-little-toy)HTTP
- 分享一個在 Jenkins 中執行 Selenium 自動化測試的教程視訊Jenkins
- 介面測試怎麼進行,如何做好介面測試
- 你在測試金字塔的哪一層?(上)
- 我們公司是如何做到高效並行測試的?並行
- 作為一個軟體測試新手,你知道軟體測試的幾個方向嗎?
- 一個測試工程師的成長覆盤工程師