[发明专利]一种对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方法,将更名后的原方法包裹于其中,并在原方法调用前的位置注入记录代码。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连海事大学,未经大连海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910010824.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top