Bug敏感度與軟件質量關系
正如前面故事中提到,Bug敏感度高的測試人員,能在短時間內發現大量的Bug,從而在一定程度上提高軟件的質量。從這個角度看,Bug敏感度與軟件質量的關系是正相關的,如下圖表示,即Bug敏感度越高,被揭露的Bug越多,對應模塊或軟件的質量相對越可靠。
同理,Bug敏感度不高,必然就會造成一些Bug遺漏,提高了軟件質量的風險系數,我們可用Y=-kX來表達這個意思,見下圖。Bug敏感越差,遺漏的Bug越多,軟件質量的風險就越大。
但是軟件質量的評價是一個復雜而多維度的,不僅僅與Bug敏感度有關系,還包括設計本身的約束、預防等先天因素。
提高Bug敏感度的關鍵因素
影響測試人員判斷某問題或現象是否是Bug,還是其他問題,有很多原因,下表是筆者總結的一些關鍵因素,與大家一起分享。
序號 | 因素 | 影響分析 |
1 | 業務熟悉度 | 不清楚業務,會不能很好地理解特性的用途,應用場景,會導致正確的判斷,風險分析; |
2 | 測試專業技術:測試思維 | 除常規的測試思路外,逆向,相關影響或異常,多條件組合等特殊情況的專業思路能讓迅速發現軟件中潛伏的Bug。 |
3 | 測試專業技術:測試工具掌握 | 有些測試對象需依賴特殊工具生成數據、監控、檢查,作為一種測試手段、方法,能發現某類型的Bug,如數據庫性能測試,內存泄漏的檢查等 |
4 | 學習能力 | 學習測試同事經驗,包括與需求、開發人員的交流,從交流中增加經驗、知識的積累等。學習有主動與被動,主動學習的人,進步快。
|
5 | 對開發者的了解 | 對合作的某開發人員了解多,知道對方可能出錯的地方,例如某開發人員是新員工,對業務不太熟悉,容易在模塊接口處理上考慮不周,易犯錯誤,則可以有針對性測試這些方面。 |
6 | 系統繁雜度 | 了解系統的設計,清楚最繁雜的設計,最核心的設計,然后重點分析這些部分,找出測試的重難點 |
說明:
關于學習能力,有些同學可能理解存在誤區,或者比較片面,認為學習就是捧著書本看書。常聽一些同學說,正在看C+編程,Android開 發,網絡通信相關書等,當然沒錯,這些都是在學習。但是否有更直接的體現學習能力的方法呢。曾經在一位同事的總結中讀到:通過參與同項目外專業組的討論, 大受啟發,回來一試,發現了2個嚴重的系統接口方面的bug,及一個我們未曾考慮到的系統設計需求。這種通過與他人的交流獲取的直接知識,并不一定能在書 本上看到的,但它也是一種學習。學習有直接學習,簡接學習。如果說簡接學習是夯實基礎,那么像上述通過交流、實踐的方式直接地學習的方法是取人之長,補已 之短的快速通道。
除了上表中提到的因素,是否還有其他因素也會影響測試人員的Bug敏感度呢?歡迎大家補充,及發表意見。