1. APP測試的準備
在進行APP測試之前,需要準備下列步驟。通過以下網站可以查找。
移動觀象台:http://mi.talkingdata.com/terminals.html
1 确定APP的裝置
標明被測試的裝置終端。
- 記錄裝置的品牌
- 記錄裝置的型号
- 記錄裝置的螢幕分辨率
- 記錄裝置的螢幕大小
1.2 确定APP的版本
确定被測試的APP的版本号和作業系統類型
- XXX 1.3.2 for ios
- XXX 1.3.0 for Android
1.3 确定作業系統
确定運作被測試裝置的作業系統
- 主流的有iOS和Android
- 還有WP(Windows Phone)
- BlackBerry
- Symbian
- Ubuntu
1.4 準備表格記錄APP的裝置和版本
測試工作開始前,需要确定App需要測試的作業系統版本和裝置清單
編号 | OS | OS Version | 分類 | Model | 制造商 | 螢幕尺寸 | 分辨率 |
---|---|---|---|---|---|---|---|
001 | iOS | 7.1 | iPhone | 5s | Apple | 4 | |
002 | iOS | 8.1 | iPhone | 6s | Apple | 4.7 | |
003 | iOS | 8.0.2 | iPhone | 6 | Apple | 4.7 | |
004 | iOS | 8.1.2 | iPhone | 6 Plus | Apple | 5.5 | |
005 | iOS | 8.0.2 | iPad | Air 2 | Apple | 9.7 | |
006 | iOS | 8.1.2 | iTouch | 5 | Apple | 4 | |
007 | Android | 5.1 | Phone | One XL | HTC | 4.7 | 1280*720 |
008 | Android | 4.5 | Phone | PRO 5 | Meizu | 5.7 | 1920*1080 |
009 | Android | 4.2 | Phone | Galaxy S6 | Samsung | ||
010 | Android | 4.4.2 | Phone | Galaxy S5 | Samsung | ||
011 | Android | 4.4.2 | Phone | MX 4 | Meizu | ||
012 | Android | 4.4.4 | Phone | Nexus 5 | |||
013 | Android | 4.4.4 | Phone | Mi 4 | Xiaomi | ||
014 | Android | 4.2.2 | Tablet | Galaxy Tab3 | Samsung |
2. APP的基本測試
2.1 “移動”測試App
由于現在3G和4G網絡都已經非常普及,需要優先測試App在這兩種網絡環境下的表現。同時需要測試4G信号無法覆寫的時候,App切換到3G、2G的環境下進行測試甚至到無網絡的環境下測試。當網絡恢複的時候,App是否會自動切換回來,并且執行網絡斷開前使用者的操作。
一般可以選擇在地鐵、公交、電梯、隧道燈代表性的場所進行測試。
- 網絡切換
- 網絡恢複
一般可以選擇在地鐵、公交、電梯、隧道燈代表性的場所進行測試。
測試APP在網絡異常的情況下,是否發生
ANR
和
Crash
2.2 App的多任務和意外情況處理
- 多任務切換和多任務管理界面是否與App保持一緻。
- 多任務管理界面直接退出App程式測試。
-
測試App的同時接聽電話,是否還能夠繼續使用App。
步驟:
- 正常打開被測APP
- 運作APP的功能
- 突然被其他應用打斷(意外,短信、電話、通知)
- 切換到該應用、或者、忽略該應用
- 被測APP能夠繼續之前的操作,不發生
或者ANR
Crash
2.3 測試App的手勢操作
- 長按螢幕呼出菜單
- 單手指從右向左滑動,彈出附加功能項
- 雙手指捏合,放大放小操作等
2.4 測試App的使用者體驗
- 橫屏功能測試
- 遵循iOS和Android的設計規範
- 字型大小設定以及美觀
2.5 測試App的消息顯示和通知顯示*
通知顯示的方式:
- 鎖屏的通知:内容
- 下拉通知欄的通知:内容
- 應用程式消息欄:内容
- 圖示的右上角角标:條數
測試要點
- 在安裝App的時候是否申請相應的權限
- 驗證收到App新的消息的時候,如何通過通知向使用者進行消息展示
2.6 測試App能否及時顯示和同步資料
Web端 + PC端 + APP端
- 測試在多台裝置登入App,是否同步消息、設定、内容、資料等
- 測試App的消息是否同步在PC端(無論Web版本或者PC版本)
2.7 測試App能否響應不同的裝置使用者界面
測試App是否适應使用者界面,必須使用真實裝置進行測試。比如測試HTC Sense使用者界面底部的黑色導航欄,測試小米MIUI系統桌面的角标提醒功能,測試iOS的角标提醒,測試魅族Flyme的SmartBar操作等。
- 非正常的控制:SmartBar
- 非正常的分辨率:魅族 MX4 MX3 MX2……
2.8 測試App中高記憶體使用的功能
- 測試App對于讀取大量圖檔、視訊等進行高記憶體占用操作的處理能力
-
檢視App是否有對應的異步加載功能等
主要測試場景:
- 檢查APP是否讀入全部圖檔到記憶體中
- 美圖秀秀打開圖檔
- 讀取一屏的圖檔到記憶體
- 滾動螢幕,加載新的圖檔到記憶體
- 測試APP是否設定了圖檔加載的閥值:比如300MB
- 圖檔在記憶體中加載到閥值(300MB),會自動把最開始加載的指定圖檔占的記憶體空間釋放
2.9 測試App的流量和電量消耗
- 測試App的安裝檔案大小
- 測試App占用的存儲空間
- 測試App使用的流量和電量
- 流量靠軟體測試
- 電量測試靠功耗儀
2.10 測試App的增量更新
- 需要測試App在自動更新或者手動增量更新後,使用者資料是否儲存延續等
- 測試App在更新失敗以後,是否可以繼續使用更新之前的版本。
- 重點測試更新後資料是否可用
2.11 測試App支援的檔案格式
- 測試App支援Office檔案操作
- 測試App支援圖檔檔案展示
- 測試App支援PDF檔案打開
- 測試App支援視訊和音頻檔案播放
2.12 安裝解除安裝測試
- 不聯網的情況下,會不會崩潰
- 線上下載下傳資料不完整,能否再次啟動
- 是否支援斷點續傳
- 下載下傳安裝後再次啟動
- 安裝成功後檢查版本号和相關資料
2.13 應用召喚
-
不同應用之間的應用召喚
測試步驟:
【支付寶支付】
- 打開被測試的應用程式APP
- 使用APP指定的功能
- APP支付選擇“支付寶”
- 測試是否提示“允許打開支付寶”(iOS測試)
- 測試支付寶沒有安裝的情況下,APP是否有正确提示(未安裝支付寶)
- 測試支付寶正确安裝的情況下,未登入支付寶,是否提示登入頁面
- 測試支付寶正确安裝的情況下,已登入支付寶,是否提示支付頁面
3. 易測EasyTest
易測是一款基于無線用戶端研發場景的通用測試工具, 它通過在研發人員的自持機上提供各種輔助能力&标準化的專項測試服務來提升研發品質&效率。
易測:http://mqc.aliyun.com/download.htm?spm=0.0.0.0.LKnIoR
- 實時性能資料
- 弱網環境模拟
- 手機抓包
- Monkey測試
- 截圖斷網等
4. ADB指令與Monkey工具
4.1 ADB 指令
adb:
adb 的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程式,說白了就是debug工具。adb的工作方式比較特殊,采用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,預設情況下adb會daemon相關的網絡端口,是以當我們運作Eclipse或Android Studio時adb程序就會自動運作。
借助adb工具,我們可以管理裝置或手機模拟器的狀态。還可以進行很多手機操作,如安裝軟體、系統更新、運作shell指令等等。其實簡而言說,adb就是連接配接Android手機與PC端的橋梁,可以讓使用者在電腦上對手機進行全面的操作
adb 在sdk的platform-tools目錄中
Android SDK 下載下傳網站 http://www.androiddevtools.cn/(非官方)
ADB 是連接配接 Windows 指令行(也可以是Linux或者Mac)到 Andriod手機(模拟器)的Android作業系統的 橋梁(調試橋)
ADB的測試環境搭建:
- 安裝 JDK
- 安裝 Android SDK Tool
- 安裝 Android SDK 相關手機驅動
然後打開 Windows 指令視窗
cd C:\Users\Linty\AppData\Local\Android\android-sdk\platform-tools
ADB連接配接夜神模拟器示例:
ADB環境的搭建步驟(連接配接夜神模拟器):
-
打開Android模拟器(夜神模拟器)
也可以打開Android手機(已經ROOT),在勾選“允許USB調試”的選項後,連接配接手機
- 解壓縮 platform-tools_r22-windows.zip 到 C:\
- 打開 cmd
- 進入解壓後的檔案夾
cd C:\platform-tools_r22-windows\platform-tools
- 連接配接夜神模拟器
連接配接成功後,提示 connected to 127.0.0.1:62001adb connect 127.0.0.1:62001
- 進入 ADB Shell 模式
成功後,進入ADB 的SHELL模式adb shell
[email protected]:/ #
ADB的兩種模式:
- 前提:必須連接配接上 Android,
adb connect
- 模式一:進入 ADB SHELL 模式
adb shell
- 類似于 Linux系統的操作
- ls
- cp
- cd
- mv
- rm
- cp
- 模式二:直接 adb + 指令 來執行 ADB指令
- 如果已經進入 ADB SHELL模式,需要先
exit
- adb install + apk 檔案在windows上的路徑
- adb unistall + apk 的包名
- adb pull 拉,把檔案從Android下載下傳到windows中
- adb push 推,把windows檔案放到Android中
- 如果已經進入 ADB SHELL模式,需要先
- adb連接配接前
顯示目前運作的全部連接配接到目前電腦的裝置,包括手機和模拟器等:
adb devices
連接配接指定的模拟器或裝置
adb connect 127.0.0.1:62001
斷開指定的模拟器或裝置
adb disconnect
啟動ADB
adb start-server
關閉ADB
adb kill-server
- 進入 adb的shell環境
進入adb的shell環境
adb shell
檢視包名
-
adb shell
-
[email protected]:/ # ls data/data
記錄無線通訊日志
-
adb shell
-
[email protected]:/ # logcat -b radio
删除系統應用
-
adb shell
-
[email protected]:/ # cd system/app
-
[email protected]:/ # rm xxxx.apk
退出adb的shell環境
[email protected]:/ # exit
- adb指令模式
安裝應用程式
adb install -r C:\xxxxx.apk
擷取裝置中的檔案
-
adb pull <remote> <local>
-
adb pull /addroid/lib/libwebcore.so c:\tmp
向裝置中寫入檔案
-
adb push <local> <remote>
-
adb push C:\test.txt /tmp/test.txt
解除安裝應用程式
-
adb shell
-
cd data/app
-
rm apk包
-
exit
-
adb uninstall apk包的主包名
擷取管理者權限
adb root
擷取裝置的序列号
adb get-serialno
進入SQLite環境
-
adb shell
-
sqlite3
SQLite的基本操作,SQLite沒有使用者的概 念 。
Snap1.jpg
示例:安裝TPshop的Android用戶端
步驟如下:
- 用ADB連接配接上裝置
adb connect 127.0.0.1:62001
- 用ADB的方式安裝APP
adb install -r C:\tmp\soubaoShopMobile-debug.apk
- 安裝成功,在ADB SHELL環境中 執行 Monkey(壓力測試工具)
-
# 進入 ADB SHELL 環境
-
adb shell
-
# 擷取 TPSHOP 的APP的包名
-
[email protected]:/ # ls data/data | gerp soubao
-
com.soubao.tpshop
-
# 執行 Monkey
-
[email protected]:/ # monkey -p com.soubao.tpshop -v -v -v 5000 -throttle 5000 --pct-motion 80% > sdcard/monkey_tpshop.log
-
- 用ADB 擷取日志到本地C槽的tmp目錄中
-
# 退出 ADB SHELL 環境
-
[email protected]:/ # exit
-
# 用 ADB PULL 擷取檔案
-
adb pull sdcard/monkey_tpshop.log
-
[100%] sdcard/monkey_tpshop.log
-
- 用ADB的方式解除安裝
-
adb shell
-
[email protected]:/ # ls data/data | grep soubao
-
# 擷取到 app的包名
-
com.soubao.tpshop
-
# 退出 adb shell
-
[email protected]:/ # exit
-
adb uninstall com.soubao.tpshop
-
4.2 Monkey 工具
Monkey測試是Android平台自動化測試的一種手段,通過Monkey程式模拟使用者觸摸螢幕、滑動Trackball、按鍵等操作來對裝置上的程式進行壓力測試,檢測程式多久的時間會發生異常。
顧名思義,Monkey就是猴子, Monkey測試,就像一隻猴子, 在電腦面前,亂敲鍵盤在測試。 猴子什麼都不懂, 隻知道亂敲,通過Monkey程式模拟使用者觸摸螢幕、滑動Trackball、 按鍵等操作來對裝置上的程式進行壓力測試,檢測程式多久的時間會發生異常
Monkey 主要用于Android 的壓力測試 自動的一個壓力測試小工具, 主要目的就是為了測試app 是否會Crash.
- Monkey程式由Android系統自帶,使用Java語言寫成,在Android檔案系統中的存放路徑是:
;/system/framework/monkey.jar
- Monkey.jar程式是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android檔案系統中的存放路徑是:
;/system/bin/monkey
可以在指令行中輸入
這樣就可以通過在CMD視窗中執行:
adb shell monkey {+指令參數}
來進行Monkey測試了。
0.00255359997618565.png
檢視Monkey指令幫助
adb shell monkey –help
類别 | 選項 | 說明 |
---|---|---|
正常 | --help | 列出簡單的用法。 |
-v | 指令行的每一個 -v 将增加回報資訊的級别。 Level 0( 預設值 ) 除啟動提示、測試完成和最終結果之外,提供較少資訊。 Level 1 提供較為詳細的測試資訊,如逐個發送到 ActivITy 的事件。 Level 2提供更加詳細的設定資訊,如測試中被選中的或未被選中的Activity 。 | |
事件 | -s <seed> | 僞随機數生成器的seed 值。如果用相同的 seed 值再次運作 Monkey ,它将生成相同的事件序列。 |
--throttle <milliseconds> | 在事件之間插入固定延遲。通過這個選項可以減緩 Monkey 的執行速度。如果不指定該選項, Monkey 将不會被延遲,事件将盡可能快地被産成。 | |
--pct-touch <percent> | 調整觸摸事件的百分比(觸摸事件是一個down-up事件,它發生在螢幕上的某單一位置)。 | |
--pct-motion <percent> | 調整動作事件的百分比(動作事件由螢幕上某處的一個down事件、一系列的僞随機事件和一個up事件組成)。 | |
--pct-trackball <percent> | 調整軌迹事件的百分比(軌迹事件由一個或幾個随機的移動組成,有時還伴随有點選)。 | |
--pct-nav <percent> | 調整“基本”導航事件的百分比(導航事件由來自方向輸入裝置的up/down/left/right組成)。 | |
--pct-majornav <percent> | 調整“主要”導航事件的百分比(這些導航事件通常引發圖形界面中的動作,如:5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵) | |
--pct-syskeys <percent> | 調整“系統”按鍵事件的百分比(這些按鍵通常被保留,由系統使用,如Home、Back、Start Call、End Call及音量控制鍵)。 | |
--pct-appswitch <percent> | 調整啟動Activity的百分比。在随機間隔裡,Monkey将執行一個startActivity()調用,作為最大程度覆寫包中全部Activity的一種方法。 | |
--pct-anyevent <percent> | 調整其它類型事件的百分比。它包羅了所有其它類型的事件,如:按鍵、其它不常用的裝置按鈕、等等。 | |
限制限制 | -p <allowed-package-name> | 如果用此參數指定了一個或幾個包,Monkey将隻允許系統啟動這些包裡的Activity。如果你的應用程式還需要通路其它包裡的Activity(如選擇取一個聯系人),那些包也需要在此同時指定。如果不指定任何包,Monkey将允許系統啟動全部包裡的Activity。要指定多個包,需要使用多個 -p選項,每個-p選項隻能用于一個包。 |
-c <main-category> | 如果用此參數指定了一個或幾個類别,Monkey将隻允許系統啟動被這些類别中的某個類别列出的Activity。如果不指定任何類别,Monkey将選擇下列類别中列出的Activity:Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。要指定多個類别,需要使用多個-c選項,每個-c選 項隻能用于一個類别。 | |
調試 | --dbg-no-events | 設定此選項,Monkey将執行初始啟動,進入到一個測試Activity,然後不會再進一步生成事件。為了得到最佳結果,把它與-v、一個或幾個包限制、以及一個保持Monkey運作30秒或更長時間的非零值聯合起來,進而提供一個環境,可以監視應用程式所調用的包之間的轉換。 |
--hprof | 設定此選項,将在Monkey事件序列之前和之後立即生成profiling報告。這将會在data/misc中生成大檔案(~5Mb),是以要小心使用它。 | |
--ignore-crashes | 通常,當應用程式崩潰或發生任何失控異常時,Monkey将停止運作。如果設定此選項,Monkey将繼續向系統發送事件,直到計數完成。 | |
--ignore-timeouts | 通常,當應用程式發生任何逾時錯誤(如“Application Not Responding”對話框)時,Monkey将停止運作。如果設定此選項,Monkey将繼續向系統發送事件,直到計數完成。 | |
--ignore-security-exceptions | 通常,當應用程式發生許可錯誤(如啟動一個需要某些許可的Activity)時,Monkey将停止運作。如果設定了此選項,Monkey将繼續向系統發送事件,直到計數完成。 | |
--kill-process-after-error | 通常,當Monkey由于一個錯誤而停止時,出錯的應用程式将繼續處于運作狀态。當設定了此選項時,将會通知系統停止發生錯誤的程序。注意,正常的(成功的)結束,并沒有停止啟動的程序,裝置隻是在結束事件之後,簡單地保持在最後的狀态。 | |
--monitor-native-crashes | 監視并報告Android系統中本地代碼的崩潰事件。如果設定了--kill-process-after-error,系統将停止運作。 | |
--wait-dbg | 停止執行中的Monkey,直到有調試器和它相連接配接。 |
實際使用的時候 Monkey的 -p -v -throttle --pct-motion 使用比較多
- 下面一個執行個體
-
adb shell
-
ls data/data
-
monkey -p im.tower.android -v -v -v 5000 -throttle 500 --pct-motion 80% > sdcard\monkey.log
使用monkey進行Tower的壓力測試,使用級别2,操作5000個随機指令,并且每個指令延遲5秒鐘,滑動的指令占80%。
- 日志分析
正常情況, 如果Monkey測試順利執行完成, 在log的最後, 會列印出目前執行事件的次數和所花費的時間;
// Monkey finished 代表執行完成\
異常情況
Monkey 測試出現錯誤後,一般的分析步驟
看Monkey的日志 (注意第一個swith以及異常資訊等)
- 程式無響應的問題: 在日志中搜尋 “ANR”
- 崩潰問題:在日志中搜尋 “Exception” (如果出現空指針, NullPointerException) 肯定是有bug
Monkey 執行中斷, 在log最後也能看到目前執行次數
5. 安全測試
- APP請求的權限(攝像頭、通訊錄、通話記錄、短信、定位、藍牙、WiFi、相冊)是否有應用場景
- APP的消息顯示(鎖屏消息提醒、消息欄、圖示的角标、最近通知的消息提醒)的關閉和開啟
主要的測試内容:
- 易測安全掃描:上傳APP到易測平台,由阿裡雲掃描并發報告。
- 權限的測試:
- 檢查APP申請的權限,列出所有權限
- 對所有的權限進行場景描述
- 消息的控制:
- 顯示消息的形式
- 顯示消息的時機(鎖屏是否顯示)
6. APP移動測試架構
随着移動網際網路的發展,移動測試技術越來越成熟,很多優秀的開源測試架構湧現出來。作為一個移動測試工程師,我們不僅要夯實自己的技術能力,也要學會從開源架構吸取經驗。俗話說,站在巨人的肩膀上,我們會看得更遠。移動端的測試架構主要分為自動化測試架構,性能測試架構,穩定性測試架構和安全測試架構這幾種類型。下面我們分這幾個類型介紹10個最常用的移動端測試架構。
6.1 自動化測試架構
- 1)Appium
官方網站:http://appium.io/
Github下載下傳位址:https://github.com/appium/appium
說到移動端的自動化架構,最有名的當屬Appium。Appium是一個開源的跨平台移動端UI自動化測試架構,它支援native,hybrid和web app的測試。目前有超過100個貢獻者在github上維護和優化Appium的源代碼。關于Appium的中文資料也非常多,比較齊全的是乙醇的部落格,總結了11篇博文介紹Appium的用法,可以通路http://www.cnblogs.com/nbkhic/tag/appium/ 來檢視。另外在testerhome上也有專門針對Appium的讨論社群,在上面你可以跟各種行業大牛溝通和交流。https://testerhome.com/topics/node23
- 2) 百度Cafe
官方網站:http://baiduqa.github.io/Cafe/
Github下載下傳位址:https://github.com/BaiduQA/Cafe
Cafe,是一款來自百度QA部門的Android平台自動化測試架構,架構覆寫了Android自動化測試的各種需求,緻力于實作跨程序測試、快速測試、深度測試,解決了Android自動化測試中的諸多難題,比如業界一直沒有解決的跨程序測試問題。主要亮點有:基于hook錄制體系,周遊測試,跨app測試,pc agent設計,使用android 漏洞提權。
- 3)阿裡Athrun
Github下載下傳位址:https://github.com/taobao-chenxu/athrun-framework
Athrun 無線測試架構是淘寶自動化測試團隊開發的UI自動化測試架構,支援Android和iOS移動App的UI自動化測試。Athrun以Mobile自動化為基礎,以PC2Mobile為切入點,是淘寶Mobile測試日常工作必備的平台。目前Athrun支援:Android上的自動化測試,包括自動化測試架構,持續內建體系。覆寫率工具和自動錄制回放工具,也在試用完善中。iOS上的自動化測試,包括注入式自動化架構AppFramework,和基于錄制的非注入式自動化架構Athrun_IOS,還有持續內建體系。目前兩個架構在淘寶測試内都有使用者群,都還在不斷使用和演進過程中。AppFramework将會支援socket通信方式。
6.2 性能測試架構
1)網易Emmagee
Github下載下傳位址:https://github.com/NetEase/Emmagee
Wiki: https://github.com/NetEase/Emmagee/wiki
Issues: https://github.com/NetEase/Emmagee/issues
FAQ: https://github.com/NetEase/Emmagee/wiki/FAQ
Emmagee是一個實用的手工Android端性能測試工具,它可以實時監控Android App的CPU,記憶體,網絡流量,電量等。如果手機Root的話,還可以監控top activity及堆資訊。此外,它還能根據使用者需要設定收集資料的時間間隔。最終以csv檔案的方式将報告儲存在本地。
2)騰訊APT
Github下載下傳位址:https://github.com/stormzhang/APT
Tencent APT Mirror, APT是一個Android平台高效性能測試元件,提供豐富實用的功能,适用于開發自測、定位性能瓶頸;測試人員完成性能基準測試、競品對比測試。APT是一個eclipse插件,可以實時監控Android手機上多個應用的CPU、記憶體資料曲線,并儲存資料;另外還支援自動擷取記憶體快照、PMAP檔案分析等,友善開發人員自測或者測試人員完成性能測試,快速發現産品問題。
6.3 穩定性測試架構
1)CrashMonkey4IOS
Github下載下傳位址:https://github.com/vigossjjj/CrashMonkey4IOS
CrashMonkey4IOS是一個iOS穩定性測試工具。它主要支援以下功能:
- 支援真機測試、模拟器測試;
- 支援收集系統日志(Systemlog)、崩潰日志(Crashlog)、instrument行為日志
- 支援測試報告截圖,繪制行為軌迹
- 支援測試裝置資訊收集
- 使用最新版的UIAutoMonkey,加入UI Holes與Application Not Repsonding ("ANR")的處理,添加custom.js作為入口腳本.加入tuneup依賴
- 修改UIAutoMonkey.js中截圖政策,為每個Event Action進行截圖
- 支援測試執行過程中App進入背景,自動恢複
2)CrashMonkey4Android
Github下載下傳位址:https://github.com/DoctorQ/CrashMonkey4Android
CrashMonkey4Android,是一個依靠Cts架構,對原生Monkey進行改造後的産物,擁有以下新增功能:
- 儲存每一步的截圖.
- 儲存logcat.
- 儲存每一個Monkey事件的資訊.
- 分析Crash.
- Html報告.
- 支援多裝置.
3)ui-auto-monkey
Github下載下傳位址:https://github.com/jonathanpenn/ui-auto-monkey
UI AutoMonkey是一個簡單的面向iOS應用程式的壓力測試插件架構。 你可以通過它向你的應用程式連續發出一系列随機的點選,滑動,旋轉螢幕,鎖屏,解鎖等事件。同時它會通過instrument對你的App的性能狀況進行實時監控。當應用程式發生crash,它會收集相關的crash日志并存儲在本地。
6.4 安全測試架構
1)Mobile-Security-Framework-MobSF
Github下載下傳位址:https://github.com/penghaibo203/Mobile-Security-Framework-MobSF
Mobile Security Framework (移動安全架構) 是一款智能、一體化的開源移動應用(Android/iOS)自動滲透測試架構,它能進行靜态、動态的分析。
- 靜态分析器可以執行自動化的代碼審計、檢測不安全的權限請求和設定,還可以檢測不安全的代碼,諸如ssl繞過、弱加密、混淆代碼、寫死的密碼、危險API的不當使用、敏感資訊/個人驗證資訊洩露、不安全的檔案存儲等。
- 動态分析器可以在虛拟機或者經過配置的裝置上運作程式,在運作過程中檢測問題。動态分析器可以從抓取到的網絡資料包、解密的HTTPS流量、程式dump、程式日志、程式錯誤和崩潰報告、調試資訊、堆棧軌迹和程式的設定檔案、資料庫等方面進行進一步的分析。
該架構支援二進制檔案(APK & IPA)和源碼壓縮包。該架構的另一個特點是其可擴充性,你可以輕松制定自定義規則。測試結束後程式會生成一份清晰的報告。我們會進一步拓展次架構以支援Tizen、WindowsPhone等平台。
2)AndroBugs_Framework
官方網站:http://www.androbugs.com/
Github下載下傳位址:https://github.com/jackcn2004/AndroBugs_Framework
AndroBugs架構是一款高效的Android漏洞掃描器,可以幫助開發人員或滲透測試人員在Android應用程式查找潛在的安全漏洞。它是基于Python語言開發的,無需安裝,配置相關環境即可使用。