嵌入式JavaPOS系统测试的设计与实现
Junit.Framework包中包含了JUnit测试类所需要的所有基类,实际上这个包也是整个JUnit的基础框架。TestCase类是这个包的核心类,测试人员对TestCase类进行继承开发自己的类测试驱动程序。其余的类用来支援这个TestCase类,比如TestSuite用类聚合多个测试用例(Testcase),Assert类实现期望值和实际值的验证,TestResult收集所有测试用例执行后的结果。Test接口是这个包的关键所在,它建立了TestCase和TestSuite之间的关联,同时为整个框架做了扩展预留。在J2SE下简单应用举例:
右击项目名称选择新建→JUnit测试用例本文引用地址:https://www.eepw.com.cn/article/152420.htm
(运行)调试方式→JUnit测试。图1为运行结果。
JUnit在J2SE下可以很好地应用,但是在J2ME下应用存在比较大的困难,因为在J2ME下没有反射机制。在实际测试中可以利用其优点来最大地发挥。
2 POSDouble测试
由于MIDP 1.0下不支持浮点数(float)运算,因此必须开发适合J2ME下的浮点数运算方法。这里主要实现了以下方法,这些方法的测试都是通过JUnit进行的白盒测试,测试数据的选择主要是根据市场的实际需求设定,保证了现阶段的实际需求;而在MIDP 2.0下可以支持浮点数的运算,无须自己开发浮点数运算的方法。
类名:POSDouble,主要是用于浮点数计算,主要测试以下方法:
POSDouble:将字符串转换为POSDouble数。
POSDouble.Add:加法。
POSDouble.Sub:减法。
POSDouble.Mult:乘法。
POSDouble.Div:除法。
POSDouble isMax:比较浮点数大小。
POSDouble tolong:将POSDouble数转化成长整数。
POSDouble测试用例(以POSDouble.Add:加法为例):
3 通用接口测试
由于POSDouble是在J2SE下开发的,所以使用了JUnit工具,而其他接口函数是在J2ME下开发的,所以接口的测试采用了MUnit(JUnit的子集)工具。MUnit工具的使用方法、规则请参考《MUnit测试集编写规范》。
(1)测试框架
目录结构的总原则是:源代码目录与测试代码目录分离,互不干扰;测试代码目录与源代码目录的分支结构一致,便于查找、维护。
(2)仿真环境测试执行流程
首先编写测试代码,测试代码尽量放在与源代码相对应的测试目录中。修改测试程序入口,如使用ePos.set.FunctionFormFactory。
(3)目标环境测试执行流程
编写测试代码,修改测试程序入口,构建测试代码的Jar文件,下载Jar文件到目标机运行。
(4)测试捷径
通常情况下,在目标环境下测试,需要先编写测试用例、再编译、再下载、再运行,如果突然想到一个测试用例,又需重复上述操作步骤,就会非常耗时。为了增强测试的灵活性,可以加入键盘监听事件。首先编写键盘监听类,将所有的测试单步对应到不同的按键上去,即按一个键执行一个操作步骤。如:“a”对应open操作,“b”对应claim操作,“c”对应setDeviceEnable(true)操作。要执行一个完整的测试过程,就分步骤按相应的按键。要想执行不同的测试用例就按不同的顺序按相应的按键,这样就不再需要编写测试用例、编译、构建、下载,可以节约很多时间,测试效率得到很大提升。同时可以结合原有测试用例,让不同的按键对应到不同的(完整的)测试用例,这样不占用程序入口,同样可以实现并执行原来的测试用例。
评论