日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你

發(fā)布時間:2024/1/8 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、安卓系統(tǒng)知識概述

1.1 安卓系統(tǒng)架構(gòu)

1.2 安卓權(quán)限系統(tǒng)

1.3 認(rèn)識adb與安卓間的通信

二、安卓APP測試流程圖

三、安卓App測試點

3.1 UI測試

3.2 兼容性測試

3.3 安裝卸載/本地升級測試OTA

3.4 版本在線升級測試FOTA

3.5 交互測試

3.6并發(fā)測試

3.7 客戶端數(shù)據(jù)庫測試

3.8 接口測試

3.9 性能測試

3.10安全性測試

3.11其他測試

四、工具技術(shù)(第三方)

4.1 系統(tǒng)監(jiān)控常用ADB命令

4.2 需要功能

4.3 實現(xiàn)原理


一、安卓系統(tǒng)知識概述

1.1 安卓系統(tǒng)架構(gòu)

  • 應(yīng)用程序?qū)?/li>
  • 應(yīng)用程序框架層
  • 系統(tǒng)運行庫庫層
  • 系統(tǒng)內(nèi)核層
  • 四大組件和API

1.2 安卓權(quán)限系統(tǒng)

Android操作系統(tǒng)其實是一個多用戶的linux操作系統(tǒng),每個android應(yīng)用使用不同的用戶,運行在自己的安全沙盤里。系統(tǒng)為所有的文件設(shè)置權(quán)限,這樣一來只有同一個用戶的應(yīng)用可以訪問它們。每個應(yīng)用都有自己單獨的虛擬機,這樣應(yīng)用的代碼在運行時是隔離的,即一個應(yīng)用的代碼不能隨意訪問或者意外修改其他應(yīng)用的內(nèi)部數(shù)據(jù)。

1.3 認(rèn)識adb與安卓間的通信

ADB,即Android Debug Bridge,他是Android提供的一個通用的調(diào)試工具,借助這個工具,我們可以很好的調(diào)試開發(fā)的程序,adb.exe在安裝的Android的sdk開發(fā)包platform-tools目錄下。

它是一個客戶端/服務(wù)器架構(gòu)的命令行工具,主要由以下3個部分組成:

  • adb客戶端:一個用于用戶開發(fā)程序的電腦上運行的客戶端
  • adb服務(wù)端:負(fù)責(zé)客戶端與用戶設(shè)備的守護(hù)進(jìn)程的通信
  • adb daemon(守護(hù)進(jìn)程):一個以后臺進(jìn)程的形式運行于模擬器或者物理手機設(shè)備上的守護(hù)程序

? ? ? ? ? ? ? ? ??

二、安卓APP測試流程圖

三、安卓App測試點

3.1 UI測試

  • 按鈕、對話框、列表和窗口等靜態(tài)界面測試
  • 內(nèi)容(列表頁、提示框)等動態(tài)界面測試
  • APP與系統(tǒng)相關(guān)聯(lián)之處的UI測試,如:狀態(tài)欄/鎖屏彈出的提示,設(shè)置中的應(yīng)用顯示、手機界面的APP顯示等
  • APP與launcher間的交互、與系統(tǒng)其它應(yīng)用間的交互、與系統(tǒng)本身的交互UI測試

3.2 兼容性測試

  • 不同手機品牌
  • 不同手機的操作系統(tǒng)以及操作系統(tǒng)的不同版本
  • 不同手機屏幕分辨率和不同屏幕尺寸(一般測試主流分辨率)
  • 網(wǎng)絡(luò)環(huán)境的兼容性 (WiFi、移動網(wǎng)絡(luò)、弱網(wǎng)環(huán)境、無網(wǎng)絡(luò)環(huán)境、專網(wǎng)環(huán)境)
  • 與本地軟件的兼容性
  • APP匹配硬件設(shè)備測試(耳機、藍(lán)牙、NFC、照相機、手環(huán)等等)--根據(jù)APP的業(yè)務(wù)需求特性

3.3 安裝卸載/本地升級測試OTA

  • 應(yīng)用程序的正常安裝,圖標(biāo)顯示正常,安裝后正常運行(不同操作系統(tǒng)下安裝)、版本號是否正確
  • 不同版本之間的覆蓋安裝(版本一致,版本大于、版本小于)
  • 覆蓋安裝后,用戶數(shù)據(jù)的保留
  • 應(yīng)用程序的正常卸載,卸載后用戶數(shù)據(jù)是否刪除
  • 安裝/卸載過程中異常情況(斷電,空間不足等)
  • 安裝/卸載過程是否支持取消操作
  • 手動式、命令式adb、自動式(第三方輔助工具)安裝
  • 安裝前后恢復(fù)出廠設(shè)置,app/數(shù)據(jù)是否丟失、版本是否改變
  • 安裝/卸載權(quán)限,是否有安裝卸載權(quán)限,無權(quán)限時是否可以安裝,
  • root前后安裝測試
  • 直接拷貝至手機system/app目錄下是否直接使用

