嵌入式JavaPOS系統測試的設計與實(shí)現
Junit.Framework包中包含了JUnit測試類(lèi)所需要的所有基類(lèi),實(shí)際上這個(gè)包也是整個(gè)JUnit的基礎框架。TestCase類(lèi)是這個(gè)包的核心類(lèi),測試人員對TestCase類(lèi)進(jìn)行繼承開(kāi)發(fā)自己的類(lèi)測試驅動(dòng)程序。其余的類(lèi)用來(lái)支援這個(gè)TestCase類(lèi),比如TestSuite用類(lèi)聚合多個(gè)測試用例(Testcase),Assert類(lèi)實(shí)現期望值和實(shí)際值的驗證,TestResult收集所有測試用例執行后的結果。Test接口是這個(gè)包的關(guān)鍵所在,它建立了TestCase和TestSuite之間的關(guān)聯(lián),同時(shí)為整個(gè)框架做了擴展預留。在J2SE下簡(jiǎn)單應用舉例:
右擊項目名稱(chēng)選擇新建→JUnit測試用例本文引用地址:http://dyxdggzs.com/article/152420.htm
(運行)調試方式→JUnit測試。圖1為運行結果。
JUnit在J2SE下可以很好地應用,但是在J2ME下應用存在比較大的困難,因為在J2ME下沒(méi)有反射機制。在實(shí)際測試中可以利用其優(yōu)點(diǎn)來(lái)最大地發(fā)揮。
2 POSDouble測試
由于MIDP 1.0下不支持浮點(diǎn)數(float)運算,因此必須開(kāi)發(fā)適合J2ME下的浮點(diǎn)數運算方法。這里主要實(shí)現了以下方法,這些方法的測試都是通過(guò)JUnit進(jìn)行的白盒測試,測試數據的選擇主要是根據市場(chǎng)的實(shí)際需求設定,保證了現階段的實(shí)際需求;而在MIDP 2.0下可以支持浮點(diǎn)數的運算,無(wú)須自己開(kāi)發(fā)浮點(diǎn)數運算的方法。
類(lèi)名:POSDouble,主要是用于浮點(diǎn)數計算,主要測試以下方法:
POSDouble:將字符串轉換為POSDouble數。
POSDouble.Add:加法。
POSDouble.Sub:減法。
POSDouble.Mult:乘法。
POSDouble.Div:除法。
POSDouble isMax:比較浮點(diǎn)數大小。
POSDouble tolong:將POSDouble數轉化成長(cháng)整數。
POSDouble測試用例(以POSDouble.Add:加法為例):
3 通用接口測試
由于POSDouble是在J2SE下開(kāi)發(fā)的,所以使用了JUnit工具,而其他接口函數是在J2ME下開(kāi)發(fā)的,所以接口的測試采用了MUnit(JUnit的子集)工具。MUnit工具的使用方法、規則請參考《MUnit測試集編寫(xiě)規范》。
(1)測試框架
目錄結構的總原則是:源代碼目錄與測試代碼目錄分離,互不干擾;測試代碼目錄與源代碼目錄的分支結構一致,便于查找、維護。
(2)仿真環(huán)境測試執行流程
首先編寫(xiě)測試代碼,測試代碼盡量放在與源代碼相對應的測試目錄中。修改測試程序入口,如使用ePos.set.FunctionFormFactory。
(3)目標環(huán)境測試執行流程
編寫(xiě)測試代碼,修改測試程序入口,構建測試代碼的Jar文件,下載Jar文件到目標機運行。
(4)測試捷徑
通常情況下,在目標環(huán)境下測試,需要先編寫(xiě)測試用例、再編譯、再下載、再運行,如果突然想到一個(gè)測試用例,又需重復上述操作步驟,就會(huì )非常耗時(shí)。為了增強測試的靈活性,可以加入鍵盤(pán)監聽(tīng)事件。首先編寫(xiě)鍵盤(pán)監聽(tīng)類(lèi),將所有的測試單步對應到不同的按鍵上去,即按一個(gè)鍵執行一個(gè)操作步驟。如:“a”對應open操作,“b”對應claim操作,“c”對應setDeviceEnable(true)操作。要執行一個(gè)完整的測試過(guò)程,就分步驟按相應的按鍵。要想執行不同的測試用例就按不同的順序按相應的按鍵,這樣就不再需要編寫(xiě)測試用例、編譯、構建、下載,可以節約很多時(shí)間,測試效率得到很大提升。同時(shí)可以結合原有測試用例,讓不同的按鍵對應到不同的(完整的)測試用例,這樣不占用程序入口,同樣可以實(shí)現并執行原來(lái)的測試用例。
評論