什么是 “軟件質量”?在一些同行的眼里,恐怕還是一個比較模糊的概念。在此列舉幾種常見的說法:
“軟件質量是指有沒有bug”
“ 軟件質量說的是代碼的好壞,因為代碼中的bug會帶來使用上的問題”
“軟件質量存在於軟件產品從概念到實現的每一步驟,因為需求的好壞影響了設計;設計的缺陷將帶來代碼的不足;代碼的bug將帶來使用的故障”
.....
在您的觀點里,更熟悉以上的哪個說法呢?
“質量”一詞在CMMI里的定義是這樣的“產品、產品組件或過程的一套內在特性滿足客戶需求的能力”
在ISO9001里的定義是“產品滿足需求的程度”
在軟件工程里的定義是“程序、及其必要數據、以及處理過程滿足用戶明示或隱含的需求的程度”
(注:以上定義來自於釋意,非原文)
看了以上的定義,哎呀,我更暈了,徹底倒地不起啦!!!
那么,有沒有簡單的方法,告訴我們,軟件的質量到底是什么?有哪些測量的數據?
這方面,GB/T16260給了我們明確的答案。建議從事軟件行業的各位大俠都去找這份資料(csdn上就有免費下載哦)來讀一讀。
軟件工程的通俗稱呼是,軟件質量就是“FURPS”(Functionality, Usability, Reliability, Performance, Supportability/Safety),與16260的定義大同小異。
下面兩張圖給我們展示了軟件質量的各部分關聯與區別。在內部質量和外部質量的屬性上,兩者是一致的,但實踐中,可以簡單的將內部質量等同於開發人員自己發現的代碼或設計缺陷的問題集合;將外部質量等同於測試人員在實驗室測試所發現bug的集合。


