提高處理BUG效率第一步:提高測試工程師排查BUG能力

背景:

一家主要是做一款APP的公司,公司技術部門有三個組:爬蟲組、服務端組和APP客戶端組。

事實回放:

1)每次運營或產品提出一個BUG給到測試工程師後。

2)測試工程師就會憑感覺和經驗(而不是技能判斷)判斷這個BUG是哪個組,判斷之後就會把這個BUG指派給該組的負責同事A。

注意:我們的績效是按照每個團隊每位同事產生的生產BUG去扣分的。

3)接收到這個BUG的開發同事A開始排查問題,花了半小時排查完之後發現這個BUG不是我這邊的問題,於是就又丟給測試工程師,同時責備測試不應該把不是他的BUG指派給他,一來浪費他的時間,二來又影響他的績效。

4)測試根據開發同事A的各種排查描述,得知這個BUG可能(是的,可能)是另一個組的開發同事B的問題,於是測試就把這個BUG指派給開發同事B。

5)接收到這個BUG的開發同事B開始排查問題(每個組的開發排查方式未必相同),順利的情況下,最後排查得出這個BUG確實是我的。

6)開發同事B開始處理BUG,處理完之後給到測試驗收,直到BUG關閉。

流程圖如下圖1:

圖1

在這個過程中,還有隱形的多種問題:

1、驗收在接收到測試工程師指派的無法確定是否是需要我處理的這類BUG時,會一直讓這個BUG掛機在那不做處理,原因很簡單,我花半小時去排查這個BUG,很有可能這個BUG不是我的。

2、開發經常性懟測試工程師,你怎麼證明這個BUG就是我的?我就是不處理!還有你為什麼總是把不是我的BUG指派給我?而測試工程師的回懟總是無力的「我怎麼知道這個BUG是不是你的?」。

3、在互相扯皮的過程中,嚴重降低了「測試-研發」的合作效率。

 處理方案:

孔子曰「其身正,不令而行;其身不正,雖令不從」,對於測試工程師來說,打鐵還需自身硬。提高測試工程師排查BUG的能力勢在必行。

當測試工程師拿到一個BUG時,可以通過APP抓包和查找資料庫表的方式排查這個問題到底是那個開發工程師的。

舉例:在APP上有一張圖片無法正常呈現出來,而這個圖片是由爬蟲工程師採集過來的。

 處理:

1)測試工程師先通過抓包的方式找出這個圖片相關的HTTP請求內容,如果這個請求內容裡面的圖片URL為空,那麼這個BUG很可能就是爬蟲在採集數據或入庫數據時出了問題,找出共性和規則給到爬蟲工程師去處理。

2)如果這個圖片URL是有值的,並且這個URL可以正常打開,但是這個URL的格式不是OSS的格式(服務端會把外面的圖片保存到我們的OSS環境中),那麼這個問題就是服務端在保存圖片時出了問題,找出共性和規則給到服務端工程師去處理。

3)如果這個圖片URL的格式是OSS,並且可以正常打開,但是只是在APP上無法呈現,那麼這個問題就是客戶端在顯示圖片時出了問題,找出共性和規則給到客戶端工程師去處理。

如果測試工程師可以做到這樣的話,BUG提交和處理的流程變成如下圖2所示:

圖2

當然,在這個過程中,測試工程師一要提高自己排查BUG的準確度,二要提高自己排查BUG過程可以給開發做參考的可用度。

擴展:

「作為一名軟體測試工程師,需要具備哪些能力?」需要具備的能力很多,但是我覺得排查BUG能力是最重要,最有效,也是最容易被忽視的一點。

測試工程師的主要職責包括質檢和質控,質檢的東西大家都說的很多,質控的就比較少啦,我在這裡也提一下。

質控一:上游工作質控

在產品剛立項、進行需求確認的時候,測試人員就會參與進去,仔細地Review需求,看需求是不是完整、有沒有漏洞,這個時候還沒有進入正式開發,修改需求對於項目組來說代價是最少的。在這個環節,測試人員憑藉縝密的推演、發散性的思維,往往能發現很多需求的漏洞,提高了項目的整體效率。

另外,測試人員在完成測試計劃、測試用例以後,會邀請開發、產品一起評審測試用例,在這個環節,由於測試人員把每個需求如何細化測試都體現在了用例裡面,就相當於再次把需求分析了個透,往往還能發現很多需求的漏洞。這也是提早發現需求漏洞的有效環節。

質控二:下游工作質控

在產品完成了測試以後,就是發布的環節了,測試人員在發布的環節也能發揮作用。首先,測試人員為了部署測試環境,研究自動化部署的技術,可以把上線部署的環節也自動化,以前需要2個小時的部署環節壓縮到半個小時甚至更少,而且更加準確可靠。

如果有些版本修改比較多,上線的質量風險大,測試人員會跟產品一起制定灰度發布的方案並在技術上進行實現,讓版本先面向一小部分用戶開放,如果發現Bug了,影響的用戶也比較小,Bug改掉以後,再逐漸擴大用戶範圍。

另外,優秀的測試人員還會發動項目組的其他人一起來保證項目質量,比如推動開發進行代碼Review;引入冒煙自測流程,讓開發先自測以後再提交給測試做冒煙測試;通過在項目組分析Bug,讓開發提高自測,降低Bug數量等;引入策劃、交互、視覺在測試階段進行走查等等各種措施。

更多關於測試方面的文章,請前往51Testing軟體測試網-中國軟體測試人的精神家園學習哦~


推薦閱讀:

App測試點總結(1)
軟體測試基礎資料分類整理 | 測試理論文檔

TAG:軟體測試工程師 | Bug修復 | App評測 |