java測試用例的編寫
能否舉個簡單的例子呢
其他編程語言的測試用例是如何編寫的
測試用例的本質是神馬呢
測試本質就是寫一些代碼來調用你編寫的函數,給出測試用的參數,看返回值是否符合預期,從而判斷代碼是否有錯誤。
測試用例就是用來測試的輸入數據,每組數據是一個測試用例。
編寫測試用例的原則是盡量提高代碼分支覆蓋率和代碼路徑覆蓋率,測試各種典型和邊界數據。比如如下函數:
void foo(int i, int j)
{
if (i > 0)
//a
else
//b
if (j > 0)
// c
else
// d
}
從路徑上看,這個程序有4條路徑
a-c a-d b-c b-d
所以要覆蓋所有的路徑,需要起碼4個測試用例,比如
i=1 j=1
i=-1, j=1
i=1, j=-1
i=-1, j=-1
但是覆蓋所有的代碼(也就是所有的代碼分支都執行到),只要2個用例
i=1,j=1 執行a c
i=-1,j=-1執行b d
當然也可以是別的,比如
i=1,j=-1 執行a d
i=-1,j=1執行b c
一般來說,在編寫測試用例的時候,要測試所有的路徑需要非常多的測試用例,往往是很難的,但是起碼我們要覆蓋所有的分支
在java中,我們有junit等一些框架來實現自動化的測試,這些框架的目的無非就是將測試用例依次執行,分別判斷結果這樣的事情自動完成。