天天看點

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模式
    [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中
  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. [email protected]:/ # ls data/data

記錄無線通訊日志

  1. adb shell

  2. [email protected]:/ # logcat -b radio

删除系統應用

  1. adb shell

  2. [email protected]:/ # cd system/app

  3. [email protected]:/ # rm xxxx.apk

退出adb的shell環境

[email protected]:/ # 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. [email protected]:/ # ls data/data | gerp soubao

    5. com.soubao.tpshop

    6. # 執行 Monkey

    7. [email protected]:/ # 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. [email protected]:/ # exit

    3. # 用 ADB PULL 擷取檔案

    4. adb pull sdcard/monkey_tpshop.log

    5. [100%] sdcard/monkey_tpshop.log

  5. 用ADB的方式解除安裝
    1. adb shell

    2. [email protected]:/ # ls data/data | grep soubao

    3. # 擷取到 app的包名

    4. com.soubao.tpshop

    5. # 退出 adb shell

    6. [email protected]:/ # 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 自動化測試架構

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

繼續閱讀