軟件缺陷可以分爲:
1.輸入/輸出缺陷
2.邏輯缺陷
3.計算缺陷
4.接口缺陷
5.數據缺陷
軟件缺陷的產生:
1.疏忽造成的錯誤(Carelessness defect)
2.不理解造成的錯誤(Misapprehend defect)
3.二義性造成的錯誤(Ambiguity defect)
4.遺漏造成的錯誤(Skip defect)
(摘自課件)
以上是比較概括的分類方式。
軟件缺陷在我們的日常生活中經常出現,比如某軟件的PC客戶端界面設計不合理,某app使用過程中會莫名閃退……
這些都屬於軟件缺陷,且比較直觀可見。
軟件的種種缺陷只有在測試人員不斷測試以及用戶多次使用後才能不斷地發現和完善。
所以現在大部分軟件官網以及下載網站都會設置【用戶反饋/用戶評分】這一項來收集軟件開發人員未發現的缺陷或bug,以便在日後的更新版本中進一步完善。
有些時候開發人員即使發現了缺陷也沒有進行完善修復,一方面可能是開發時間有限只能在後續的版本中進行加強,或者是因爲某些缺陷並不影響該軟件的正常使用,所以可以小小的忽略。
白盒測試
白盒測試稱結構測試、透明盒測試、邏輯驅動測試或基於代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件, 白盒指的是盒子是可視的,你清楚盒子內部的東西以及裏面是如何運作的。"白盒"法全面瞭解程序內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯着手,得出測試數據。(摘自百度百科)
白盒與黑盒對比起來,
白盒好比一個透明的盒子,黑盒是一個不透明的盒子。
白盒瞭解盒子的內部邏輯構造,並依據此來測試實際情況與預期是否一致;
黑盒並不瞭解內部構造,所以只能根據與產品說明書來判斷軟件是否合格。
我在網上找到了一個白盒測試的栗子,文章把栗子分析的非常清晰全面 http://www.uml.org.cn/Test/201205301.asp