關於如何來測一款app的思考

最近工作當中需要整體測一遍app,需要全方面思考並且儘可能覆蓋所有待測點,因爲整理總結了這篇關於app測試的總體大綱

一、功能測試

1.1界面測試

1.1.1導航測試

---是否易於導航、導航是否直觀
---不同頁面之間的連接需要導航
---是否需要搜索引擎
---菜單、列表、窗口、對話框、按鈕等等

1.1.2圖形測試

---根據窗口大小自適應
---頁面標籤風格是否統一
---頁面的圖片要求整體美觀有序

1.1.3內容測試

---文字內容與系統功能是否一致
---文字是否有錯別字
---文字長度是否加以限制
---是否有敏感詞彙、關鍵詞、隱私等圖片

1.2基礎功能測試

1.2.1安裝

---直接從App Store下載,檢查是否支持正常安裝、啓動、運行、退出
---同樣的應用安裝到不同版本的手機上,覆蓋主流的IOS系統,檢查應用是否正常
---從Android應用市場直接下載,檢查是否支持正常安裝、啓動、運行、退出
---從第三方網址下載的安裝包,檢查是否支持正常安裝、啓動、運行、退出
---同樣的應用安裝在不同的Android設備上,覆蓋主流的Android機型(華米OV)
---同樣的應用安裝在不同的Android系統上,覆蓋主流的Android系統
---安裝過程中,是否可以取消安裝
---安裝過程中,手機存儲空間不足,是否安裝成功還是給出提示
---安裝過程中,手機本身的意外情況如:死機、斷電、關機、重啓
---安裝過程中,外部的意外情況如:斷網,弱網,網絡中斷後又恢復

1.2.2卸載

---手動長按刪除,檢查是否有卸載確認信息彈出
---卸載過程中,是否支持取消卸載
---卸載過程中,手機本身的意外情況如:死機、斷電、關機、重啓
---卸載過程中,外部的意外情況如:斷網,弱網,網絡中斷後又恢復

1.2.3升級更新

---當APP有新版本更新時,會出現更新提示,以提醒用戶
---當版本爲非強制升級時,用戶可以取消更新,老版本能正常使用。用戶下次啓動app時,仍能出現更新提示
---當版本爲強制升級時,當給出強制更新後用戶沒有更新完成就退出app,下次啓動app時,仍讓出現強制升級提示
---當版本更新後,檢查功能是否正常
---更新升級過程中的意外情況,如死機、斷電、重啓

1.2.4登錄

---系統是否允許多次非法的登陸,是否有次數限制
---使用已經登陸的賬號登陸系統是否正確處理,一號一機,互斥原則
---使用禁用的賬號登陸系統是否正確處理
---登錄賬號和密碼的錯誤排列組合
---原用戶已不存在,再次登錄
---登錄超時的處理
---防止爬蟲,登錄時是否有圖形驗證碼校驗

1.2.5註銷

---註銷是否有二次提示彈窗口
---用戶註銷後,是否自動退出
---註銷原用戶,新用戶系統能否正確處理
---使用錯誤的賬號、密碼、無權限的被禁用的賬號進行註銷

1.2.6 push

---檢查push消息是否按照指定的業務規則發送
---檢查不接收推送消息後,用戶不會再接收到push
---檢查在設置免打擾的時間段內,用戶不會再接收到push;非免打擾時間段,用戶可以正常接收
---push消息只針對登錄用戶的情況,支只對app上最後一個登錄用戶進行消息推送
---測試push時,需要採用真機測試

1.3各項業務測試

---每個頁面的功能,與需求文檔一致
---頁面與頁面之間的關聯,數據聯動
---用戶界面、後臺管理界面,數據庫校驗的一致性
---特殊操作測試:手勢操作是否正常,長按、拖拽、滑動、放大

二、交叉事件測試

2.1交互測試

備註說明:該app與其他的應用交互是否正常
---調用系統相機,檢查是否能夠正常打開相機,並且正常拍照
---調用系統相冊,檢查是否能夠正常打開相冊,並且上傳照片或視頻
---調用通訊錄,檢查是否能夠正常打開通訊錄、插入記錄

