軟體品質

文-校長

軟體品質,好大的題目,涵蓋範圍很廣,校長書讀得不多,只是想說要如何可以降低或減少程式發佈後的臭蟲問題。

製造業的品質管理以運用統計學的MIL-STD-105E抽樣檢驗,或是SPC統計製程控制的方法為主,這些方法基本上運用在大量生產上,以抽樣的方式監控品質;而運用於軟體的CMMI能力成熟度模型整合,則著重在一個過程改進的方法。

那我們談到大家較熟悉的單元測試、整合測試、功能測試…等等,基本上還是用製造業『測試』的概念,但是軟體並非是大量生產的東西,每一支程式都有它的獨特性,也都只生產(撰寫)一次,檢驗項目難訂也訂不完。單單程式的邊際測試1項目訂都訂不完了,如此盲測2猶如盲人摸象大海撈針,如何可以在浩瀚宇宙中找到小蟲?

假如程式不是用Code Testing的,而是用Code Review的呢?製造業的產品用分厘卡來測物品是不是在對的尺寸範圍,又機器大量生產有其慣性,所以輔以抽樣方法來監控品質;但每一支程式是獨一無二的,程式不會故障也不需要破壞性試驗,那剩下最簡單又有效率的品管方式是不是Code Review,而單元測試、整合測試…等等,反而不會是軟體品質管制的主角。

製造業談品管發展三段論:品質是『檢查』出來的、到品質是『製造』出來的、再到品質是『設計』出來的,這個完全適用於軟體業,程式有臭蟲不應該是品管部門的責任,強化設計部門與製造部門的責任,有助於降低或減少程式交付後的臭蟲問題。

__________________________________________________
1. 邊際測試,校長是指說像 >、>=、=、=<、<…等等之類的測試,或是Loop一筆、兩筆或邊界筆數時的程式問題的測試。
2. 盲測,校長是指說就像瞎子一樣亂測,這樣應該不是系統化找問題的方法。

沒有留言:

張貼留言