app測試規範

通常性測試:java

1. 安裝、卸載測試android

主要針對編譯後源程序生成的APK安裝文件。ios

主要測試點:a.生成的APK文件在真機上能夠安裝及卸載;web

b.Android手機端的通用安裝工具,如:豌豆莢及91助手等工具能夠正常安裝及卸載程序。shell

2. 在線升級編程

測試點:a.驗證數字簽名 b.升級後能夠正常使用 c.在線跨版本升級api

3. 業務邏輯測試服務器

業務邏輯測試:主要測試客戶端業務可否正常完成網絡

功能點測試:主要測試客戶端功能點是否正常使用app

關聯性測試:主要測試客戶端與PC端的交互,客戶端處理完後,PC端與客戶端數據一致

4. 異常測試

主要包含了斷網、斷電、服務器異常等狀況下,客戶端可否正常處理,保證數據正常性。

5. 交互性測試

客戶端做爲手機特性測試,包含被打擾的狀況13種,來電,來短信,低電量測試等,還要注意手機端硬件上,如:待機,插拔數據線,耳機等操做不會影響客戶端

6. 易用性測試

界面與交互性測試:符合android交互規範,符合用戶使用習慣,操做方便簡單,具備一致性。

可用性測試:用戶體驗好,用戶操做方便,用戶使用錯誤率低。

基準測試:

1. 適配測試

手機不一樣分辨率支持:客戶端支持800*480,960*540,1920*1280等;

手機不通版本的支持:4.0, 5.0, 6.0;在測試計劃中,須要安排單獨的時間用於android不一樣系統的兼容性測試,包括7.0版本等;

手機不一樣廠家系統的支持:不一樣廠家會有不一樣android系統,例如:小米收,華爲輸入法。是市場主流的系統及廠家不一樣型號的支持;

手機不通尺寸的支持:4.0到7.0屏幕在UI顯示有區別的,要支持最大到最小。

解決方案:

a.公司購買經常使用機型。

b.第三方雲測試的解決方法。

c.模擬機。

2. 外網與場景測試

主要是模擬客戶使用網絡環境,檢驗客戶端程序在實際網絡環境中使用狀況及進行業務操做。外網測試主要覆蓋到wifi\3G\4G、net\wap、電信\移動\聯通,全部可能的組合進行測試。

原則:

a.儘量全面覆蓋用戶的使用場景,測試用例中須要包含不一樣網絡排列組合的各類可能;

b.模擬信號被屏蔽時候,客戶端的影響等;

c.作外部場景測試,在高山、丘陵、火車上等特殊環境下進行全面測試。

選擇性測試:

1.測試啓動時間

a.代碼裏插入時間並打印Log.e

b.命令方式

    adb shell

am start -W -n 包名/activity名

-W是指啓動完成以後,返回啓動耗時

c.秒錶、高速相機

d.adb logcat

adb logcat >d:\log.txt

啓動應用,待加載完成後ctrl+c中止

find "Displayed" d:\log.txt>d:\log1.txt

find "包名" d:\log1.txt>d:]log2.txt

2.代碼靜態掃描

代碼掃描工具Lint,它能很是容易得幫米找出代碼上的結構問題

具體的檢察規則能夠自定義(局部,全局)

lint --list 得到檢查項id和簡要說明

lint --show xxx 得到詳細說明

jenkins:持續版本構建,與lint搭配使用

lint:檢查已有規則規範

findbugs:針對java平臺代碼的檢查

3. traceview

手機root,代碼中埋點,加SD卡讀寫權限。經過monitor.bat打卡.trace文件。

Debug.startMethodTracing("路徑"); //在oncreate方法中,開始埋點

Debug.stopMethodTracing(); //ondestroy中,結束

 4. 客戶端側性能測試

偏重客戶端測CPU、MEM、流量、電量以流暢度等等。

 (1). 電量與流量測試(電量表)

手機的電量及流量測試主要是爲了站在用戶角度思考,畢竟電量、流量消耗比較大,會影響客戶的使用感覺。手機端量使用是和CPU使用率成正比的。因爲這個沒有比較詳細的規定,只能出一個通用範圍。CPU使用率不能超過10%以上,流量不要超過10M以上。通常經過android手機端一些監控軟件獲取數據。固然也能夠經過代碼打點獲取

a.利用硬件設備:好比耗電量測試儀

b.第三方軟件來檢測:手機自帶電量監控、360助手、GT等

c.命令方式(5.0以上版本)

    //初始化batterystats數據

adb shell dumpsys batterystats –reset

//獲得整個設備的電量消耗信息

adb shell dumpsys batterys > /storage/sdcard0/Download/b1.txt

//獲得指定app相關的電量消耗信息

