進階之App 測試

 

App知識點

什麼是activity

Activity一個應用程序的組件,它提供一個屏幕來與用戶交互。

Activity:應用程序中,一個Activity就相當於手機屏幕,它是一種可以包含用戶界面的組件,主要用於和用戶進行交互。一個應用程序可以包含許多活動,比如事件的點擊,一般都會觸發一個新的Activity。

Activity生命週期

四種狀態: 1、運行 2、暫停 3、停止 4、系統回收(killed)

Android四大組件

Android四大基本組件:Activity、BroadcastReceiver廣播接收器、ContentProvider內容提供者、Service服務。

app測試點
1、安裝、卸載測試

2、功能測試

根據需求文檔和UI圖設計測試用例,執行測試

3、數據安全性或者敏感性測試

密碼、手機號、身份證等加密傳輸,文字顯示等敏感詞規避

4、異常場景

中斷測試,比如電話來電、短信、推送消息等,app的返回功能等

5、網絡測試

無網情況下,app各個功能的表現,關注用戶體驗和閃退問題

弱網下,各個功能點的異常反應

網絡切換測試,wif和4G網絡切換的場景

6、兼容性測試

App和安卓,一般放到最後進行,待測試結束之前

7、app升級測試

       主要關注大小版本升級,跨版本升級,以及緩存清除機制等。

APP版本升級,即爲整個APP內容升級,Android和IOS一致,分爲強制升級和非強制升級。

8、性能測試

        如果已經能感覺出來系統響應慢,需要提相應的bug跟蹤,並且要具備初步排查分析的能力,比如:查看每一個報文的響應時間,前後端分別耗時,後端如果涉及多接口,每一個接口的耗時等,簡單分析性能的瓶頸。

        iOS騰訊GT內嵌,Android通過weTest助手軟件進行監測


web測試需要中的點

用戶界面測試:用戶界面測試要注意是否有使用說明、站點地圖和導航條,還要關注內容、顏色/背景、圖片表格等。

功能測試:功能測試要關注鏈接、信息交互、數據校驗等。

接口測試:接口測試關注服務器接口、外部接口、錯誤處理等。

兼容性測試:兼容性測試要關注操作系統、瀏覽器、Modem/連接速率、硬件設備等的兼容性。

負載/壓力測試:要關注瞬間訪問高峯、每個用戶傳送大量數據、長時間的使用等。

安全測試:要關注目錄設置、登錄、日誌文件等。

 

App測試和Web測試的區別?

相同點:功能測試和UI層面

不同點:

兼容性測試:在web端是兼容瀏覽器,在App端兼容的是手機設備

安裝測試:WEB測試基本上沒有客戶端層面的安裝測試,但是App測試是存在客戶端層面的安裝測試,那麼就具備相關的測試點(能否正常的安裝、運行、卸載,Android平臺安裝時還要看同版本覆蓋安裝,低版本覆蓋高版本安裝)

交叉事件測試:在操作某個軟件時,來電話、來短信,推送消息、電量不足提示等外部事件。

操作類型測試:如橫屏測試,手勢測試

網絡測試:包含弱網和網絡切換測試

升級測試:升級測試的提醒機制,升級取消是否會影響原有功能的使用,升級後用戶數據是否被清除了。

 

App測試中ios和Android有哪些區別呢?

1.多分辨率測試,Android端20多種,ios較少;

3.手機操作系統,Android較多,ios較少且不能降級,只能單向升級;新的ios系統中的資源庫不能完全兼容低版本中的ios系統中的應用,低版本ios系統中的應用調用了新的資源庫,會直接導致閃退(Crash);

4.操作習慣:Android,Back鍵是否被重寫,測試點擊Back鍵後的反饋是否正確;應用數據從內存移動到SD卡後能否正常運行等;

5.push測試:Android:點擊home鍵,程序後臺運行時,此時接收到push,點擊後喚醒應用,此時是否可以正確跳轉;ios,點擊home鍵關閉程序和屏幕鎖屏的情況(紅點的顯示); 6.安裝卸載測試:Android的下載和安裝的平臺和工具和渠道比較多,ios主要有app store,iTunes和testflight下載;

 7.升級測試:可以被升級的必要條件:新舊版本具有相同的簽名;新舊版本具有相同的包名;有一個標示符區分新舊版本(如版本號),對於Android若有內置的應用需檢查升級之後內置文件是否匹配(如內置的輸入法)

 

 

app導致ANR的原因有如下幾點:

 1.耗時的網絡訪問

 2.大量的數據讀寫

 3.數據庫操作

 4.硬件操作(比如camera)

 5.調用thread的join()方法、sleep()方法、wait()方法或者等待線程鎖的時候 6.service binder的數量達到上限

 7.system server中發生WatchDog ANR

 8.service忙導致超時無響應

 9.其他線程持有鎖,導致主線程等待超時 10.其它線程終止或崩潰導致主線程一直等待。

 

 

app對於不穩定偶然出現anr和crash時候你是怎麼處理的?

1、app開發保存錯誤日誌到本地

2、實時抓取

3、第三方sdk統計工具

一般接入了第三方統計sdk,比如友盟統計,在友盟的後臺會抓到報錯的日誌

 

壓力測試

 

壓測範圍:

對提測範圍內TOP54個用例進行接口性能壓測、容量測試、綜合場景壓測、穩定性壓測

壓測目的:

對系統進行性能評估,驗證系統在併發下TPS、響應時間和錯誤率符合壓測標準

壓測場景:

容量指標測試:根據產品預估系統5年數據量,參數化相關數據錄入數據庫;

接口性能壓測:提測範圍內TOP54個用例,每個用例單獨性能評估;

綜合場景壓測:綜合壓測主要場景,測試性能指標是否符合PV、TPS、響應時間、成功率等指標;

穩定性壓測:使用綜合場景腳本,持續進行48小時系統穩定性測試,分析性能結果;

app性能測試

指標說明

 

 

場景

說明

其它

CPU使用率

在測試的過程中,取CPU使用率平均值

 

內存使用率

在測試的過程中,取內存降(Max-Min)值

 

流暢度幀率

流暢度均值:測試全程平均單幀繪製時長;

 

耗電量

利用系統工程模式測試電池電壓降(Max-Min)數值

 

網絡IO吞吐率

前後臺交互時,佔用網絡IO的通訊時長和大小

 

App啓動時間

App啓動到加載到首屏的時長

 

關鍵路徑耗時

在操作的過程中,關鍵業務的請求耗時

 

關鍵路徑流量

在操作的過程中,關鍵業務的流量消耗

 

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