在本篇文章中,將給大家推薦14款日常工作中經常用到的測試開發工具神器,涵蓋了自動化測試、APP性能測試、穩定性測試、抓包工具等。
一、UI自動化測試工具
1. uiautomator2
Github地址
https://github.com/openatx/uiautomator2介紹:
openatx開源的ui自動化工具,支持Android和iOS。主要面向的編程語言是Python,API設計簡潔易用,在開源社區也是很受歡迎。
安裝:
pip install --upgrade --pre uiautomator2# Or you can install directly from github sourcegit clone https://github.com/openatx/uiautomator2pip install -e uiautomator2
2. Appium
Github地址:
https://github.com/appium/appium介紹:
基於Node.js的一款非常成熟的APP UI自動化工具,支持多種語言開發,在測試圈非常流行,可以說是APP UI自動化領域的標桿產品。如果你不知道Appium,都不好意思說自己干測試這行。
3. ATX-Test
Github地址:
https://github.com/pengchenglin/ATX-Test介紹:
基於uiautomator2和unittest封裝的一個UI自動化測試框架。項目作者已經把框架設計、可配置化、底層設備連接、日志模塊、報告模塊都做好了,使用者只需要編寫PageObject和腳本邏輯即可,大大提高了uiautomator2的易用性。不僅如此,該項目現在還支持Monkey運行。
4. Airtest
Github地址:
https://github.com/AirtestProject/Airtest介紹:
網易開源的一個ui自動化測試工具,通過圖像識別和UI控件檢索技術,使得游戲測試簡單快捷。支持Android、iOS、Windows、Unity、Cocos2dx、白鷺引擎、微信小程序,上手簡單,游戲測試的朋友可以體驗體驗。
5. ATXServer2
Github地址:
https://github.com/openatx/atxserver2介紹:
支持Android和iOS的移動設備管理平台。可以通過web界面,察看測試手機的狀態,可以做到遠程操控手機,對於測試兼容性具有較大幫助。部署方便,支持docker-compose部署。
6. STF
Github地址:
https://github.com/openstf/stf介紹:
遠程移動設備管理平台,支持Android、iOS真機管理,功能非常強大。
7. Appetizer
官網地址:
https://www.appetizer.io/cn/介紹:
使用十分方便。可以進行APP UI自動化測試,也可以支持APP穩定性測試,提供GUI界面操作,易用性極強,滿足日常UI自動化需要。可惜只有部分組件開源。
二、APP穩定性測試工具
8. UICrawler
Github地址
https://github.com/lgxqf/UICrawler介紹:
基於Appium的App UI遍歷 & Monkey 工具,支持iOS和Android
9. Maxim
Github地址
https://github.com/zhangzhao4444/Maxim介紹:
號稱是智能monkey,用過的人都覺得真香。支持原生monkey、遍歷控件、黑白名單等功能,而且也封裝了更加易解析的日志文件。有了它之后,已經可以不需要再用原生monkey了。
10. AppCrawler
Github地址
https://github.com/seveniruby/AppCrawler介紹:
一個基於自動遍歷的app爬蟲工具. 支持android和iOS, 支持真機和模擬器. 最大的特點是靈活性. 可通過配置來設定遍歷的規則。
三、APP性能測試工具
11. SoloPi
Github地址
https://github.com/alipay/SoloPi介紹:
SoloPi是一個無線化、非侵入式的Android自動化工具,公測版擁有錄制回放、性能測試、一機多控三項主要功能,能為測試開發人員節省寶貴時間(官方介紹)。一般用於APP的性能測試比較多。
12. GT
Github地址
https://github.com/Tencent/GT介紹:
騰訊開源的APP的隨身調試平台,可對APP進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等等)、開發日志的查看、Crash日志查看、網絡數據包的抓取、APP內部參數的調試、真機代碼耗時統計等。
利用 GT,僅憑一部手機,無需連接電腦,即可對 APP 進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等等)、開發日志的查看、Crash 日志查看、網絡數據包的抓取、APP 內部參數的調試、真機代碼耗時統計等。如果您覺得 GT 提供的功能還不夠滿足您的需要,您還可以利用 GT 提供的基礎 API 自行開發有特殊功能的 GT 插件,幫助您解決更加復雜的 APP 調試問題。
GT 支持 iOS 和 Android 兩個手機平台,其中:
iOS 版是一個 Framework 包,必須嵌入 APP 工程,編譯出帶 GT 的 APP 才能使用;iPhone 和 iPad 應用都能支持。Android 版由一個可直接安裝的 GT 控制台 APP 和 GT SDK 組成,GT 控制台可以獨立安裝使用,SDK 需嵌入被調測的應用、並利用 GT 控制台進行信息展示和參數修改。
四、抓包工具
13. AnyProxy
Github地址
https://github.com/alibaba/anyproxy介紹:
阿里開源的抓包工具,基於Node.js可進行二次開發,使用場景:app爬蟲、接口數據分析等。
14. mitmproxy
Github地址
https://github.com/mitmproxy/mitmproxy介紹:
基於Python的抓包工具,對於pythoner更加友好,主要作用是對抓包數據進行采集供后續分析。
Native
Hybird
H5
React Native
2.常用調試工具
Android平台
adb
ddms
aapt
monkey
monkeyrunner
emulator
hierarchyviewer
monitor
UIAutomatorviewer
iOS平台
atos
xcode
instruments
codesign
iExplorer
xcrun
3.常見UI自動化框架
Android平台
Instrumentation
Appium
Robotium
Instrumentation
Athrun
Monkey
MonkeyRunner
UIautomator
Selendroid
Calabash-Android
Espresso
cafe
Macaca
iOS平台
UIautomation
Frank
Appium
Monkeytalk
Calabash-iOS
iOS-driver
XCUITesting
TuneupJs
YNM3K
4.常見的單測框架
Android平台
Robolectric
Mockito
RxJava
Instrumentation
AndroidJUnitRunner
Espresso
iOS平台
XCTest
GHUnit
OCUnit
OCMock
OCMockito
Expecta
OCHamcrest
5.常用的抓包工具
Fiddler
Charles
Tcpdump
Wireshark
BurpSuites
第三方proxy server(如:Anyproxy、mitmproxy、browsermob-proxy)
6.弱網模擬
Fiddler
Charles
ACT(Augmented Traffic Control by facebook)
iOS developer mode
其他限速軟件,比如各種隨身WIFI、路由器、網卡等
7.常用的專項測試工具
Android平台
集成工具
GT(騰訊開源)
易測(淘寶不開源)
emmagee(網易開源)
iTest(科大訊飛不開源)
CPU
DDMS
Monitor
TraceView
ADB Shell
/proc/stat && /proc/%pid%/stat
Top
dumpsys cpuinfo
Android API
內存
MAT
DDMS(or Monitor)
Android Studio Monitor
Allocation Tracker
LeakCanary
ADB shell
dumpsysmeminfo %package_name% && dumpsys
meminfo %pid%
top
procrank
Android API
Memory Leaks(iOS)
流量
Tcpdump
ADB shell
/proc/uid_stat/uid/tcp_send(上傳流量)
/proc/uid_stat/uid/tcp_rcv(下載流量)
Wireshark
Fiddler
Charles
Android API(版本限制)
FPS
ADB shell
service call SurfaceFlinger 1013(需要root)
dumpsys SurfaceFlinger
dumpsys gfxinfo %packagename%(版本限制)
Android開發者模式-GPU呈現模式分析
高速攝像頭
啟動時間
冷啟動定義(無數據首次啟動APP)
熱啟動定義(BACK退出APP后啟動APP)
Logcat(Android 4.4+)
am start -W [packageName]/[packageName.MainActivity]
功耗(電量)
Android平台
dumpsys batterystats(版本限制)
反編譯獲取power_profile.xml查看
Battery Historian Tool(版本限制)
Android API
iOS平台
開發者選項->logging ->start recording + Instrument
功耗測試儀,如安捷倫
8.靜態掃描
Android平台
火線
Findbugs
Infer
Sonar
Lint
P3C(阿里基於PMD開發)
PMD
CheckStyle
360代碼衛士(商業)
Fortify(商業)
Coverity(商業)
iOS平台
OClint
infer
scan-build
Clang Static Analyzer
9.代碼覆蓋率
JaCoCo
Cobertura
Emma
Code Coverage in Xcode(iOS)
10.常用的雲測平台
免費開源
STF
商業(限時免費)
Testin
百度MTC
阿里MQC
騰訊UTest
東軟易測雲
騰訊WeTest
TestBird
華為雲
Pefecto
LessPainful
TestDroid
11.持續集成
Jenkins
Travis CI
Buildbot
Strider
Integrity
GO
12.監控SDK
探針
BlockCanary
LeakCanary
Bugly
crashlytics
友盟
網易雲捕