3.4 版本在線升級測試FOTA

  • 當(dāng)客戶端有新版本時,有更新提示。
  • 當(dāng)版本為非強制升級版時,用戶可以取消更新,老版本能正常使用。用戶在下次啟動app時,仍能出現(xiàn)更新提示。
  • 當(dāng)版本為強制升級版時,當(dāng)給出強制更新后用戶沒有做更新時,退出客戶端。下次啟動app時,仍出現(xiàn)強制升級提示。
  • 當(dāng)客戶端有新版本時,在本地不刪除客戶端的情況下,直接更新檢查是否能正常更新。
  • 用戶下載/安裝版本過程中出現(xiàn)斷網(wǎng)或斷電異常情況,是否可恢復(fù),是否支持?jǐn)嚯娤螺d
  • 恢復(fù)出廠設(shè)置后是否可以支持修改
  • 下載升級包后刪除,是否還可以再繼續(xù)下載/是否還有推送提示
  • 整機FOTA升級、獨立APP應(yīng)用FOTA升級策略

3.5 交互測試

  • 應(yīng)用的前后臺切換
  • 殺進(jìn)程
  • 鎖屏
  • 長時間待機
  • 中斷
  • 搖一搖、翻轉(zhuǎn)
  • 開關(guān)機、重啟

3.6并發(fā)測試

  • 應(yīng)用與應(yīng)用間并發(fā)場景---使用APP時接收微信/QQ等來信(含視頻呼叫)
  • 應(yīng)用與定位場景----使用APP時不影響定位準(zhǔn)確性
  • 應(yīng)用與通話/短信場景----使用APP時來電話/短信
  • 應(yīng)用于多媒體場景 ----使用APP時播放音樂/電影
  • 應(yīng)用與流量并發(fā)沖突場景----使用APP時數(shù)據(jù)業(yè)務(wù)流量/wifi使用不受影響,且穩(wěn)定,沒有過大消耗流量場景
  • 應(yīng)用并發(fā)時的功耗和數(shù)據(jù)流量場景

3.7 客戶端數(shù)據(jù)庫測試

  • 客戶端后臺數(shù)據(jù)的增、刪、改、查等數(shù)據(jù)更新測試
  • 數(shù)據(jù)為空的情況測試
  • 檢查客戶端數(shù)據(jù)存在時,app數(shù)據(jù)是否能自動從客戶端數(shù)據(jù)中取出,檢查客戶端數(shù)據(jù)是否存在時,app數(shù)據(jù)是否能自動從客戶端數(shù)據(jù)中取
  • 當(dāng)業(yè)務(wù)對數(shù)據(jù)進(jìn)行了修改、刪除后,客戶端和服務(wù)端是否會有相應(yīng)的更新。
  • 沒有root權(quán)限,是否可以刪除全部或重要系統(tǒng)文件,會導(dǎo)致app或手機無法使用的文件

3.8 接口測試

  • 業(yè)務(wù)邏輯功能測試
  • 邊界值測試
  • 參數(shù)組合測試
  • 異常情況測試

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

3.9 性能測試

  • 單位時間耗電量----功耗:軟件手段(工具、log)、硬件手段(電流表儀器)、其他策略(專項待機、隨機待機、非待機)
  • 單位時間網(wǎng)絡(luò)流量---公網(wǎng)數(shù)據(jù)/wifi流量、吞吐量
  • 移動端相關(guān)資源利用率---CPU、內(nèi)存容量是否影響
  • 業(yè)務(wù)響應(yīng)時間----響應(yīng)速度
  • 幀率 ----流暢度
  • 穩(wěn)定性
  • 可靠性/可恢復(fù)性
  • 壓力測試

3.10安全性測試

  • 反編譯測試--代碼是否混淆(逆向工程)
  • app簽名/密鑰/加密測試
  • 完整性校驗
  • 敏感信息測試
  • 軟鍵盤劫持
  • 權(quán)限設(shè)置檢查--root
  • 組件安全測試--四大組件:Activity、Service、ContentProvider、Broadcast
  • 服務(wù)端接口測試
  • 攻擊類測試--SQL注入、XSS跨站腳本攻擊、CSRF跨站請求偽造、越權(quán)訪問
  • 安全測試工具--掃描
  • 基礎(chǔ)環(huán)境--公網(wǎng)環(huán)境、網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)存放環(huán)境
  • 數(shù)據(jù)安全(傳輸、通信、賬戶安全)
  • 程序/代碼安全--后門
  • 業(yè)務(wù)安全

