APP安裝
是否可以間隔版本覆蓋安裝。
是否可以覆蓋安裝更低版本。
應用是否可以在不同系統版本上安裝(有的系統版本過低,應用不能適配)。
軟件安裝后的文件夾及文件是否可以寫到指定的目錄里。
安裝過程中可以取消(殺進程)。
安裝空間不足時是否有相應提示。
APP卸載
卸載,安裝目錄清理,SD卡存儲數據不被清理。
是否可以刪除應用(可通過桌面刪除,也可以通過軟件卸載安裝。曾發現在IOS手機上有個應用安裝時未完全安裝,終止安裝后,未完成安裝的應用圖標一直顯示在手機上,並且無法成功刪除)。
測試卸載后文件是否全部刪除所有的安裝文件夾。
卸載過程中出現死機,斷電,重啟等意外的情況,待環境恢復后是否可以正確卸載。
APP升級
當客戶端有新版本時,有更新提示。
通過第3方軟件升級。
升級中用戶數據、設置、狀態的保留,特別注意新版本已去掉的狀態或設置。
如果升級有忽略本次版本升級,那么當有新的升級版本時,是否還有提示升級。
跨版本升級應該能成功。
選擇非強制更新時,是否可以選擇暫不更新和立即更新;是否可以關閉彈框不顯示。
非強制更新彈框的提示頻率,一般遇到的一天提示一次或固定時間提示一次。
大版本更新不升級無法使用。
當版本為強制升級版時,但給出強制更新后用戶沒有做更新時,退出客戶端。下次啟動App時,仍出現強制升級提示。
強制升級的彈窗是否可以關閉。
當客戶端有新版本時,在本地不刪除客戶端的情況下,直接更新檢查是否能正常更新。
查看老賬戶升級后是否可以正常使用。
查看老賬戶升級后的老數據是否丟失或異常。
檢查新功能替換老功能,是否按最新的邏輯執行。
檢查舊版本上去掉或者隱藏的功能,對新版本有沒有影響。
升級時斷電、重啟、來電等中斷
APP啟動與停止
首次啟動是否出現歡迎界面,可否進入app,停留時間是否合理。
首次啟動后拉取的信息是否正確。
再次啟動時間是否符合預期。
再次啟動app功能是否異常。
再次啟動后狀態檢查:如初始化信息、初始狀態、啟動對網絡。
再次啟動進程服務檢查:進程名、進程數、服務名、服務數、第三方調用的SDK如GPS。
再次登錄的應用是否再次啟動的時候正常登錄。
出現崩潰是否可以再次啟動。
手動終止進程、服務是否可以再次啟動。
其他系統軟件工具停止進程、清理軟件數據,是否可以啟動。
APP權限以及安全
需要用戶確認的權限沒有授權,權限默認關閉,相關功能正常。
聯網權限被管家、系統安全類軟件限制情況下的聯網操作。
使用安全軟件進行安全漏洞、病毒掃描、看被測app是否會被這些安全軟件提示有問題而影響用戶的對被測app的使用或者印象。
扣費風險:包括短信、撥打電話、連接網絡等。
隱私泄露風險:包括訪問手機信息、訪問聯系人信息等。
對App的輸入有效性校驗、認證、授權、數據加密等方面進行檢測。
當將密碼或其它的敏感數據輸入到應用程序時,其不會被存儲在設備中,同時密碼也不會被解碼。
密碼、信用卡明細或其他的敏感數據將不被存儲在它們預輸入的位置上。
登錄
登錄用戶名和密碼錯誤時,界面有提示信息。
用戶主動退出登錄后,下次啟動APP時,應該進入登錄界面。
對於支持自動登錄的APP,是否能自動登錄成功。
密碼更改后,登錄時是否做到了有效數據的校驗。
對於未登錄時一些頁面的操作,是否做了控制。
切換賬號登錄,檢驗登錄的信息是否做到及時更新。
對於多個端都進行操作時,確保數據庫操作無誤,且每個端可以及時看到數據的更新。
對於一些軟件,支持一個賬號只允許登錄一台機器,這時,需要檢查賬號登錄多個手機時,是否將原用戶剔除,且能夠給出提示信息。
對於IOS與android不同設備登錄同一個賬號時,對個人信息等數據進行操作后,確保數據數庫操作無誤,且IOS與android設備看到的數據都是最新的。
用戶登錄狀態太久,sessionId會過期,會出現“雖然是登錄狀態,系統會提示用戶沒有登錄。
網絡與流量
網絡信號,尤其是弱網絡環境下app的表現。
不同運營商網絡:電信、聯通、移動、2/3/4G。
網絡中斷、網絡恢復場景的邏輯處理(如重試),以及網絡提示。
首次啟動app的流量是否符合預期。
統計、異常上報對流量的影響。
app中圖片大小、尺寸是否有考慮對網絡流量的影響。
基於流量安全的特殊業務,如僅WiFi下支持該功能。
對於一些程序,需要在登錄進來后,這時沒有網絡的情況下可以瀏覽本地數據。
對於無網絡時,刷新獲取新數據時,不能獲取數據且能給出友好提示。
對於一些界面的數據不提供離線查看,需要給出相應提示且界面更新后無任何數據。
確認在無網情況下可以瀏覽本地數據。
無網絡情況時能否正常進入免登錄狀態。
中斷測試
停留在程序操作界面進行鎖屏,恢復后檢查操作是否正常。
停留在程序操作界面,通過home鍵,進行程序的前后台切換。
頁面接口請求、界面框架加載時,通過home鍵、返回鍵、快速切換操作進行中斷。
系統異常中斷:關機、斷電、重啟、充電。
App切換到后台,再回到App,檢查是否停留在上一次操作界面,功能及應用狀態是否正常,尤其是對於從后台切換回前台數據有自動更新的時候。
當App使用過程中有電話/短信/鬧鍾/定時進來中斷后再切換到App,功能狀態是否正常。
出現必須處理的提示框后,切換到后台,再切換回來,檢查提示框是否還存在,有時候會出現應用自動跳過提示框的缺陷。
對於有數據交換的頁面,每個頁面都必須要進行前后台切換、鎖屏的測試,這種頁面最容易出現崩潰。
App運行時使用藍牙傳送/接收數據。
App運行時使用相機、計算器等手機自帶設備。
PUSH測試
檢查Push消息是否按照指定的業務規則發送。
檢查不接收推送消息時,用戶不會在接收到Push消息。
如果用戶設置了免打擾的時間段,檢查在免打擾時間段內,用戶接收不到Push。在非免打擾時間段內,用戶能正常收到Push。
當Push消息是針對登錄用戶的時候,需要檢查收到的Push與用戶身份是否相符,沒有錯誤的將其他人的消息推送過來。一般情況下,只對手機上最后一個登錄用戶進行消息推送。
測試Push時,需要采用真機進行測試。
兼容測試
分辨率、屏幕大小、系統版本、不同手機品牌。
與本地、主流App(安全、輸入法、通信等)、競品app是否兼容。
是否支持橫豎屏自適應處理。
數據及存儲
一般的增、刪、改、查測試。
當表不存在時是否能自動創建,當數據庫表被刪除后能否再自建,數據是否還能自動從服務器中獲取回來並保存。
在業務需要從服務器端取回數據保存到客戶端的時候,客戶端能否將數據保存到本地。
當業務需要從客戶端取數據時,檢查客戶端數據存在時,App數據是否能自動從客戶端數據中取出,還是仍然會從服務器端獲取?檢查客戶端數據不存在時,App數據能否自動從服務器端獲取到並保存到服務器端。
app使用過程中產生的臨時文件存儲途徑、命名方式等。
app中涉及的下載操作產生的文件存儲方式。
存儲的文件被鎖、占用。
有外置SD、內置SD卡都要考察app產生的文件是否正確。
app被安裝在SD卡或者手機存儲空間。
磁盤空間不足、磁盤無權限(如讀,寫)。
性能測試
性能:核心操作的性能指標是:CPU/內存、響應時長、電量、流量。
穩定性:選擇某些場景做持續反復操作;Monkey穩定性操作,持續多個小時。
流暢度:列表滑動、返回進入、快速點擊(這個肉眼不好判斷,可以借助GT)。
--------------------------------------------------------------------------------
關注微信公眾號(測試工程師小站)即可在手機上查閱,並可接收更多測試分享,發送【測試資料】更可獲取百G測試教程~