在一些實施CMMI高成熟度的軟件公司中對于過程的性能數據進行分析時,常常發現應該具有相關性的2個變量根據歷史的數據不能證明這種相關性,或者是應該正相關的數據卻分析出了負相關的結論,原因何在呢?例如:
我們的經驗與常識:
假設或常識1:高水平的測試人員找出的BUG多, 低水平的測試人員找出的BUG少。
假設或常識2:高水平的開發人員犯的錯誤應該少,低水平的開發人員犯的錯誤應該多。
我們的實際數據:
在實踐中常常采用的策略:
策略1:關鍵的模塊應該由高水平的開發人員進行開發,非關鍵的模塊由低水平的開發人員進行開發。
策略2:高水平的測試人員要測關鍵的模塊,低水平的測試人員測試非關鍵的模塊。
如果是這樣,對于測試過程做了度量以后,數據無法證明假設1和2的成立。
這就是問題的癥結!我們的實際數據本身就是有傾向的樣本!而不是隨機的樣本!因為我們采用了策略1和策略2!所以歷史數據表明:我們發現的bug的多少是與開發人員的水平、測試人員的水平是無關的。
如果要證明假設1和2,需要做實驗,即在保證**條件相同的情況下,我們做實驗看測試人員或開發人員的水平對測試的BUG數的影響,統計過程的性能數據去證明假設1和假設2。
所以遇到數據中存在不符合常識的結論時,應該仔細剖析一下,看看問題何在。
原文鏈接:http://tech.ccidnet.com/art/302/20120612/3947921_1.html