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