問題描述:
測試過程中如何區分什么是功能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軟件測試論壇每周一問活動。
原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。