int[] par = ...{4,4,4,4,5,4,4,3,4,4,3,4,4,5,4,4,4,4};
c.setPar(par);
第1洞與第2洞標準桿之和顯然為4+4=8,所以可以編寫下面這樣的代碼進行測試:
if ( c.parUpToHole(2) != 8 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 2 holes not 8");
}
如果運行上面的代碼獲得一個錯誤信息的話,那我們就有一個bug需要修復了。如果她只是默默地運行,哈哈,那就一切正常。
你可以寫一段代碼用來測試這18個洞,但大多數程序員知道只需要測試邊界值,即0個和18個洞,以及中間幾個值就可以達到要求。例如:
if ( c.parUpToHole(0) != 0 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 0 holes not 0");
}
if ( c.parUpToHole(2) != 8 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 2 holes not 8");
}
if ( c.parUpToHole(8) != 72 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 8 holes not 72");
}
上面的代碼,比較了一些值,然后根據比較的結果進行相應的處理,盡管實際有效,卻缺乏代碼的藝術性。通過這個程序,可以對"parUpToHole"進行單元測試,運行后,我們將贊賞地肯定這個方法是如預定的那樣工作。
其實,我們可以做得更加漂亮……
文章來源于領測軟件測試網 http://www.kjueaiud.com/