【技術實現步驟摘要】
本專利技術屬于軟件自動化測試領域,涉及一種基于粒子群優化算法的Android自動化測試方法。
技術介紹
目前的Android應用自動化測試依舊需要大量的測試人員的手動參與,測試周期長,效率和覆蓋率都較低,以及使用現有測試工具會導致代碼冗余的問題,關鍵字驅動的測試框架是通過使用測試指令來操作測試用例生成的方法。目前基于關鍵字的測試框架與測試方法在Android應用的自動化測試中應用較為廣泛。Robotium是以對Instrumentation框架的封裝為基礎的開源測試框架,主要用于模仿用戶的場景測試。使用Robotium能夠簡易地為Android應用編寫強健而有效的自動化黑盒及白盒測試。將關鍵字思想與Robotium的結合有利于測試代碼模塊化與測試數據分離,提高便利性與健壯性。粒子群優化算法(ParticleSwarmoptimization,PSO)又稱為粒子群算法、微粒群算法、或微粒群優化算法。是通過模擬鳥群覓食行為而發展起來的一種基于群體協作的隨機搜索算法,引入粒子群優化算法可以使生成的輸入類測試用例更加高效。Robotium框架:Android應用的自動化測試領域最為重要的研究成果就是GoogleAndroidSDK研發的Instrumentation框架,是現階段絕大多數的自動化測試工具的核心。Robotium是目前使用率最高的Android開源測試框架,主要用于模仿用戶的場景測試。使用Robotium能夠簡易地 ...
【技術保護點】
一種基于粒子群優化算法的Android自動化測試方法,其特征在于,包括以下步驟:步驟一、將應用安裝在模擬器上,viewer模塊負責開啟View?Server服務,通過hierarchy?viewer獲取應用的控件層次樹信息;步驟二、以獲取到的控件層次樹信息為輸入,在生成控件層次樹的方法中將其組織成便于遍歷的樹結構;步驟三、遍歷build?tree構造的控件層次樹,每遍歷一個節點就去存儲測試用例模塊test?case中查找是否有歷史測試用例,有則繼續遍歷下一個節點,沒有則調用生成測試數據模塊PSO的create?test?case方法進行生成;所述的生成過程如下:根據控件層次樹中的控件信息調用測試方法模塊test?method,查詢該控件的測試用例需要用到的測試方法并記錄關鍵字method?key,而后create?test?case調用pre?seed方法生成測試數據,其中pre?seed中為粒子群優化算法的具體實現,根據數據類型生成隨機序列,粒子群優化算法通過調整序列中的粒子最終得到最優測試數據,將測試數據與測試方法信息結合即為測試用例,存放于在test?case模塊中;步驟四、調用 ...
【技術特征摘要】
1.一種基于粒子群優化算法的Android自動化測試方法,其特征在于,包括以下步驟:
步驟一、將應用安裝在模擬器上,viewer模塊負責開啟ViewServer服務,通過hierarchy
viewer獲取應用的控件層次樹信息;
步驟二、以獲取到的控件層次樹信息為輸入,在生成控件層次樹的方法中將其組織成便
于遍歷的樹結構;
步驟三、遍歷buildtree構造的控件層次樹,每遍歷一個節點就去存儲測試用例模塊test
case中查找是否有歷史測試用例,有則繼續遍歷下一個節點,沒有則調用生成測試數據模塊
PSO的createtestcase方法進行生成;所述的生成過程如下:根據控件層次樹中的控件信息調
用測試方法模塊testmethod,查詢該控件的測試用例需要用到的測試方法并記錄關鍵字
methodkey,而后createtestcase調用pre-seed方法生成測試數據,其中pre-seed中為粒子群
優化算法的具體實現,根據數據類型生成隨機序列,粒子群優化算法通過調整序列中的粒子
最終得到最優測試數據,將測試數據與測試方法信息結合即為測試用例,存放于在testcase
模塊中;
步驟四、調用testcase模塊中存儲的測試用例集,即可實現自動化測試。
2.一種基于粒子群優化算法的Android自動化測試系統,其特征在于,包括viewer模塊、
testmethod模塊、PSO模塊、testcase模塊、輸出日志模塊report/log;其中:
PSO模塊負責粒子群優化算法對測試用例的生成;
viewer模塊負責獲取被測應用的控件層次樹信息;
testmethod模塊是對Android自動化測試框架robotium中基本測試方法的的重新封裝,負責
減少代碼冗余提供更高效的測試方法;
report/log模塊負責記錄運行日志,方便查找異常信息;
testcase模塊用于存儲已經生成的測試用例,便于復用以提高測試用例生成效率;
當選定一個APK后,首先連接其與viewer模塊的通信,將控件層次樹信息傳送給PSO模塊
的buildtree方法,將控件層次樹信息整理成基于關鍵字的方便遍歷的控件層次樹,而后調用
createtestcase方法,過程中不斷查詢testcase中是否有可復用的測試用例,若沒有則調用
pre-seed生成,若有則跳過,最終生成的所有測試用例均存儲于testcase中。
3.如權利要求2所述的一種基于粒子群優化算法的Android自動化測試系統,其特征在于,
進一步地,viewer模塊獲取控件層次樹信息采用以下方法:
3.1將Android設備上的4939端口映射到PC的某端口上,使得向PC的該端口號發包轉發到
Android設備的4939端口上;
3.2打開ViewServer服務,連接Vie...
【專利技術屬性】
技術研發人員:胡昌振,馬銳,王達光,劉月,王赫晨,
申請(專利權)人:北京理工大學,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。