測試在軟件開發(fā)中究竟充當什么角色呢。是驅(qū)動程序員的長鞭?是決定產(chǎn)品發(fā)版的判官?是過程改進的車頭?是質(zhì)量保證的標桿?我認為都不是,測試是標示產(chǎn)品狀態(tài)的溫度計。我們每天的工作是不斷探測產(chǎn)品究竟到達怎樣的“溫度”。

  做好一只溫度計可不容易,明確的刻度必不可少,對于測試來說,明確的標準是正確顯示測試狀態(tài)的前提。我們有很多標準,可總的來說,這些標準都跟明確有差距,因為我們的測試標準大多采用列舉法,而列舉法的缺陷是無法窮舉,導致很多情況下無法找到對應(yīng)的標準。

  溫度計要能根據(jù)溫度的變化而相應(yīng)變化,而測試人員的水平參差不齊,在產(chǎn)品狀態(tài)變化時,“相應(yīng)”的程度會不一樣,這會直接導致狀態(tài)反映失真。

  溫度計不光要刻度準確,相應(yīng)反映。它測量的準確性還和使用者的使用方法有關(guān)。比如,測試體溫需要5分鐘,如果你只量了3分鐘,你得到的結(jié)果不會是準確的。測試也是一樣,沒有足夠的測試資源,也只能得到一個并不準確的產(chǎn)品狀態(tài)。

  對于溫度計來說,觀察的角度不同,溫度計顯示的溫度也不同。測試也一樣,說通俗點是屁股決定腦袋,造成的結(jié)果是發(fā)版時間更重要時,測試總會從測試部轉(zhuǎn)為開發(fā)部。而產(chǎn)品質(zhì)量更主要時,測試又會轉(zhuǎn)回來。

  當外界環(huán)境變化時,溫度計的顯示只能作為參考。如在海邊,100度水才開,而在高原,80度水已經(jīng)開了。對測試而言,產(chǎn)品質(zhì)量要服從市場需要,當市場需要“水開”時,80度的水也能開。

  對于測試而言,我們能做的只有2件事:

  1、明確并讓所有人掌握標準

  2、讓測試人員的水平提高并趨同。

  而對于開發(fā)管理者而言,如何用好測試這支溫度計,需要發(fā)揮管理者的智慧了。