android 测试 大赛,轻量级android应用自动测试工具-2017全国大学生软件测试大赛.pdf...
輕量級android應用自動測試工具-2017全國大學生軟件測試大賽
DroidBot: A Lightweight Android App Testing Bot
輕量級Android應用自動測試工具
李元春
liyuanchun@
2017全國大學生軟件測試大賽總決賽
Can robots beat human?
Android 自動測試輸入生成
?理想:
? 計算機自動生成測試輸入
? 自動生成的輸入能快速、準確地發現bug
關于“Android 自動測試輸入生成”的研究
?近百篇相關論文發表在軟件工程領域學術會議
? 代表性工作:DynoDroid, A3E, PUMA, ACTEve, Gator等
?現有研究主要關注
? 分析代碼,構造應用模型,生成能觸發問題代碼的輸入
?主要問題
? 受制于代碼分析的難度
? 較高的使用要求(需要插樁系統、應用等)
絕大多數自動測試工具的覆蓋率及覆蓋速度不如Monkey
(圖源:Automated Test Input Generation for Android: Are We There Yet? Choudhary et al. ASE 2015)
工具名稱 不需要插樁系統 不需要插樁應用 不需要源代碼
Monkey ? ? ?
DynoDroid ? ? ?
GUIRipper ? ? ?
PUMA ? ? ?
A3E ? ? ?
ACTEve ? ? ?
JPF-Android ? ? ?
絕大多數自動測試工具需要插樁系統、插樁應用、或需要源碼
(數據源:Automated Test Input Generation for Android: Are We There Yet? Choudhary et al. ASE 2015)
Android 自動測試輸入生成
?現實
? 大量的測試用例需要人工編寫
? 隨機測試工具(Monkey)速度慢、覆蓋率低、不可復現
? 云測試、眾包測試
? 無測試……
關于DroidBot
? 開源/honeynet/droidbot
1
? 起初為The Honeynet Project 的一部分,用于惡意應用識別
? 現在是一個通用的應用自動測試框架
? 廣泛用于各種應用動態分析研究
1 The Honeynet Project是一個專注于信息安全相關研究的非營利性組織。
DroidBot的設計思想
輕量級 可擴展
? 無需插樁系統、應用 ? 生成應用UI轉換模型
? 無需源代碼 ? 提供基于模型的測試策略
? 適用于絕大多數測試場景 ? 支持自定義測試策略
DroidBot架構
?Adapter: 與設備及應用I/O
? 讀取UI、進程等相關信息
? 發送UI交互、Intent、傳感器等輸入
? Brain: 構造應用模型并決策
? 模型:UI狀態轉換圖(UTG)
獲取App狀態信息
? UI結構及內容:
總結
以上是生活随笔為你收集整理的android 测试 大赛,轻量级android应用自动测试工具-2017全国大学生软件测试大赛.pdf...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android4.0 菜单,Androi
- 下一篇: android onclick frag