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

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

  溫度計要能根據溫度的變化而相應變化,而測試人員的水平參差不齊,在產品狀態變化時,“相應”的程度會不一樣,這會直接導致狀態反映失真。

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

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

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

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

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

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

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