[发明专利]一种对MIDlet生命周期事件记录回放的测试方法无效
申请号: | 200910010824.6 | 申请日: | 2009-03-21 |
公开(公告)号: | CN101510170A | 公开(公告)日: | 2009-08-19 |
发明(设计)人: | 杜振军;陈荣;刘亚清;屠丹;杨红;刘洪波 | 申请(专利权)人: | 大连海事大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 大连八方知识产权代理有限公司 | 代理人: | 卫茂才 |
地址: | 116026辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 midlet 生命周期 事件 记录 回放 测试 方法 | ||
技术领域
本发明涉及一种嵌入式软件的测试方法,尤其涉及一种Java ME嵌入式软件中MIDlet生命周期事件的测试方法。
背景技术
MIDlet是一种符合MIDP规范的Java ME(Java Micro Edition)应用程序类型,广泛应用在手机、PDA等移动计算设备上。MIDlet是被AMS(即应用程序管理器)管理的。AMS负责MIDlet的安装、下载、创建、运行和删除等操作。在被AMS管理的同时,MIDlet可以和AMS通信,通知AMS自己状态的变化。一个MIDlet在其生命周期中有Active,Paused,Destroyed三种状态,即活动态、暂停态、销毁态。MIDlet生命周期相关的事件方法有startApp,pauseApp,destroyApp,resumeRequest,notifyPaused和notifyDestroyed方法。在一个MIDlet刚被创建时处于Paused状态,随后AMS会适时自动调用startApp方法并进入Active状态。在运行期间如果AMS决定临时释放一些资源以运行其他功能(比如有电话打来或运行另一个MIDlet等情况),AMS会调用pauseApp方法使MIDlet进入Paused状态,或者用户在程序中调用了notifyPaused方法,也会通知到AMS令MIDlet进入Paused状态。在Paused状态,AMS可适时直接调用startApp方法或是接收到程序中resumeRequst方法的通知时,使MIDlet从Paused状态回到Active状态。无论是在Paused还是Active状态,AMS都可直接调用destroyApp方法或是接收到程序中的notifyDestroy方法的通知,使MIDlet进入Destroyed状态。程序中虽也可直接调用destroyApp/pauseApp方法,但是并不会引起MIDlet状态的变化,只有在程序中调用notifyDestroyed/notifyPaused方法时才会通知AMS,由AMS决定MIDlet状态的变化。
MIDlet生命周期的管理和状态的变化在MIDlet的正确运行中是非常重要的,若能对生命周期事件进行自动记录,并且实现按记录内容自动回放,便可以方便地实现测试MIDlet的事件及状态变化序列是否在多次运行中保持稳定可靠;特别是测试MIDlet被从模拟器移植到真机或是移植到不同的设备上后能否正常运行;另外,MIDlet的界面测试中往往也需要生命周期事件记录与回放的配合。但是由于MIDP规范的限制,实现对MIDlet生命周期事件的自动记录与回放并非易事。目前针对Java ME嵌入式软件的测试框架和工具有开源的J2MEUnit、JMUnit和JTHarness等,商业工具有Mobile JUnit等。然而当前的各种测试工具和人们采用的Java ME软件测试手段中均没有实现针对生命周期事件的记录回放功能。因此,实现一种对MIDlet生命周期事件进行记录回放的测试方法是急需解决的问题,具有积极的意义。
发明内容
本发明针对以上问题的提出,研制一种对JavaME嵌入式软件中的MIDlet生命周期事件的记录回放的测试方法。它由事件记录、事件回放和结果比较分析三阶段构成;它通过代码插装的方式将MIDlet类中原来的生命周期事件方法分别用新建的方法包裹起来,在其中注入记录代码的方式实现生命周期事件的记录;通过注入回放线程,实现依据记录文件内容顺序自动触发跟踪执行事件序列,完成记录事件的回放;将自动回放的结果与记录的事件序列相比较,完成测试结果的分析。具体包括以下步骤:
1.记录生命周期事件:
(1)定位且备份待修改的MIDlet类;
(2)将MIDlet类中原生命周期事件方法分别用新方法包裹起来,注入记录代码,修改成“记录MIDlet”;
(3)启动HTTP Server;
(4)启动“记录MIDlet”,将记录结果存于本地设备并发送给Server端保存。
(5)结束记录阶段,关闭HTTP Server,备份记录阶段修改的MIDlet类文件;
其中(2)的具体特征为:
(a)对于startApp,destroyApp,pauseApp方法,采取将原方法更名,然后重写新的startApp,destroyApp,pauseApp方法,将更名后的原方法包裹于其中,并在原方法调用前的位置注入记录代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连海事大学,未经大连海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910010824.6/2.html,转载请声明来源钻瓜专利网。