天天看點

軟體測試思想者 - 快速發現軟體缺陷(Bug)八法

軟體測試思想者 - 快速發現軟體缺陷(Bug)八法

軟體測試思想者 - 快速發現軟體缺陷(Bug)八法

軟體測試新人在工作中會碰到看起來比較奇怪的要求,比如,在某個項目開始的第一天,上司可能會要求第一天必須至少送出5個軟體缺陷(Bug),軟體測試還沒開始,就指定第一天送出多少個軟體缺陷不是強人所難嗎?如何在指定時間内發現指定數量的軟體缺陷?如何成為Bug殺手呢?且聽我一一道來。

軟體測試思想者 - 快速發現軟體缺陷(Bug)八法

1、充分利用80/20法則

【80/20法則】

80/20法則,又稱為,馬特萊法則、二八定律、帕累托定律、最省力法則、不平衡原則、猶太法則。

80/20法則揭示了80%的成果源自僅僅20%的行動,展現了投入與産出不平衡的“普遍真理”。

【80/20法則引申】

最初來源于社會經濟現象研究結果的80/20法則,也同樣适用于軟體測試領域。

一般情況下,80/20法則适用于以下軟體測試情景:

  • 80%的軟體缺陷存在于20%的軟體代碼中(軟體缺陷的“群集”現象)
  • 80%的軟體缺陷歸因于20%的軟體缺陷原因(軟體缺陷的“群集”現象)
  • 在分析、設計、實作階段的複審和測試工作隻能夠發現和避免80%的軟體缺陷,而系統測試也隻能找出其餘Bug中的80%

程式中存在錯誤的機率與該程式中已發現的錯誤數成比例。關注測試中的群集現象,關注發現缺陷較多的代碼,掌握這一法則有助于我們在測試過程中抓住重點,有針對性,做到事半功倍。

【80/20法則的應用】

80/20法則的應用,至少應分為兩個階段,階段的劃分取決于目标時間的長短,目标時間相對長的,可以劃分為兩個以上的階段,單個階段的時間可以适當的長一些。否則,階段應少一些,單個階段的時間短一些。

第一個階段是快速的進行一輪軟體測試,獲得軟體缺陷在各子產品的分布情況。

第二個階段,根據上一階段軟體缺陷在各子產品的分布情況,重點測試軟體缺陷分布較多的子產品。

如果有第三甚至更多的階段,把上一階段作為第一階段,根據上一階段軟體缺陷在各子產品的分布情況,重點測試軟體缺陷分布較多的子產品,以此類推。

這樣的話,我們就可以花費較少的時間,發現較多的軟體缺陷。

2、跟開發人員有效溝通

跟開發人員有效溝通,既可以溝通個人之間的友情,還可以獲得開發相關的知識,更可以得到有益于軟體測試的資訊。

通過跟開發人員溝通,我們可以知道開發人員對那些子產品信心不足,我們就可以重點測試相應的那些子產品,做到花費較少的時間,找出較多的軟體缺陷。

3、從不同角度進行測試

從不同角度進行測試,我們可以在短時間内發現較多的軟體缺陷。

從管理層的角度考慮,我們要了解被測産品在公司衆多産品中的優先級,做到軟體測試的有效性,即確定軟體缺陷的有效性。

從開發人員的角度考慮,獲知開發人員認為軟體産品中那些子產品開發難度大,缺乏信心,進而快速定位我們的測試重點。

從最終客戶的角度考慮,盡可能從他們的既有的使用習慣和可能的問題出發,也就是使用者體驗出發,找出盡可能多的軟體缺陷。

4、選擇簡易有效的測試工具

選擇簡易有效的測試工具,可以讓我們的軟體測試工作事半功倍。

比如,網頁的連結測試,如果選擇一些簡單易用的連結測試工具,既能提高覆寫率,又能發現較多的軟體缺陷。

5、進行專項測試

進行專項測試,可以有效保障軟體産品在一些特定方面的品質。

比如,安裝測試,解除安裝測試,雙(多)位元組測試,查詢測試,上傳附件測試,快捷鍵測試,UI整體風格測試(包括按鈕、成功資訊、警告資訊)等等。

6、參照單元測試結果

參照單元測試結果,可以幫我們定位軟體測試重點,做到花費較少的時間,找出較多的軟體缺陷。

7、參照其他測試人員報告的軟體缺陷

每個人的思維都是有局限性的,我們可以參照其他測試人員報告的軟體缺陷,擷取新的測試思路,進而發現以前未曾發現的軟體缺陷。

8、錯誤推測法

錯誤推測法,對于有一定軟體測試經驗的人來說,是一個短時間内發現較多軟體缺陷見效較快的方法,展現了經驗的價值。

比如,針對搜尋功能,在文本框輸入如下值:

  • 單個空格
  • 多個空格
  • 字元串前面有空格
  • 字元串後面有空格
  • 轉義符“\t”,“\n”
  • Null
  • 特殊字元: !?\/%$#@
  • 通配符: *
  • 括号
  • 空串
  • 很長的字元串,4G

如何聯系“軟體測試思想者”?

  • 微信公衆号:SoftwareTestThinker
  • 微信号:weixin_samwang_2015
  • QQ号碼:81976881
  • 郵箱:[email protected]