2.2交叉事件測試

備註說明:在app運行過程中,其他事件或者應用,中斷了當前app應用的執行。跟手機固有的功能模塊,進行交互使用,像音量的調節,鎖屏,旋轉,返回鍵,主菜單鍵,截圖,鬧鐘,待機,插拔數據線,耳機,wifi/3G/4G/5G、藍牙,電話,短信,相機、通訊錄、低電量
---在app運行時,接聽/撥打電話
---在app運行時,發送/接收短信
---在app運行時,發生網絡切換等等

2.3前後臺的切換

---APP切換到後臺,再回到APP,檢查是否停留在上一次操作頁面
---APP切換到後臺,再回到APP,檢查功能及應用狀態是否正常,尤其是從後臺切回前臺數據有自動更新時
---APP切換到後臺,再回到APP,注意軟件是否崩潰,自動退出
---殺掉APP進程後,再開啓APP,檢查APP是否能正常啓動
---出現必須處理的提示框後,切換到後臺,再切回來,檢查提示框是否還存在,有時會出現應用自動跳過提示框的缺陷
---對於有數據更新數據交換的頁面,每一個頁面都必須進行前後臺切換、鎖屏的測試,這種頁面最容易出現崩潰

三、弱網測試

3.1弱網功能測試

①使用較弱的wifi、2G、3G、4G、5G
②切換網絡測試 :
wifi--->2G/3G/4G/5G
2G/3G/4G/5G--->wifi
wifi--->無網
2G/3G/4G/5G--->無網
強wifi--->弱wifi
無網--->wifi
無網--->2G/3G/4G/5G
弱wifi--->強wifi

3.2無網測試

①直接斷網
②斷網重連

3.3弱網用戶體驗測試

頁面顯示
---初始化從零加載應顯示異常提示
---頁面加載部分數據後斷網,已加載數據是否正常展示,未加載部分是否符合設計
---已加載所有數據後,斷網重連刷新頁面是否正常顯示還是覆蓋已有數據
---友好加載提示:進度條
---超時機制
---重連機制

3.4常用模擬弱網測試工具

charles、
Fiddler、
IOS自帶開發者工具:Network Link Conditioner、
Facebook開源的Augmented Traffic Control (ATC)工具

四、權限測試

備註說明:設置某個 App 是否可以獲取該權限,例如是否可訪問通訊錄、相冊、照相機等

4.1主要權限

主要包括以下權限:
---存儲空間權限
---照片相機權限
---獲取設備識別碼權限
---通知權限
---位置權限
---麥克風權限
---通訊錄權限
---網絡權限
---短信讀取權限

4.2權限設置

---永不
---讀取、寫入
---權限開、權限關、使用時主動詢問、使用時被動觸發授權

五、性能測試

5.1響應時間

---app啓動:首次安裝啓動、冷啓動、暖啓動、熱啓動
---app交互:事件響應、內部加載速度、首屏渲染、過度渲染、幀率fps、CPU佔用率、流量、耗電量
---接口性能:DNS加載時間、https的請求次數、download時間
---H5性能:cache、資源加載時間

5.2啓動性能

重點是要查看啓動時間
---首次安裝啓動:首次安裝會耗費較多的時間初始化
---冷啓動:進程不存在
---暖啓動:進程存在,界面不存在
---首屏啓動:第一屏加載完整

5.3接口性能

單個接口的數據返回時間,請參照接口文檔來逐一測試,全覆蓋

5.4測試工具

---IOS:通過XCODE工具查看內存消耗、CPU、GPU
---Android:android studio工具的DDMS查看

六、安全測試

6.1授權驗證

---扣費風險:發送短信、撥打電話、自動續費
---隱私泄露風險:訪問手機信息、訪問聯繫人信息
---對App的輸入有效性校驗、認證、授權、敏感數據存儲、數據加密等方面進行檢測
---檢測App的用戶授權級別、數據泄漏、非法授權訪問等

