天天看點

要想做好軟體測試工作,就要學會思考并問為什麼

編寫背景:

  故事1:搜尋清單頁的一個神奇bug

  問題現象:一個已經測試通過并上線的商品搜尋清單頁,頁面功能很簡單、有搜尋的篩選項、商品展示、商品翻頁功能。通常大家在測試翻頁功能時,基本測試點都是測試上一頁、下一頁、具體頁數、頁數輸入框(正常、異常);有意思的是這個搜尋清單結果有500多個商品1百頁,我就一直點選下一頁、一頁一頁的浏覽商品,當浏覽到第24頁時,發現浏覽器通路報錯提示連接配接不上;通路其它網站或該網站的其它功能就正常。

  問題分析:此處的點選下一頁的翻頁程式代碼,每翻一頁,url請求就會多加一串字元

  “swifrpiduwmh0gchjpy2vfq05zojuwmdxkaw1ppnbyawnlx0nowtp7mcbutya1mdb9ihbyawnlx0nowto1mda8smltat5wcmljzv9dtlk6ez

  agve8gntawfsbwcmljzv9dtlk6ntawpeppbwk+chjpy2vfq05zon”;

  這串字元出現6次以上後,url通路長度超過2k浏覽器請求就會參數丢失,導緻頁面通路報錯

  5個思考點:

  思考1:為什麼測試的時候沒有發現呢?其中一個測試人員說,這個場景很少有人想到。

  思考3:對比其它網站,為什麼别的網站沒有這種問題呢?開發在設計上沒有考慮這種情況?

  思考4:為什麼開發沒有自測發現這個問題?我在想,開發沒有考慮到url會有問題

  最後我想,還好這個場景不常見,影響範圍沒有很大的殺傷力。

  故事2:兩個bug還是1個bug

  現象:一個問題是:商品買滿打xx折,從購物車進入到訂單送出頁中,商品總結算金額顯示不正确;另一個問題是:商品買滿減xx元,從購物車進入到訂單送出頁中,商品總結算金額顯示不正确。開發認為這是1個bug,因為都是商品總結算金額顯示不正确;我認為是2個bug,因為是兩個不同的測試用例場景得出的問題,不能因為現象一樣就認為是一個bug,同時懷疑代碼裡面的處理邏輯是不一樣的。

  5個思考點?

  思考1:站在使用者角度,如果是使用者發現的,我們告訴使用者是1個問題?使用者能明白嗎?

  思考2:站在開發設計角度,需要知道那個地方的實作邏輯都是一個類或方法嗎?即使是一個類或方法,當參數不一樣時内部處理邏輯一樣嗎?找個時間問具體寫代碼的開發人員問問就知道了?

  思考3:下次碰到此類開發管理人員該如何相處?我在想:隻要改了就行,不能和這類人去糾結1個還是2個,因為道不同不能了解;但是測試工作總結時要算成2個。

  思考4:為什麼不能報成1個bug,因為當把多個bug放到1個bug裡報時,如何有效跟蹤?(比如:開發修改轉測後,測試驗證有一部分沒有修改好,這個bug會來回修複、打開);如何有效做bug分析?(測試任務結束後,如何分類分析bug的錯誤類型及開發工作改進建議資料分析)。

  思考5:為什麼這麼明顯的bug開發沒有自測出來?開發做自測了嗎?這樣的開發管理人員管理的開發團隊,轉測出現這樣低級的bug,消耗了多少不必要的測試成本(測試環境部署+bug報告跟蹤和驗證時間)和開發修複版本成本?降低了多少工作效率?這類bug有多少?

  最後我想:我要通過什麼方法來改變?

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