手機APP專案測試點(內容)總結(轉自趙大喬)
對於手機專案(應用軟體),主要是進行系統測試。
而針對手機應用軟體的系統測試,我們通常從如下幾個角度開展測試工作:
功能模組測試
交叉事件測試
效能測試
安全測試
容量測試
相容性測試
介面測試
易用性/使用者體驗測試
硬體環境測試
安裝/解除安裝測試
升級/更新測試
1、功能模組測試:
根據軟體需求說明書或者使用者需求驗證app的各個功能是否實現,採用如下方法實現並評估功能測試過程:
採用時間、地點、物件、行為、和背景五元素或業務分析等方法、提煉app的使用者使用場景,對比說明和需求,整理出內在,外在及非功能直接相關需求,構建測試點和用例,並明確測試標準,若使用者需求中無明確標準遵循,則需要參考行業或相關國際標準或準則。
根據被測試功能點的特性列出相應型別的測試用例對其進行覆蓋,如:涉及輸入的地方需要考慮等價、邊界、負面、異常或非法、場景回滾、關聯測試等測試型別對其進行覆蓋。
在測試實現的各個階段跟蹤測試實現與需求輸入的覆蓋情況,及時修正業務或需求理解錯誤地方。
執行
1)App安裝完成後的試執行,可正常開啟軟體。
2)App開啟測試,是否有載入狀態進度提示。
3)App開啟速度測試,速度是否可觀。
4)App頁面間的切換是否流暢,邏輯是否正確
5)註冊
–同表單編輯頁面
–使用者名稱密碼長度
–註冊後的提示頁面
–前臺註冊頁面和後臺的管理頁面資料是否一致
–註冊後,在後臺管理中頁面提示
6)登入
–使用合法的使用者登入系統。
–系統是否允許多次非法的登陸,是否有次數限制。
–使用已經登陸的賬號登陸系統是否正確處理。
–使用禁用的賬號登陸系統是否正確處理。
–使用者名稱、口令(密碼)錯誤或漏填時能否登陸。
–刪除或修改後的使用者,原使用者登陸。
–不輸入使用者口令和使用者、重複點(確定或取消按鈕)是否允許登陸。
–登陸後,頁面中登陸資訊。
–頁面中有登出按鈕。
–登陸超時的處理。
7)登出
–登出原模組,新的模組系統能否正確處理。
–終止登出能否返回原模組,原使用者。
–登出原使用者,新使用者系統能否正確處理。
–使用錯誤的賬號、口令、無許可權的被禁用的賬號進行登出
應用的前後臺切換
1) APP切換到後臺,再回到app,檢查是否停留在上一次操作介面。
2) APP切換到後臺,再回到app,檢查功能及應用狀態是否正常,IOS4和IOS5的版本的處理機制有的不一樣。
3) app切換到後臺,再回到前臺時,注意程式是否崩潰,功能狀態是否正常,尤其是對於從後臺切換回前臺資料有自動更新的時候。
4) 手機鎖屏解屏後進入app注意是否會崩潰,功能狀態是否正常,尤其是對於從後臺切換回前臺資料有自動更新的時候。
5) 當App使用過程中有電話進來中斷後再切換到app,功能狀態是否正常
6) 當殺掉app程序後,再開啟app,app能否正常啟動。
7) 出現必須處理的提示框後,切換到後臺,再切換回來,檢查提示框是否還存在,有時候會出現應用自動跳過提示框的缺陷。
8) 對於有資料交換的頁面,每個頁面都必需要進行前後臺切換、鎖屏的測試,這種頁面最容易出現崩潰。
免登入
很多應用提供免登入功能,當應用開啟時自動以上一次登入的使用者身份來使用app.
1) app有免登入功能時,需要考慮IOS版本差異。
2) 考慮無網路情況時能否正常進入免登入狀態。
3) 切換使用者登入後,要校驗使用者登入資訊及資料內容是否相應更新,確保原使用者退出。
4) 根據MTOP的現有規則,一個帳戶只允許登入一臺機器。所以,需要檢查一個帳戶登入多臺手機的情況。原手機裡的使用者需要被踢出,給出友好提示。
5) app切換到後臺,再切回前臺的校驗
6) 切換到後臺,再切換回前臺的測試
7) 密碼更換後,檢查有資料交換時是否進行了有效身份的校驗
8) 支援自動登入的應用在進行資料交換時,檢查系統是否能自動登入成功並且資料操作無誤。
9) 檢查使用者主動退出登入後,下次啟動app,應停留在登入介面
資料更新
根據應用的業務規則,以及資料更新量的情況,來確定最優的資料更新方案。
1) 需要確定哪些地方需要提供手動重新整理,哪些地方需要自動重新整理,哪些地方需要手動+自動重新整理。
2) 確定哪些地方從後臺切換回前臺時需要進行資料更新。
3) 根據業務、速度及流量的合理分配,確定哪些內容需要實時更新,哪些需要定時更新。
4) 確定資料展示部分的處理邏輯,是每次從服務端請求,還是有快取到本地,這樣才能有針對性的進行相應測試。
5) 檢查有資料交換的地方,均有相應的異常處理。
離線瀏覽
很多應用會支援離線瀏覽,即在本地客戶端會快取一部分資料供使用者檢視。
1) 在無網路情況可以瀏覽本地資料
2) 退出app再開啟app時能正常瀏覽
3) 切換到後臺再切回前臺可以正常瀏覽
4) 鎖屏後再解屏回到應用前臺可以正常瀏覽
5) 在對服務端的資料有更新時會給予離線的相應提示
App更新
1) 當客戶端有新版本時,有更新提示。
2) 當版本為非強制升級版時,使用者可以取消更新,老版本能正常使用。使用者在下次啟動app時,仍能出現更新提示。
3) 當版本為強制升級版時,當給出強制更新後用戶沒有做更新時,退出客戶端。下次啟動app時,仍出現強制升級提示。
4) 當客戶端有新版本時,在本地不刪除客戶端的情況下,直接更新檢查是否能正常更新。
5) 當客戶端有新版本時,在本地不刪除客戶端的情況下,檢查更新後的客戶端功能是否是新版本。
6) 當客戶端有新版本時,在本地不刪除客戶端的情況下,檢查資源同名檔案如圖片是否能正常更新成最新版本。如果以上無法更新成功的,也都屬於缺陷。
定位、照相機服務
1) App有用到相機,定位服務時,需要注意系統版本差異
2) 有用到定位服務、照相機服務的地方,需要進行前後臺的切換測試,檢查應用是否正常。
3) 當定位服務沒有開啟時,使用定位服務,會友好性彈出是否允許設定定位提示。當確定允許開啟定位時,能自動跳轉到定位設定中開啟定位服務。
4) 測試定位、照相機服務時,需要採用真機進行測試。
時間測試
客戶端可以自行設定手機的時區、時間,因此需要校驗該設定對app的影響。
–中國為東8區,所以當手機設定的時間非東8區時,檢視需要顯示時間的地方,時間是否展示正確,應用功能是否正常。時間一般需要根據伺服器時間再轉換成客戶端對應的時區來展示,這樣的使用者體驗比較好。比如發表一篇微博在服務端記錄的是10:00,此時,華盛頓時間為22:00,客戶端去瀏覽時,如果設定的是華盛頓時間,則顯示的發表時間即為22:00,當時間設回東8區時間時,再檢視則顯示為10:00。
PUSH測試
1) 檢查push訊息是否按照指定的業務規則傳送
2) 檢查不接受推送訊息時,檢查使用者不會再接收到push.
3) 如果使用者設定了免打擾的時間段,檢查在免打擾時間段內,使用者接收不到PUSH。
在非免打擾時間段,使用者能正常收到push。
4) 當push訊息是針對登入使用者的時候,需要檢查收到的push與使用者身份是否相符,沒有錯誤地將其它人的訊息推送過來。一般情況下,只對手機上最後一個登入使用者進行訊息推送。
5) 測試push時,需要採用真機進行測試。
2、交叉事件測試:又叫事件衝突測試
是指一個功能正在執行過程中,同時另外一個事件或操作對該過程進行干擾測試。如:App在前/後臺執行狀態時與來電、檔案ixaz、音樂收聽等關鍵運用的互動情況測試等。
多個App同時執行是否影響正常功能。
App執行時前/後臺切換是否影響正常功能。
App執行時撥打/接聽電話。
App執行時傳送/接收資訊。
App執行時傳送/收取郵件。
App執行時切換網路(2G/3G/WIFI).
App執行瀏覽網頁。
App執行時使用藍芽傳送/接收資料。
App執行時使用相機、計算器手機自帶裝置。
App執行時插拔充電器。
執行干擾的衝突事件不能導致軟體應用軟體異常、手機宕機或者花屏等嚴重問題,還需要注意各交叉事件的優先級別,檢驗系統是否能依據各事件的優先級別依次進行處理。不能因執行優先級別高的事件而導致優先級別較低的事件吊死。另外有中英文模式切換的手機要注意中英文模式切換後的功能實現存在的問題。
3、效能測試:評估App的時間和空間特性
極限測試:
在各種邊界壓力情況下,如電池、儲存、網速等,驗證App是否能正確響應。
–記憶體滿時安裝App
–執行App時手機斷電
–執行App時斷掉網路
響應能力測試:
測試App中的各類操作是否滿足使用者響應時間要求 。
–App安裝、解除安裝的響應時間
–App各類功能性操作的影響時間
壓力測試:
反覆/長期操作下、系統資源是否佔用異常。
–App反覆進行安裝解除安裝,檢視系統資源是否正常
–其他功能反覆進行操作,檢視系統資源是否正常
效能評估:
評估典型使用者應用場景下,系統資源的使用情況。
Benchmark測試(基線測試):與競爭產品的Benchmarking, 產品演變對比測試等。
特定場景測試
1.通過模擬終端低電量(例如5%電量)的狀態來測試功能在該狀態下的正確性
2.通過模擬終端處於特殊地理位置(例如上海)來測試功能在該狀態下的正確性
3.通過模擬終端處於特定網路狀態下(例如3G)來測試功能在該狀態下的正確性
深度效能測試
1.獲取App在典型使用場景及狀態下消耗的電量流量消耗
2.獲取App在典型使用場景及待機狀態下消耗的流量
3.獲取App在典型使用場景及待機狀態下的CPU佔用率
4.獲取App在典型使用場景及待機狀態下記憶體量
5.獲取App冷啟動和熱啟動耗時內容
6.獲取App特定頁面的內容載入耗時
7.獲取App退出的耗時
8.獲取App在典型使用場景下幀率
4、安全測試:
軟體許可權
–扣費風險:包括髮送簡訊、撥打電話、連線網路等
–隱私洩露風險:包括訪問手機資訊、訪問聯絡人資訊等
–對App的輸入有效性校驗、認證、授權、敏感資料儲存、資料加密等方面進行檢測
–限制/允許使用手機功能接人網際網路
–限制/允許使用手機發送接受資訊功能
–限制/允許應用程式來註冊自動啟動應用程式
–限制或使用本地連線
–限制/允許使用手機拍照或錄音
–限制/允許使用手機讀取使用者資料
– 限制/允許使用手機寫人使用者資料
–檢測App的使用者授權級別、資料洩漏、非法授權訪問等
安裝與解除安裝安全性
–應用程式應能正確安裝到裝置驅動程式上
–能夠在安裝裝置驅動程式上找到應用程式的相應圖示
–是否包含數字簽名信息
–JAD檔案和JAR包中包含的所有託管屬性及其值必需是正確的
–JAD檔案顯示的資料內容與應用程式顯示的資料內容應一致
–安裝路徑應能指定
–沒有使用者的允許, 應用程式不能預先設定自動啟動
–解除安裝是否安全, 其安裝進去的檔案是否全部解除安裝
–解除安裝使用者使用過程中產生的檔案是否有提示
–其修改的配置資訊是否復原
–解除安裝是否影響其他軟體的功能
–解除安裝應該移除所有的檔案
–驗證App是否能正確安裝、執行、解除安裝,以及操作過程和操作前後對系統資源的使用情況,主要包括:
–檢測軟體是否能正確安裝、執行、解除安裝;大量真機多維度測試,相容性測試無死角
–安裝、解除安裝、更新錯誤報告;包含安裝、解除安裝、高/低版本覆蓋安裝
–用於檢測的安全軟體包括:百度手機管家、LBE、QQ手機管家、網秦、安卓優化大師
資料安全性
–當將密碼或其他的敏感資料輸人到應用程式時, 其不會被儲存在裝置中, 同時密碼也不會被解碼
–輸人的密碼將不以明文形式進行顯示
–密碼, 信用卡明細, 或其他的敏感資料將不被儲存在它們預輸人的位置上
–不同的應用程式的個人身份證或密碼長度必需至少在4一8 個數字長度之間
–當應用程式處理信用卡明細, 或其他的敏感資料時, 不以明文形式將資料寫到其它單獨的檔案或者臨時檔案中。以
–防止應用程式異常終止而又沒有側除它的臨時檔案, 檔案可能遭受人侵者的襲擊, 然後讀取這些資料資訊。
–當將敏感資料輸人到應用程式時, 其不會被儲存在裝置中
–備份應該加密, 恢復資料應考慮恢復過程的異常.