3.11其他測試

  • 認(rèn)證測試
  • 扣費測試
  • 應(yīng)用商店發(fā)布測試結(jié)果
  • 上傳下載測試
  • 模擬用戶體驗測試----測試人員測(公司內(nèi)部人員)
  • 用戶體驗測試----給實際用戶使用(非公司內(nèi)部人員)

四、工具技術(shù)(第三方)

4.1 系統(tǒng)監(jiān)控常用ADB命令

1.4.1 查看應(yīng)用啟動耗時

adb-s *******設(shè)備id****** shell am start -W -n 應(yīng)用名.app/ .MainActivity

1.4.2 獲得電池電量和電池溫度

adb shell dumpsys battery

1.4.3 獲得最耗資源的應(yīng)用

adb -s ***設(shè)備id *** shell top -m 6 -n l -s cpu

1.4.4 獲得內(nèi)存使用情況

adb -s ***設(shè)備***id adb shell dumpsys meminfo 應(yīng)用程序包名

1.4.5 獲取指定程序cpu使用情況

adb -s ***設(shè)備***id shell dumpsys cpuinfo 應(yīng)用程序包名

1.4.6 獲取指定程序PID

adb shell "ps | grep packageName"

4.2 需要功能

  • 檢測當(dāng)前時間被測應(yīng)用的CPU使用率 以及 總體CPU使用量。
  • 檢測當(dāng)前時間被測應(yīng)用占用的內(nèi)存量、百分比,剩余內(nèi)存量。
  • 檢測應(yīng)用從啟動開始到當(dāng)前時間消耗的流量數(shù)。
  • 測試數(shù)據(jù)寫入到CSV文件中,存儲在手機/storage/sdcard0目錄下,同時支持以郵件形式發(fā)送文件。
  • 可以選擇開啟浮窗功能,浮窗中實時顯示被測應(yīng)用占用性能數(shù)據(jù)信息。
  • 在浮窗中可以快速啟動或者關(guān)閉手機的wifi網(wǎng)絡(luò)。

4.3 實現(xiàn)原理

4.3.1 監(jiān)控CPU的實現(xiàn)原理

Android系統(tǒng)是基于Linux內(nèi)核的,所以系統(tǒng)文件的結(jié)構(gòu)和Linux下一樣,系統(tǒng)總體CPU使用信息放在/proc/stat文件下,/proc/cpuinfo文件存放CPU的其它信息,包括CPU名稱,直接讀取即可。Emmagee是將選中應(yīng)用的PID傳入,讀取/proc/PID/stat文件信息及可獲取該PID對應(yīng)程序的CPU信息。

4.3.2 監(jiān)控內(nèi)存的實現(xiàn)原理

內(nèi)存和cpu的處理方式類似。先獲取到當(dāng)被測應(yīng)用的PID,然后按照PID從 /proc/meminfo文件中獲取當(dāng)前被測應(yīng)用占用的內(nèi)存信息。

4.3.3 監(jiān)控流量消耗的實現(xiàn)原理

系統(tǒng)中有存放整體流量和針對當(dāng)程序的流量統(tǒng)計,/proc/net/dev和/proc/uid_stat/UID下存放tcp_rcv和tcp_send文件,分別存放下行流量和上行流量,操作前后相減就得出結(jié)果 。

4.3.4 監(jiān)控電量的實現(xiàn)原理

電量、電壓和溫度情況是通過監(jiān)聽系統(tǒng)的電池管理事件的廣播來獲取的。

4.3.5 監(jiān)控啟動時間的實現(xiàn)原理

我們點擊界面的開始測試時,程序會啟動,之后所有的數(shù)據(jù)統(tǒng)計以及更新進(jìn)行處理的。會在onStartCommand()里面啟動一個線程“handler.postDelayed(task, 1000)”,進(jìn)行數(shù)據(jù)的更新同時會嘗試通過ActivityManger從logcat中獲取到軟件的啟動時間。

紅色框框內(nèi)的東西就是通過調(diào)用一個管理Android幀緩沖區(qū)的系統(tǒng)服務(wù)SurfaceFlinger來獲取用于計算fps的幀數(shù)據(jù)。

感謝每一個認(rèn)真閱讀我文章的人!!!
我個人整理了我這幾年軟件測試生涯整理的一些技術(shù)資料,包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學(xué)項目等。歡迎大家點擊下方名片加入群聊與我一起學(xué)習(xí)交流,群里還有大佬幫忙解答問題。

?

總結(jié)

以上是生活随笔為你收集整理的安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。