adb shell dumpsys batterystats 包名 > /storage/sdcard0/Download/b1.txt

(2).內存泄漏測試

OutOfMemory

關注點:內存消耗大和使用後,內存不釋放

大數據的測試:主要在特定環境下,客戶端一次性更新大量的數據,客戶端可否正常處理。

(3).流暢度測試

使用高速相機,或其餘工具

(4).流量分兩種:操做app、不操做app。測試方法:

a.各種雲測平臺、DDMS的Network

b.命令(模擬器不支持,某些真機不支持)

ps | grep com.android.browser 獲取pid

cat /proc/pid/status 獲取uid

cat /proc/uid_stat/uid/tcp_snd 發送的流量byte

cat /proc/uid_stat/uid/tcp_rcv 接受的流量bytec.android自帶api

long uidrx=TrafficStats.getUidRxBytes(10053); //10053表示uid

抓包(最好用root真機練習)

經過tcpdump抓包,再經過wireshark直接讀取報信息來獲取流量

5. CPU

a.第三方工具、各種雲測平臺

b.dumpsys命令

adb shell dumpsys cpuinfo | grep com.android.browser > /storage/sdcard0/Download/cpu.txt
c.top命令

adb shell top | grep com.android.browser > /storage/sdcard0/Download/cpu.txt

tips:關注活動狀態和靜默狀態下的狀況

6. 線上監控的方法

a.第三方的標準化的開源、商業產品,如Nagios、zabbix、Ganglia、百度統計等

b.自主研發的監控手機平臺

c.APM,好比聽雲

d.用戶反饋

app埋點監控測試:如友盟

擴展:

APP性能測試分類

客戶端:

  1. 應用測試(關注CPU、MEM、流量、GPU等)
  2. ROM測試
  3. 其餘(web頁面,如今APP大多都是web頁面)

服務器端:性能測試方法和WEB差很少

tips:客戶端的測試其實比較推薦專用的硬件設備來,這樣測出的數據更加準確,好比高速相機、功耗儀等

APP自動化測試分類

UI(robotium、Appium、POCO等)

接口

單元(junit、Robolectric等)

持續集成

tips:一句話,對編程要求高,邏輯性思惟要求高

 

1. 安裝、卸載測試

主要針對編譯後源程序生成的APK安裝文件。

主要測試點:a.生成的APK文件在真機上能夠安裝及卸載;

b.Android手機端的通用安裝工具,如:豌豆莢及91助手等工具能夠正常安裝及卸載程序。

 

2. 在線升級

測試點:a.驗證數字簽名 b.升級後能夠正常使用 c.在線跨版本升級

 

3. 業務邏輯測試

業務邏輯測試:主要測試客戶端業務可否正常完成

功能點測試:主要測試客戶端功能點是否正常使用

關聯性測試:主要測試客戶端與PC端的交互,客戶端處理完後,PC端與客戶端數據一致

4. 異常測試

主要包含了斷網、斷電、服務器異常等狀況下,客戶端可否正常處理,保證數據正常性。

5. 交互性測試

客戶端做爲手機特性測試,包含被打擾的狀況13種,來電,來短信,低電量測試等,還要注意手機端硬件上,如:待機,插拔數據線,耳機等操做不會影響客戶端

6. 易用性測試

界面與交互性測試:符合android交互規範,符合用戶使用習慣,操做方便簡單,具備一致性。

可用性測試:用戶體驗好,用戶操做方便,用戶使用錯誤率低。

7. 適配測試

手機不一樣分辨率支持:客戶端支持800*480,960*540,1920*1280等;

手機不通版本的支持:4.0, 5.0, 6.0;在測試計劃中,須要安排單獨的時間用於android不一樣系統的兼容性測試,包括7.0版本等;

手機不一樣廠家系統的支持:不一樣廠家會有不一樣android系統,例如:小米收,華爲輸入法。是市場主流的系統及廠家不一樣型號的支持;

手機不通尺寸的支持:4.07.0屏幕在UI顯示有區別的,要支持最大到最小。

解決方案:

a.自行購買或者使用借來設備來實際驗證。耗費資金,購買幾臺。

b.第三方雲測試的解決方法。

c.整理不兼容的地方,而後去分析app總可能不兼容的代碼。對技術能力的要求比較高,前期也須要花費很多的時間。

d.利用友盟等第三方統計平臺得到應用對應的TOP N 的記性重點進行測試。

 

8. 客戶端側性能測試

偏重客戶端側CPUMEM、流量、電量以及客戶端在不一樣網絡環境下響應速度等等。

大數據的測試:主要在特定環境下,客戶端一次性更新大量的數據,客戶端可否正常處理,分爲三種狀況:

a.客戶端第一次使用,的一次就更新大量數據

b.客戶端在平時更新中,更新大量的數據

c.客戶端已經在手機本地下載不少數據後,再次更新大量數據。

 

9. 電量與流量測試

手機的電量及流量測試主要是爲了站在用戶角度思考,畢竟電量、流量消耗比較大,會影響客戶的使用感覺。手機端量使用是和CPU使用率成正比的。因爲這個沒有比較詳細的規定,只能出一個通用範圍。CPU使用率不能超過10%以上,流量不要超過10M以上。通常經過android手機端一些監控軟件獲取數據。固然也能夠經過代碼打點獲取

 

10. 內存泄漏測試

OutOfMemory

 

11. 外網與場景測試

主要是模擬客戶使用網絡環境,檢驗客戶端程序在實際網絡環境中使用狀況及進行業務操做。外網測試主要覆蓋到wifi\3G\4Gnet\wap、電信\移動\聯通,全部可能的組合進行測試。

原則:a.儘量全面覆蓋用戶的使用場景,測試用例中須要包含不一樣網絡排列組合的各類可能; b.模擬信號被屏蔽時候,客戶端的影響等; c.作外部場景測試,在高山、丘陵、火車上等特殊環境下進行全面測試。

 

12. APP性能測試分類

客戶端:

a.  應用測試(關注CPUMEM、流量、GPU等)

b.  ROM測試

c.  其餘(web頁面,如今APP大多都是web頁面)

服務器端:性能測試方法和WEB差很少

tips:客戶端的測試其實比較推薦專用的硬件設備來,這樣測出的數據更加準確,好比高速相機、功耗儀等

 

13. APP自動化測試分類

UI(robotiumAppium)

接口

單元(junitRobolectric等)

持續集成

tips:一句話,對編程要求高,邏輯性思惟要求高

 

14. 測試啓動時間

a.代碼裏插入時間並打印Log.e

b.命令方式

    adb shell

am start -W -n 包名/activity

-W是指啓動完成以後,返回啓動耗時

c.秒錶、高速相機

d.adb logcat

adb logcat >d:\log.txt

啓動應用,待加載完成後ctrl+c中止

find "Displayed" d:\log.txt>d:\log1.txt

find "包名" d:\log1.txt>d:]log2.txt

 

15. 代碼靜態掃描

代碼掃描工具Lint,它能很是容易得幫米找出代碼上的結構問題

具體的檢察規則能夠自定義(局部,全局)

lint --list 得到檢查項id和簡要說明

lint --show xxx 得到詳細說明

jenkins:持續版本構建,與lint搭配使用

lint:檢查已有規則規範

findbugs:針對java平臺代碼的檢查

 

16. traceview

手機root,代碼中埋點,加SD卡讀寫權限。經過monitor.bat打卡.trace文件。

Debug.startMethodTracing("路徑"); //oncreate方法中,開始埋點

Debug.stopMethodTracing(); //ondestroy中,結束

 

17. 手機電量測試

a.利用硬件設備:好比耗電量測試儀

b.第三方軟件來檢測:手機自帶電量監控、360助手、GT

c.命令方式(5.0以上版本)

    //初始化batterystats數據

adb shell dumpsys batterystats –reset

//獲得整個設備的電量消耗信息

adb shell dumpsys batterys > /storage/sdcard0/Download/b1.txt

//獲得指定app相關的電量消耗信息

adb shell dumpsys batterystats 包名 > /storage/sdcard0/Download/b1.txt

18. 測試流量

流量分兩種:a.操做app b.不操做app

測試方法:

a.各種雲測平臺、DDMSNetwork

b.命令(模擬器不支持,某些真機不支持)

ps | grep com.android.browser 獲取pid

cat /proc/pid/status 獲取uid

cat /proc/uid_stat/uid/tcp_snd 發送的流量byte

cat /proc/uid_stat/uid/tcp_rcv 接受的流量bytec.android自帶api

long uidrx=TrafficStats.getUidRxBytes(10053); //10053表示uid

抓包(最好用root真機練習)

經過tcpdump抓包,再經過wireshark直接讀取報信息來獲取流量

 

19. GPU

經過開發者模式-》顯示GPU過分繪製

20. CPU

a.第三方工具、各種雲測平臺

b.dumpsys命令

adb shell dumpsys cpuinfo | grep com.android.browser > /storage/sdcard0/Download/cpu.txt
c.top
命令

adb shell top | grep com.android.browser > /storage/sdcard0/Download/cpu.txt

tips:關注活動狀態和靜默狀態下的狀況

 

21. 線上監控的方法

a.第三方的標準化的開源、商業產品,如NagioszabbixGanglia、百度統計等

b.自主研發的監控手機平臺

c.APM,好比聽雲

d.用戶反饋

app埋點監控測試:如友盟

相關文章
相關標籤/搜索