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啓動到加載到首屏的時長 |
|
關鍵路徑耗時 |
在操作的過程中,關鍵業務的請求耗時 |
|
關鍵路徑流量 |
在操作的過程中,關鍵業務的流量消耗 |
|