軟件測試過程中如何區分什么是功能bug,什么是需求bug,什么是設計bug?


 

  問題描述:

  測試過程中如何區分什么是功能bug,什么是需求bug,什么是設計bug?

  精彩答案:

  會員 土土的豆豆:

  本期問題其實主要是針對不同方面或緯度上對於bug的一個歸類和定位。

  個人認為,從軟件開發測試生命周期上分析的話,三者從開發測試階段應該是需求bug、設計bug、功能bug。(這里僅針對提問排比)

  需求問題可以包括設計問題和功能問題,當然還有非功能性缺陷等。

  需求bug,簡而言之就是對於業務需求不清晰或者理解有偏差產生的問題。可能包括業務分析人員不專業因素、開發與測試人員思維不一致、產品未滿足客戶實際需求(想法)等一系列bug。

  功能問題大部分理應該是附屬於需求說明書上的功能模塊,因為開發、設計、實現等原因故而產生功能bug。但也不僅限於需求上列舉出的功能,因為一個項目/產品,完全有可能因為相關協作的功能模塊或整合的第三方程序導致產生bug。所以功能bug既可能是需求bug,也可能是需求外的bug。這里對於bug的優先級和安全級別等不作贅述。

  設計問題可以認為是開發架構師/人員在項目設計編碼前遺留的“歷史”問題。因為設計bug還是根據需求說明書來進行開發設計,故而一些業務邏輯上的關系、代碼算法的優化、數據庫/表的關聯等都屬於設計bug。

  個人認為,需求bug最為麻煩,也是后期維護成本最高的bug。設計bug次之,因為一個產品/項目設計層面問題較多的話,無論修復或改進多少,在代碼編寫結束后,開發人員很難重頭再整理一套框架,即便目前沒有設計bug,以后產生的風險也是很大的。

  功能bug最平凡,但是也是基礎。除去客戶業務需求上的變更因素,整個項目/產品的質量好壞最基本的就是取決於功能是否按需求進行了實現,其問題是否很多。我們大部分測試階段的bug以功能問題為主。

  當然還有其他一些bug類型,本期問題所列3個bug從根本上分析不屬於一個維度。但是也是很基本的概念。

  以上是我個人拙見,請大家補充指正。謝謝!

  會員 TesterChen:

  首先什么是需求Bug、設計Bug、功能bug?

  需求Bug,指由於客戶需求描述不清晰或錯誤、需求收集人員自身原因及需求本身模糊難於分析、獲取等原因,導致客戶需求獲取不准確,后期產品不能滿足客戶、用戶的要求

  設計Bug,是指產品在最初設計時由於未考慮全面,而使產品在使用中存在的一些潛在的缺陷。

  功能Bug,是指計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。缺陷的存在會導致軟件產品在某種程度上不能滿足用戶的需要。

  建議從以下幾點進行區分:

  1、產生的時間不相同:
  需求Bug:產生於項目前期
  設計Bug:產生於項目前期或中期
  功能Bug:產生於項目中期或后期

  2、產生的原因不相同:
  需求Bug:客戶需求描述不清晰或錯誤、需求收集人員不夠專業、需求本身模糊難於分析、獲取等原因
  設計Bug:系統框架、通訊模式、庫表設計、編寫語言等選擇不當,導致后期擴展棘手、安全性低等
  功能Bug:開發工程師需求理解錯誤、代碼編寫缺陷等原因

  3、造成的影響不相同:
  需求Bug:對整個項目的影響極大,會直接拖后項目的進度、加大項目成本、降低客戶對公司的評價
  設計Bug:后期功能擴展、性能、安全性等可能會遭到威脅
  功能Bug:影響用戶使用體驗、影響數據、資金安全

  4、處理方式不相同
  需求Bug:重新收集需求,重新設計和開發(需求Bug是對項目成本和進度影響最大的因素)
  設計Bug:重大缺陷必須修復,小設計缺陷在下一次發布時更新(一般難於修復或修復成本較大)
  功能Bug:直接修復缺陷,重新發布或更新

  5、Bug的直接責任人不相同
  需求Bug:業務人員、需求專員、項目經理等
  設計Bug:架構工程師、數據庫工程師、技術經理、項目經理等
  功能Bug:開發、測試工程師

  原帖地址:http://bbs.51testing.com/thread-820993-1-1.html

版權聲明:本文由會員土土的豆豆、TesterChen首發於51Testing軟件測試論壇每周一問活動。

原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM