parasoft Jtest 使用教程:創(chuàng)建并使用參數(shù)化測(cè)試用例(上)
本次教程的內(nèi)容是怎樣生成和使用參數(shù)化的JUnit測(cè)試用例,一起來(lái)看看吧。
進(jìn)行之前,需要?jiǎng)?chuàng)建Jtest Example工程并測(cè)試用例參數(shù)化許可。可詳見(jiàn)之前教程。
詳細(xì)步驟
- 復(fù)習(xí)用戶定義的測(cè)試用例Jtest Example> examples.nbank>AccountTest.java.的可用性。
- 通過(guò)選擇Jtest Example> examples.nbank>Account.java,運(yùn)行測(cè)試,然后運(yùn)行"Run Unit Tests"測(cè)試配置。
- 為了增加覆蓋率并且尋找額外的問(wèn)題,參數(shù)化測(cè)試用例如下所示能夠達(dá)到自動(dòng)生成測(cè)試數(shù)據(jù)傳遞給現(xiàn)存測(cè)試用例:
a、右擊Jtest Example> examples.nbank>AccountTest.java> AccountTest>testApply(), 然后選擇 Jtest> Extract Parameterized Test Case。
b、在測(cè)試用例參數(shù)化向?qū)е校x擇Generate Excel spreadsheet with heuristics and corner case values.這樣告訴Jtest生成corner用例值以及在運(yùn)行時(shí)不同的源輸入,并且生成具有所有測(cè)試數(shù)據(jù)的Excel電子表格。
c、點(diǎn)擊Next。
d、點(diǎn)擊Finish。
打開(kāi)AccountTest.java來(lái)看參數(shù)化的結(jié)果。
雙擊Jtest Example> AccountTest.xls打開(kāi)Excel文件。或者你安裝了Excel,右擊節(jié)點(diǎn),然后選擇Open With>System Editor。
通過(guò)選擇Jtest Example> examples.nbank>Account.java運(yùn)行參數(shù)化測(cè)試,然后運(yùn)行”Run Unit Tests”測(cè)試配置。
相似地,傳遞nulls時(shí)引發(fā)NullPointerExceptions。
首先,在第8行,null作為名字來(lái)傳遞,將引發(fā)NullPointerException。
第二,在第18行,null作為社會(huì)保險(xiǎn)號(hào),將引發(fā)NullPointerException。
第三個(gè)NullPointerException指向代碼的邏輯錯(cuò)誤。在Customer類中調(diào)用equals方法時(shí)引發(fā)空指針異常,因?yàn)閒ield_ssn是空。如果去查看代碼,會(huì)發(fā)現(xiàn)field_ssn被初始化為null。在Customer的構(gòu)造函數(shù)中再?zèng)]有將此變量初始成其它的值。其結(jié)果是,它的值仍然為null,在equals方法中解引用時(shí)導(dǎo)致空指針異常。這是代碼中的一個(gè)缺陷需要修復(fù)。同樣的缺陷能夠被Jtest BugDetective或者自動(dòng)化的單元測(cè)試發(fā)現(xiàn)。
此練習(xí)向你展示了怎樣促使測(cè)試用例參數(shù)化通過(guò)一個(gè)手工編寫的JUnit測(cè)試用例來(lái)自動(dòng)生成測(cè)試數(shù)據(jù)。或者,你可以通過(guò)編輯Excel電子表格手動(dòng)添加測(cè)試數(shù)據(jù),或者將Jtest指向你自己的測(cè)試數(shù)據(jù)。
以上就是本次教程的內(nèi)容了,你也可以申請(qǐng)jtest試用>>,親自動(dòng)手試試哦。
查看更多parasoft測(cè)試產(chǎn)品
獲取更多活動(dòng)信息