APP測試內容

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 Google    
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。

    步驟:

    1. 正常打開被測APP
    2. 運行APP的功能
    3. 突然被其他應用打斷(意外,短信、電話、通知)
    4. 切換到該應用、或者、忽略該應用
    5. 被測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 應用召喚

  • 不同應用之間的應用召喚

    測試步驟:

    【支付寶支付】

    1. 打開被測試的應用程序APP
    2. 使用APP指定的功能
    3. APP支付選擇“支付寶”
    4. 測試是否提示“允許打開支付寶”(iOS測試)
    5. 測試支付寶沒有安裝的情況下,APP是否有正確提示(未安裝支付寶)
    6. 測試支付寶正確安裝的情況下,未登錄支付寶,是否提示登錄頁面
    7. 測試支付寶正確安裝的情況下,已登錄支付寶,是否提示支付頁面

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環境的搭建步驟(連接夜神模擬器):

  1. 打開Android模擬器(夜神模擬器)
    也可以打開Android手機(已經ROOT),在勾選“允許USB調試”的選項後,連接手機

  2. 解壓縮 platform-tools_r22-windows.zip 到 C:\

  3. 打開 cmd

  4. 進入解壓後的文件夾

    cd C:\platform-tools_r22-windows\platform-tools
    
  5. 連接夜神模擬器

    adb connect 127.0.0.1:62001
    

    連接成功後,提示 connected to 127.0.0.1:62001

  6. 進入 ADB Shell 模式

    adb shell
    

    成功後,進入ADB 的SHELL模式

    root@android:/ #
    

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中
  1. adb連接前

顯示當前運行的全部連接到當前電腦的設備,包括手機和模擬器等:

adb devices

連接指定的模擬器或設備

adb connect 127.0.0.1:62001 

斷開指定的模擬器或設備

adb disconnect

啓動ADB

adb start-server

關閉ADB

adb kill-server
  1. 進入 adb的shell環境

進入adb的shell環境

adb shell

查看包名

 
  1. adb shell

  2. root@android:/ # ls data/data

記錄無線通訊日誌

 
  1. adb shell

  2. root@android:/ # logcat -b radio

刪除系統應用

 
  1. adb shell

  2. root@android:/ # cd system/app

  3. root@android:/ # rm xxxx.apk

退出adb的shell環境

root@android:/ # exit
  1. adb命令模式

安裝應用程序

adb install -r C:\xxxxx.apk

獲取設備中的文件

 
  1. adb pull <remote> <local>

  2. adb pull /addroid/lib/libwebcore.so c:\tmp

向設備中寫入文件

 
  1. adb push <local> <remote>

  2. adb push C:\test.txt /tmp/test.txt

卸載應用程序

 
  1. adb shell

  2. cd data/app

  3. rm apk包

  4. exit

  5. adb uninstall apk包的主包名

獲取管理員權限

adb root

獲取設備的序列號

adb get-serialno

進入SQLite環境

 
  1. adb shell

  2. sqlite3

SQLite的基本操作,SQLite沒有用戶的概 念 。

 

Snap1.jpg

示例:安裝TPshop的Android客戶端

步驟如下:

  1. 用ADB連接上設備

    adb connect 127.0.0.1:62001
    
  2. 用ADB的方式安裝APP

    adb install -r C:\tmp\soubaoShopMobile-debug.apk
    
  3. 安裝成功,在ADB SHELL環境中 執行 Monkey(壓力測試工具)

     
    1. # 進入 ADB SHELL 環境

    2. adb shell

    3. # 獲取 TPSHOP 的APP的包名

    4. root@android:/ # ls data/data | gerp soubao

    5. com.soubao.tpshop

    6. # 執行 Monkey

    7. root@android:/ # monkey -p com.soubao.tpshop -v -v -v 5000 -throttle 5000 --pct-motion 80% > sdcard/monkey_tpshop.log

  4. 用ADB 獲取日誌到本地C盤的tmp目錄中

     
    1. # 退出 ADB SHELL 環境

    2. root@android:/ # exit

    3. # 用 ADB PULL 獲取文件

    4. adb pull sdcard/monkey_tpshop.log

    5. [100%] sdcard/monkey_tpshop.log

  5. 用ADB的方式卸載

     
    1. adb shell

    2. root@android:/ # ls data/data | grep soubao

    3. # 獲取到 app的包名

    4. com.soubao.tpshop

    5. # 退出 adb shell

    6. root@android:/ # exit

    7. adb uninstall com.soubao.tpshop

4.2 Monkey 工具

Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常。

顧名思義,Monkey就是猴子, Monkey測試,就像一隻猴子, 在電腦面前,亂敲鍵盤在測試。 猴子什麼都不懂, 只知道亂敲,通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、 按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常

Monkey 主要用於Android 的壓力測試 自動的一個壓力測試小工具, 主要目的就是爲了測試app 是否會Crash.

  1. Monkey程序由Android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
  2. 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 使用比較多

  • 下面一個實例
 
  1. adb shell

  2. ls data/data

  3. 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以及異常信息等)

  1. 程序無響應的問題: 在日誌中搜索 “ANR”
  2. 崩潰問題:在日誌中搜索 “Exception” (如果出現空指針, NullPointerException) 肯定是有bug

Monkey 執行中斷, 在log最後也能看到當前執行次數

5. 安全測試

  • APP請求的權限(攝像頭、通訊錄、通話記錄、短信、定位、藍牙、WiFi、相冊)是否有應用場景
  • APP的消息顯示(鎖屏消息提醒、消息欄、圖標的角標、最近通知的消息提醒)的關閉和開啓

主要的測試內容:

  1. 易測安全掃描:上傳APP到易測平臺,由阿里雲掃描併發報告。
  2. 權限的測試:
    1. 檢查APP申請的權限,列出所有權限
    2. 對所有的權限進行場景描述
  3. 消息的控制:
    1. 顯示消息的形式
    2. 顯示消息的時機(鎖屏是否顯示)

6. APP移動測試框架

隨着移動互聯網的發展,移動測試技術越來越成熟,很多優秀的開源測試框架涌現出來。作爲一個移動測試工程師,我們不僅要夯實自己的技術能力,也要學會從開源框架吸取經驗。俗話說,站在巨人的肩膀上,我們會看得更遠。移動端的測試框架主要分爲自動化測試框架,性能測試框架,穩定性測試框架和安全測試框架這幾種類型。下面我們分這幾個類型介紹10個最常用的移動端測試框架。

6.1 自動化測試框架

官方網站: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

官方網站:http://baiduqa.github.io/Cafe/
Github下載地址:https://github.com/BaiduQA/Cafe
Cafe,是一款來自百度QA部門的Android平臺自動化測試框架,框架覆蓋了Android自動化測試的各種需求,致力於實現跨進程測試、快速測試、深度測試,解決了Android自動化測試中的諸多難題,比如業界一直沒有解決的跨進程測試問題。主要亮點有:基於hook錄製體系,遍歷測試,跨app測試,pc agent設計,使用android 漏洞提權。

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語言開發的,無需安裝,配置相關環境即可使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章