畫了一張表:
地址:http://naotu.baidu.com/viewshare.html?shareId=axhs7iquac08
自動化測試
單元測試(白盒測試)
XUnit等(一般開發自己做)
接口自動化測試(灰盒測試)
soapUI,優點:上手快 缺點:商業工具
postMan:chrome插件 優點:免費 缺點:用例管理和執行困難
java–Httpclient 等等不同語言不同協議選擇不同: 優點:可根據需要自己封裝 缺點:需要寫代碼,入門門檻相對高
Jmeter / LoadRunner 等等
ui自動化測試(黑盒測試)
工具層
B/S
WebDriver 優點:使用最廣范的開源框架 缺點:需要寫代碼,入門門檻相對高
QTP 優點:可以錄制腳本支持C/S架構 缺點:商業工具,VBS過時語言
C/S
QTP
按鍵精靈
AutoIT 等等
APP
Android
UIAutomator 谷歌官方提供,只能做原生APP的自動化測試,語言java
Monkey 理論上不算UI自動測試框架,更大作用測試app的穩定性
MonkeyRunner 可錄制,但是腳本根據坐標軸定位,兼容性差
Robotium 使用的人較多,文檔也比較齊全,也支持webview,不支持跨進程, 語言java
Appium 支持Hybrid app,也支持跨進程,可以用眾多語言編寫腳本java,ruby,python,c#……目前不支持安卓toast的獲取
Calabash 語言Java ,底層Robotium 同樣不支持跨進程
IOS
UIAutomation 蘋果自家的
Appium 同時支持android, 提供的api也基本一致,代碼復用率高
Calabash 同時支持android, 提供的api也基本一致,代碼復用率高
核心層
用例管理
Xunit /TestNG(JAVA)等等 對用例進行管理
適配層
BDD(行為驅動開發)
例如Cucumber 團隊間通過同一種語言描述系統,避免表達不一致
關鍵字驅動
robot framework 語言 python,便於腳本維護,減低成本
PageObject 理念 把頁面元素和操作進行分離,便於維護,同時減少維護成本