[發(fā)明專利]一種基于Android的自動化軟件黑盒測試系統(tǒng)及方法有效
| 申請?zhí)枺?/td> | 201310305497.3 | 申請日: | 2013-07-18 |
| 公開(公告)號: | CN103336742A | 公開(公告)日: | 2013-10-02 |
| 發(fā)明(設計)人: | 姜博;王珂;高小鵬;沈彥鳴;陳鵬;萬寒;龍翔 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 成金玉;盧紀 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 android 自動化 軟件 黑盒 測試 系統(tǒng) 方法 | ||
1.一種基于Android的自動化軟件黑盒測試系統(tǒng),其特征在于包括:事件注入模塊、事件動態(tài)執(zhí)行和過濾模塊、GUI信息自動化錄制模塊、GUI狀態(tài)轉換圖建立模塊,其中:
事件注入模塊:人工編寫訓練腳本,將應用程序的關鍵UI事件和系統(tǒng)intent事件全集發(fā)送到應用程序,為事件動態(tài)執(zhí)行和過濾模塊提供事件激勵;根據Android應用程序AndroidManifest.xml文件的所有intent事件描述,手動的構造intent事件,同時根據Android應用程序GUI控件信息構造關鍵UI事件,并且以自定制測試工具可識別的腳本命令形式,編寫訓練腳本,最終以訓練腳本為形式注入到定制測試工具,從而進一步發(fā)送到Android真實設備或者Android模擬器上,促使相應應用程序運行;
事件動態(tài)執(zhí)行和過濾模塊:執(zhí)行訓練腳本,并在訓練腳本執(zhí)行過程中,針對每一個應用程序窗口,根據過濾條件動態(tài)過濾無關系統(tǒng)intent事件,來避免GUI信息自動化錄制模塊錄制無關事件所觸發(fā)的GUI轉換;使用定制測試工具執(zhí)行訓練腳本,用來觸發(fā)Android真實設備或者Android模擬器上對應應用程序的運行;根據過濾條件將應用程序當前GUI窗口下的無關事件過濾掉;過濾條件為是否可以觸發(fā)Android應用程序GUI窗口的變化,將無法觸發(fā)窗口轉換的事件過濾掉;在訓練腳本的執(zhí)行過程中的動態(tài)執(zhí)行和過濾事件,必須加入Android應用程序GUI的狀態(tài)驗證,來判斷某事件是否應該被過濾掉;所述狀態(tài)驗證是在訓練腳本激勵應用程序執(zhí)行的過程中,通過比對某GUI的控件集屬性或具有代表性控件(比如TextView控件、控件樹的葉子控件等)的關鍵屬性來驗證該GUI窗口是否有變化;狀態(tài)驗證過程中,可以通過設定相應參數來選擇是比對GUI控件集屬性還是比對具有代表性控件的關鍵屬性;在比對GUI控件集屬性或者具有代表性控件關鍵屬性時,采用DUMPQ命令來獲取當前窗口所有的控件信息或者采用DUMPQ的改進命令DUMPW命令,只獲取指定控件的控件信息;
GUI信息自動化錄制模塊:針對事件動態(tài)執(zhí)行和過濾模塊中未被過濾的系統(tǒng)intent事件和人工構造的關鍵UI事件,自動錄制其所觸發(fā)的新GUI控件信息和基于該事件的GUI轉換關系,并存儲到數據庫中,來為GUI狀態(tài)轉換圖自動建立模塊提供建立轉換圖所需數據,其中GUI控件信息包括Android應用程序某窗口中GUI的控件集和對應的控件屬性,窗口轉換關系主要記錄應用程序的當前窗口名、窗口轉換事件和下一個窗口名;當訓練腳本執(zhí)行過程中一個事件觸發(fā)了GUI轉換,一方面自動向Android系統(tǒng)的View?Server發(fā)送DUMP命令,Android在接到命令后,會將當前窗口的窗口名、GUI控件信息返回給該發(fā)明的系統(tǒng)中,并存儲數據庫GUI控件信息表中;另一方面,將事件觸發(fā)前的GUI窗口名、觸發(fā)事件名和該事件觸發(fā)的新GUI窗口名存儲到數據庫的窗口轉換關系表中;
GUI狀態(tài)轉換圖自動建立模塊:根據GUI信息自動化錄制模塊錄制的GUI相關信息,參數化定義狀態(tài)轉換圖的狀態(tài)和條件轉換,然后建立狀態(tài)轉換圖,最后發(fā)送到測試生成模塊,生成測試用例;由于使用參數化定義窗口狀態(tài),因此可以通過設置參數將窗口轉換表中的一個窗口名和該窗口下所有控件的屬性集合定義為一個GUI狀態(tài);也可以設置參數將窗口轉換表中的一個窗口名和該窗口下所有葉子控件或者可聚焦控件的屬性集合定義為一個GUI狀態(tài);另外,將窗口轉換事件定義為基于事件的GUI狀態(tài)轉換;根據設定的參數,選擇性的在數據全集中,讀取所需數據,建立狀態(tài)對象,將其作為狀態(tài)轉換圖的一個節(jié)點;然后對所有狀態(tài)編號,針對某一個狀態(tài)即GUI窗口,從數據庫中讀取該狀態(tài)下所有狀態(tài)轉換關系即所有以該窗口名為起始窗口的窗口轉換關系,作為狀態(tài)轉換圖中該節(jié)點到其他節(jié)點的有向邊,以上過程即建立了GUI狀態(tài)轉換圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310305497.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:藥效持久的醫(yī)療耳貼
- 下一篇:一種天門冬混合制劑洗滌品
- 一種Android設備之間遠程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設備開機啟動時間的設置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動操作系統(tǒng)的Android兼容層實現(xiàn)方法和系統(tǒng)
- 一種Android智能設備APK安全管控方法
- 一種應用程序開發(fā)中創(chuàng)建Android庫模塊依賴關系的方法及裝置





