(1)App獨特測試點:數據庫
客戶端兼容性測試:系統版本、不一樣深度定製的rom、屏幕分辨率、中斷測試、安裝、卸載、升級、對其餘程序的干擾等後端
須要的一些工具:api
appnium / lr / jmeter / 打包工具 / 抓包工具等緩存
(2)是否須要搭建環境?安全
基本不須要,服務端統一搭建部署服務,跟在某個客戶端運行關係不大,無需單獨部署環境。服務器
(3)推薦兩個上傳App安裝包到應用市場的工具網站:網絡
①www.fir.im併發
②www.pgyer.comapp
(4)網絡環境測試:異步
手機的網絡目前主要分爲2G、3G、wifi,其中2G的網絡相對於比較慢,測試時尤爲要注意此塊的測試。
1) 無網絡時,執行須要網絡的操做,給予友好提示,確保程序不出現crash。
2) 內網測試時,要注意選擇到外網操做時的異常狀況處理。
3) 在網絡信號很差時,檢查功能狀態是否正常,確保不因提交數據失敗而形成crash。
4) 在網絡信號很差時,檢查數據是否會一直處於提交中的狀態,有無超時限制。如遇數據交換失敗時要給予提示。
5) 在網絡信號很差時,執行操做後,在回調沒有完成的狀況下,退出本頁面或者執行其餘操做的狀況,有無異常狀況。此問題也會常常出現程序crash。
注:通常能夠選擇在地鐵、公交、電梯、隧道等表明性的場所進行測試。
(5)軟件權限:
1)扣費風險:包括髮送短信、撥打電話、鏈接網絡等
2)隱私泄露風險:包括訪問手機信息、訪問聯繫人信息等
3)對App的輸入有效性校驗、認證、受權、敏感數據存儲、數據加密等方面進行檢測
4)限制/容許使用手機功能接入互聯網
5)限制/容許使用手機發送接受信息功能
6)限制/容許應用程序來註冊自動啓動應用程序
7)限制或使用本地鏈接
8)限制/容許使用手機拍照或錄音
9)限制/容許使用手機讀取用戶數據
10)限制/容許使用手機寫入用戶數據
11)檢測App的用戶受權級別、數據泄漏、非法受權訪問等
(6)安裝與卸載安全性:
1)應用程序應能正確安裝到設備驅動程序上
2)可以在安裝設備驅動程序上找到應用程序的相應圖標
3)是否包含數字簽名信息
4)JAD文件和JAR包中包含的全部託管屬性及其值必需是正確的
5)JAD文件顯示的資料內容與應用程序顯示的資料內容應一致
6)安裝路徑應能指定
7)沒有用戶的容許,應用程序不能預先設定自動啓動
8)卸載是否安全,其安裝進去的文件是否所有卸載
9)卸載用戶使用過程當中產生的文件是否有提示
10)其修改的配置信息是否復原
11)卸載是否影響其餘軟件的功能
12)卸載應該移除全部的文件
(7)數據安全性 :
1)當將密碼或其餘的敏感數據輸人到應用程序時,其不會被儲存在設備中,同時密碼也不會被解碼
2)輸人的密碼將不以明文形式進行顯示
3)密碼,信用卡明細,或其餘的敏感數據將不被儲存在它們預輸人的位置上
4)不一樣的應用程序的我的身份證或密碼長度必需至少在4一8個數字長度之間
5)當應用程序處理信用卡明細,或其餘的敏感數據時,不以明文形式將數據寫到其它單獨的文件或者臨時文件中。以防止應用程序異常終止而又沒有側除它的臨時文件,文件可能遭受人侵者的襲擊,而後讀取這些數據信息。
6)當將敏感數據輸人到應用程序時,其不會被儲存在設備中
7)備份應該加密,恢復數據應考慮恢復過程的異常通信中斷等,數據恢復後再使用前應該通過校驗
8)應用程序應考慮系統或者虛擬機器產生的用戶提示信息或安全替告
9)應用程序不能忽略系統或者虛擬機器產生的用戶提示信息或安全警告,更不能在安全警
(8)運行:
1)App安裝完成後的試運行,可正常打開軟件。
2)App打開測試,是否有加載狀態進度提示。
3)App打開速度測試,速度是否可觀。
4)App頁面間的切換是否流暢,邏輯是否正確
(9)應用的先後臺切換:
1) APP切換到後臺,再回到app,檢查是否停留在上一次操做界面。
2) APP切換到後臺,再回到app,檢查功能及應用狀態是否正常
3) app切換到後臺,再回到前臺時,注意程序是否崩潰,功能狀態是否正常,尤爲是對於從後臺切換回前臺數據有自動更新的時候。
4) 手機鎖屏解屏後進入app注意是否會崩潰,功能狀態是否正常,尤爲是對於從後臺切換回前臺數據有自動更新的時候。
5) 當App使用過程當中有電話進來中斷後再切換到app,功能狀態是否正常
6) 當殺掉app進程後,再開啓app,app可否正常啓動。
7) 出現必須處理的提示框後,切換到後臺,再切換回來,檢查提示框是否還存在,有時候會出現應用自動跳過提示框的缺陷。
8) 對於有數據交換的頁面,每一個頁面都必須要進行先後臺切換、鎖屏的測試,這種頁面最容易出現崩潰。
(10)免登陸 :
不少應用提供免登陸功能,當應用開啓時自動以上一次登陸的用戶身份來使用app.
1) app有免登陸功能時,須要考慮IOS版本差別。
2) 考慮無網絡狀況時可否正常進入免登陸狀態。
3) 切換用戶登陸後,要校驗用戶登陸信息及數據內容是否相應更新,確保原用戶退出。
4) 若是一個賬戶只容許登陸一臺機器。須要檢查一個賬戶登陸多臺手機的狀況。原手機裏的用戶須要被踢出,給出友好提示。
5) app切換到後臺,再切回前臺的校驗
6) 切換到後臺,再切換回前臺的測試
7) 密碼更換後,檢查有數據交換時是否進行了有效身份的校驗
8) 支持自動登陸的應用在進行數據交換時,檢查系統是否能自動登陸成功而且數據操做無誤。
9) 檢查用戶主動退出登陸後,下次啓動app,應停留在登陸界面
(11)數據更新:
根據應用的業務規則,以及數據更新量的狀況,來肯定最優的數據更新方案。
1) 須要肯定哪些地方須要提供手動刷新,哪些地方須要自動刷新,哪些地方須要手動+自動刷新。
2) 肯定哪些地方從後臺切換回前臺時須要進行數據更新。
3) 根據業務、速度及流量的合理分配,肯定哪些內容須要實時更新,哪些須要定時更新。
4) 肯定數據展現部分的處理邏輯,是每次從服務端請求,仍是有緩存到本地,這樣纔能有針對性的進行相應測試。
5) 檢查有數據交換的地方,均有相應的異常處理。
(12)離線瀏覽:
不少應用會支持離線瀏覽,即在本地客戶端會緩存一部分數據供用戶查看。
1) 在無網絡狀況能夠瀏覽本地數據
2) 退出app再開啓app時能正常瀏覽
3) 切換到後臺再切回前臺能夠正常瀏覽
4) 鎖屏後再解屏回到應用前臺能夠正常瀏覽
5) 在對服務端的數據有更新時會給予離線的相應提示
(13)App更新:
1) 當客戶端有新版本時,有更新提示
2) 當版本爲非強制升級版時,用戶能夠取消更新,老版本能正常使用。用戶在下次啓動app時,仍能出現更新提示。
3) 當版本爲強制升級版時,當給出強制更新後用戶沒有作更新時,退出客戶端。下次啓動app時,仍出現強制升級提示。
4) 當客戶端有新版本時,在本地不刪除客戶端的狀況下,直接更新檢查是否能正常更新。
5) 當客戶端有新版本時,在本地不刪除客戶端的狀況下,檢查更新後的客戶端功能是不是新版本。
6) 當客戶端有新版本時,在本地不刪除客戶端的狀況下,檢查資源同名文件如圖片是否能正常更新成最新版本。
若是以上沒法更新成功的,也都屬於缺陷。
7)測試App的增量升級,測試App在升級失敗之後,是否能夠繼續使用升級以前的版本。
8)新版版發佈後,配合不一樣網絡環境的自勱更新提示及下載、安裝、更新、啓勱、運行的驗證測試。
須要檢查的內容:
測試升級後的功能是否與需求說明同樣
測試與升級模塊相關的模塊的功能是否與需求一致
升級安裝意外狀況的測試(如死機、斷電、重啓)
升級界面的UI測試
不一樣操做系統間的升級測試
數字簽名、升級覆蓋安裝、下載後手動覆蓋安裝、跨版本升級、升級後能夠正常使用。覆蓋安裝要確保數據庫有字段更新的話,能正常更新,不然就容易致使app異常。
(14)定位、照相機服務:
1) App有用到相機,定位服務時,須要注意系統版本差別
2) 有用到定位服務、照相機服務的地方,須要進行先後臺的切換測試,檢查應用是否正常。
3) 當定位服務沒有開啓時,使用定位服務,會友好性彈出是否容許設置定位提示。當肯定容許開啓定位時,能自動跳轉到定位設置中開啓定位服務。
4) 測試定位、照相機服務時,須要採用真機進行測試。
(15)時間測試:
客戶端能夠自行設置手機的時區、時間,所以須要校驗該設置對app的影響。
中國爲東8區,因此當手機設置的時間非東8區時,查看須要顯示時間的地方,時間是否展現正確,應用功能是否正常。時間通常須要根據服務器時間再轉換成客戶端對應的時區來展現,這樣的用戶體驗比較好。
好比發表一篇微博在服務端記錄的是10:00,此時,華盛頓時間爲22:00,客戶端去瀏覽時,若是設置的是華盛頓時間,則顯示的發表時間即爲22:00,當時間設回東8區時間時,再查看則顯示爲10:00。
(16)PUSH測試:
1) 檢查push消息是否按照指定的業務規則發送
2) 檢查不接受推送消息時,檢查用戶不會再接收到push.
3) 若是用戶設置了免打擾的時間段,檢查在免打擾時間段內,用戶接收不到PUSH。 在非免打擾時間段,用戶能正常收到push。
4) 當push消息是針對登陸用戶的時候,須要檢查收到的push與用戶身份是否相符,沒有錯誤地將其它人的消息推送過來。
通常狀況下,只對手機上最後一個登陸用戶進行消息推送。
5) 測試push時,須要採用真機進行測試。
(17)性能測試:
評估App的時間和空間特性 :
1)極限測試:在各類邊界壓力狀況下,如電池、存儲、網速等,驗證App是否能正確響應。
內存滿時安裝App --運行App時手機斷電 --運行App時斷掉網絡
2)響應能力測試:測試App中的各種操做是否知足用戶響應時間要求 。 --App安裝、卸載的響應時間 --App各種功能性操做的影響時間
3)壓力測試:反覆/長期操做下、系統資源是否佔用異常。
App反覆進行安裝卸載,查看系統資源是否正常
其餘功能反覆進行操做,查看系統資源是否正常
4)性能評估:評估典型用戶應用場景下,系統資源的使用狀況。
可測試的方面- 安裝和啓動時間- CPU的佔用- 內存的佔用- 流量的耗用- 電量的耗用- 後端,測試App中的各種操做是否知足用戶響應時間要求,主要是測試點在網速方面,2g,3g,wifi, 4g必定要覆蓋到- 後端 有網絡併發
(18)交叉事件測試:
針對智能終端應用的服務等級劃分方式及實時特性所提出的測試方法。交叉測試又叫事件或衝突測試,是指一個功能正在執行過程當中,同時另一個事件或操做對該過程進行干擾的測試。
如:App在前/後臺運行狀態時與來電、文件下載、音樂收聽等關鍵運用的交互狀況測試等。交叉事件測試很是重要,能發現不少應用中潛在的性能問題。
1) 多個App同時運行是否影響正常功能
2) App運行時前/後臺切換是否影響正常功能
3) App運行時撥打/接聽電話 4) App運行時發送/接收信息
5) App運行時發送/收取郵件
6) App運行時切換網絡(2G、3G、4G、WIFI )
7) App運行時瀏覽網絡
8) App運行時使用藍牙傳送/接收數據
9) App運行時使用相機、計算器等手機自帶設備
(19)兼容測試:
主要測試內部和外部兼容性
1)與本地及主流App是否兼容
2)基於開發環境和生產環境的不一樣,檢驗在各類網絡鏈接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的數據和運用是否正確
3)與各類設備是否兼容,如有跨系統支持則須要檢驗是否在各系統下,各類行爲是否一致
不一樣操做系統的兼容性,是否適配
不一樣手機屏幕分辨率的兼容性
不一樣手機品牌的兼容性
(20)用戶體驗測試:
以主觀的普通消費者的角度去感知產品或服務的溫馨、有用、易用、友好親切程度。 經過不一樣個體、獨立空間和非經驗的統計複用方式去有效評價產品的體驗特性升產品的潛在客戶滿意度。
1)是否有空數據界面設計,引導用戶去執行操做。
2)是否濫用用戶引導。
3)是否有不可點擊的效果,如:你的按鈕此時處於不可用狀態,那麼必定要灰掉,或者拿掉按鈕,不然會給用戶誤導
4)菜單層次是否太深
5)交互流程分支是否太多
6)相關的選項是否離得很遠
7)一次是否載入太多的數據
8)界面中按鈕可點擊範圍是否適中
9)標籤頁是否跟內容沒有從屬關係,當切換標籤的時候,內容跟着切換
10)操做應該有主次從屬關係
11)是否有橫屏模式的設計,應用通常須要支持橫屏模式,即自適應設計
(21)硬件環境測試:
手勢操做測試
1)手機開鎖屏對運行中的App的影響
2)切換網絡對運行中的App的影響
3)運行中的App先後臺切換的影響
4)多個運行中的App的切換
5)App運行時關機
6)App運行時重啓系統
7)App運行時充電
8)App運行時kill掉進程再打開
(22)再次總結:
1. UI 測試
app主要核ui與實際設計的效果圖是否一致;交互方面的問題建議,能夠先與產品經理確認,確認經過後,纔開始讓開發實施更改或優化2. 功能測試
根據軟件說明或用戶需求驗證App的各個功能實現;與其它測試同樣,無太大區別,能夠看看以前的測試點梳理文章,以及其它老徐的文章;
3. 中斷測試
模擬用戶真實使用app時會遇到的中斷狀況進行測試.如: 網絡的斷網,切換網絡, 斷電,來電話/短信,聽音樂,切換到其餘app, 打開其餘app 的通知、低電量時可否正常使用等
4. 兼容以及適配測試
新舊版本的在功能,邏輯層面的兼容測試, 同一個app 在不一樣系統版本運行,以及不一樣機型之間的適配測試兼容測試:接口的兼容性測試可以保證大部分的功能完善;app在不一樣系統版本上保證運行適配性: 屏幕,系統版本等(系統位數必定要考慮)該部分經過第三方的雲平臺進行
用不一樣的支持語言驗證App行爲。
5. 安全測試
App安全測試大概劃分爲如下幾類:
1)從數據的本地存儲到數據的傳輸、處理以及遠程訪問等各個環節,基於相應的安全標準/行業標準評估App的安全特性;
借鑑在WebApp和網絡安全測試的一些成功經驗在智能終端App測試中進行裁減或適配;
2)檢測App的用戶受權級別,數據泄漏,非法受權訪問等;
3)對App的輸入有效性校驗、認證、受權、敏感數據存儲、數據加密等方面進行檢測,以期發現潛在的安全問題;
4)基於各類通訊協議或相應的行業安全標準檢視App是否知足相應的要求。
6. 線上測試
線上測試是產品上線以後必定要完成的,這部分能夠根據場景化進行迴歸測試,其中網絡環境要所有覆蓋一遍
(23)測試App的消息顯示和通知顯示:
在安裝App的時候是否申請相應的權限
驗證收到App新的消息的時候,如何經過通知向用戶進行消息展現
測試App可否及時顯示和同步消息
測試在多臺設備登陸App,是否同步消息、設置、內容、數據等
測試App的消息是否同步在PC端(不管Web版本或者PC版本)
測試App中高內存使用的功能
測試App對於讀取大量圖片、視頻等進行高內存佔用操做的處理能力
查看App是否有對應的異步加載功能等
測試App的流量和電量消耗
測試App的安裝文件大小
測試App佔用的存儲空間
測試App使用的流量和電量
測試App支持的文件格式
測試App支持Office文件操做
測試App支持圖片文件展現
測試App支持PDF文件打開
測試App支持視頻和音頻文件播放
(24)須要考慮的一些狀況:
1)若是程序裏面包括分享功能,那麼檢測點擊分享的時候是否會正常給出分享提示,點擊分享後所填寫的分享內容是否正確
2)app在清空數據或強制退出後還能正常運行否
3)api,包括在app內跳轉到另外一個界面,在返回來,以及跳轉到系統api
4)長時間開機且開app,看是否會出現異常狀況
(26)
移動App崩潰的一些常見緣由:
設備碎片化:因爲設備極具多樣性,App在不一樣的設備上可能有表現不一樣。帶寬限制:帶寬不佳的網絡對App所需的快速響應時間可能不夠。網絡的變化:不一樣網絡間的切換可能會影響App的穩定性。內存管理:可用內存太低,或非受權的內存位置的使用可能會致使App失敗。用戶過多:鏈接數量過多可能會致使App崩潰。