6.2數據傳輸

---將密碼或其他的敏感數據輸人到app時, 其不會被儲存在設備中, 同時密碼也不會被解碼
---輸人的密碼將不以明文形式進行顯示
---密碼, 信用卡明細, 或其他的敏感數據將不被儲存在它們預輸入的位置上
---不同的app的個人身份證或密碼長度必需至少在4一8 個數字長度之間
---備份應該加密, 恢復數據應考慮恢復過程的異常通訊中斷等, 數據恢復後再使用前應該經過校驗
---app不應該模擬進行安全警告誤導用戶,利用顯示誤導信息欺騙用戶
---在數據刪除之前,app應當通知用戶或者app提供一個“取消”命令的操作
---app應當有異常保護 ---如果數據庫中重要的數據正要被重寫, 應及時告知用戶

6.3通訊安全

---在運行其軟件過程中, 如果有來電、SMS、EMS、MMS、藍牙、紅外等通訊或充電時, 是否能暫停程序,優先處理通信, 並在處理完畢後能正常恢復軟件, 繼續其原來的功能
---當創立連接時, app能夠處理因爲網絡連接中斷, 進而告訴用戶連接中斷的情況
---app將保持工作到通訊超時, 進而發送給用戶一個錯誤信息指示有連接錯誤
---應能處理通訊延時或中斷,網絡異常和及時將異常情況通報用戶
---App和後臺服務一般都是通過HTTP來交互的,驗證HTTP環境下是否正常;
---公共免費網絡環境中(如:麥當勞、星巴克等)都要輸入用戶名和密碼,通過SSL認證來訪問網絡,需要對使用HTTP Client的library異常作捕獲處理。

七、兼容性測試

---兼容不同的操作系統:IOS、Andriod、HarmonyOS
---兼容不同的機型:iphone、華米VO、三星
---兼容不同的屏幕分辨率:各類手機的尺寸大小
---兼容不同的APP:與市場上主流的100款軟件同時安裝在一個手機上,是否會被其他app誤認爲病毒軟件
---兼容不同的語言:同一操作系統中,不同語言設置的兼容性
---兼容不同的網絡:保證wifi、3G、4G、5G、GPRS等不同網絡的可連接性

八、穩定性測試

8.1測試方案

使用monkey測試app的穩定性:運行1000次,大概八小時,查看日誌文件,檢查是否出現crash、anr、exception、dump等單詞

8.2影響app穩定性

①內存問題
---app所需內存超過設備限制,導致app崩潰閃退
---app內存泄漏,耗盡設備全部內存導致整個系統崩潰
---app內存越界,使用了非授權的內存位置導致app崩潰
②程序邏輯錯誤
---數組越界,如負數索引、超過數組長度的索引
---堆棧溢出,如堆棧區緩衝區被填滿,堆棧空時取數據等等
---併發操作,如併發時調用了一個已釋放的指針
---邏輯錯誤,如0除作爲除數等等
③交互邏輯
---app界面交換操作滑動導致app崩潰
---未處理中斷或異常,如切後臺,接電話,斷網等用戶的非預期操作
④網絡因素
---網絡不佳、弱網環境,無法達到app所需的快速響應時間,導致app崩潰
---不同網絡的切換

九、其他測試場景

9.1流量測試

備註說明:爲什麼要做流量測試?如果一款app運行過程中,使用的流量過多,那麼大概率不會受到用戶的歡迎
---app安裝完成後,首次啓動時耗用的流量
---app安裝包本身的空間大小,下載耗用的流量
---app升級更新時耗用的流量 ---app執行業務操作引起的流量
---app在後臺運行時消耗的流量

9.2耗電量測試

備註說明:爲什麼要做耗電量測試?如果在功能類似的情況下,app特別耗電造成設備發熱嚴重,那麼用戶大概率會卸載這款應用改用其他app軟件
---app運行但沒有執行業務操作時的耗電量
---app運行且密集執行業務操作時的耗電量
---app在後臺運行時的耗電量
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章