李轉(zhuǎn)運
【摘 要】軟件測試在軟件生命周期中占據(jù)重要的地位,而單元測試作為整個測試過程的第一階段,自然占據(jù)著十分重要的地位。JUnit作為功能強大的單元測試工具之一,主要用于測試基于Java語言編寫的類和方法,而且它還能把不同的測試用例組織成測試用例集來進行測試,使得測試自動化。本文主要介紹了單元測試和JUnit工具,然后使用JUnit工具實現(xiàn)了對包含除法運行的數(shù)學(xué)類的單元測試,并總結(jié)了單元測試的重要性。
【關(guān)鍵詞】軟件測試;單元測試;JUnit
1 單元測試概述
隨著軟件測試技術(shù)快速發(fā)展,出現(xiàn)了越來越多針對性更強的測試方法,其中單元測試便是其中一種典型的測試方法。單元測試是驗證代碼正確性的重要工具,是系統(tǒng)測試當(dāng)中的重要環(huán)節(jié),也是需要編寫代碼才能進行測試的一種測試方法,其作用是獲取應(yīng)用程序中可測試軟件的最小片段,將其同其他代碼隔離開來,然后確定它的行為確實和開發(fā)者所期望的一致[1]。顯然,只有保證了最小單位的代碼準(zhǔn)確,才能有效構(gòu)建基于它們之上的軟件模塊及系統(tǒng)。在標(biāo)準(zhǔn)的開發(fā)過程中,單元測試的代碼與實際程序的代碼具有同等的重要性。
2 JUnit簡介
JUnit是一個Java語言的單元測試框架,是在1997年由Kent Beck(XP和refor先驅(qū)者之一)和Erich Gamma(GoF之一)創(chuàng)建[2]。1997年以來,JUnit已經(jīng)發(fā)展成業(yè)界標(biāo)準(zhǔn)的Java測試和設(shè)計工具,這個框架所體現(xiàn)的概念被抽象成XUnit框架,并被移植到30多種語言和環(huán)境中。JUnit是一個SourceForge上的開源軟件,它是一個簡潔、實用和經(jīng)典的單元測試框架。
3 使用Junit對包含除法運算的數(shù)學(xué)類進行單元測試
除法運算分為整數(shù)除法和小數(shù)除法,其中整數(shù)除法要求整數(shù)除以整數(shù),結(jié)果也為整數(shù)。MyMath類中包含了實現(xiàn)整數(shù)除法的方法intDivide()和實現(xiàn)小數(shù)除法的dblDivide(),對應(yīng)的代碼如表1所示。
使用JUnit對方法intDivide()和方法dblDivide()進行單元測試,測試用例如表2和表3所示。
測試方法
1. 以有效的數(shù)據(jù)對方法IntDivide()和DblDivide()進行測試
創(chuàng)建測試方法,并以表2和表3中的數(shù)據(jù)進行測試,其程序代碼如表4所示。
4 總結(jié)
單元測試是軟件測試的基礎(chǔ),其重要性得到了廣泛認可,使得各種單元測試工具不斷涌現(xiàn),有關(guān)測試腳本的開發(fā)也愈發(fā)普及。本文使用JUnit單元測試工具實現(xiàn)了對包含除法運算的數(shù)學(xué)類單元測試,得到了滿足特定需求的單元測試結(jié)果。單元測試在現(xiàn)實實踐中存在的一個不可忽視的問題是:測試用例的維護成本比較的高,往往對其維護的工作量并不比被測代碼的開發(fā)量小,對于這一點我們需要有足夠的認識。
【參考文獻】
[1]賈美麗,康珺.JUnit在單元測試中的應(yīng)用[J].計算機與現(xiàn)代化,2013:116-118.
[2]許麗花.軟件測試[M].高等教育出版社,2013.
[3]陳承歡.軟件測試任務(wù)驅(qū)動式教程[M].人民郵電出版社,2014.endprint