[發明專利]一種對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.szxzyx.cn/pat/books/200910010824.6/2.html,轉載請聲明來源鉆瓜專利網。





