標籤:1.5 升級版 引導 異常處理 同名 還需 分配 網路環境 部分
1 APP測試基本流程1.1流程圖
不符
符合
仍然為測試環境
進入正式環境
Fail
Pass
1.2測試周期
測試周期可按項目的開發週期來確定測試時間,一般測試時間為兩三周(即15個工作日),根據項目情況以及版本品質可適當縮短或延長測試時間。正式測試前先向主管確認項目排期。
1.3測試資源
測試工作開始前,檢查各項測試資源。
--產品功能需求文檔;
--產品原型圖;
--產品;
--行為統計分析定義文檔;
--測試裝置(ios6.1.3-ios8.1;Android3.0-Android5.0)
--其他。
1.4日報及產品上線報告
1)測試人員每天需對所測項目發送測試日報。
2)測試日報所包含的內容為:
--對當前測試版本品質進行分級;
--對較嚴重的問題進行例舉,提示開發人員優先修改;
--對版本的整體情況進行評估。
3)產品上線前,測試人員發送產品上線報告。
4)上線報告所包含的內容為:
---對目前的版本品質進行分級;
---附上測試報告(功能測試報告、相容性測試報告、效能測試報告以及app可用效能標準結果);
--總結上線版本的基本情況。若有遺留問題必須列出並記錄解決方案。
2 App測試點2.1安全性測試 2.1.1軟體許可權
1)計費風險:包括髮送簡訊、撥打到電話、串連網路等
2)隱私泄露風險:包括訪問手機資訊、訪問連絡人資訊等
3)對App的輸入有效性校正、認證、授權、敏感性資料儲存、資料加密等方面進行檢測
4)限制/允許使用手機功能接入互連網
5)限制/允許使用手機發送接受資訊功能
6)限制/允許應用程式來註冊自動啟動應用程式
7)限制或使用本地串連
8)限制/允許使用手機拍照或錄音
9)限制/允許使用手機讀取使用者資料
10) 限制/允許使用手機寫入使用者資料
11) 檢測App的使用者授權層級、資料泄漏、非法授權訪問等
2.1.2安裝與卸載安全性
1)應用程式應能正確安裝到裝置驅動程式上
2)能夠在安裝裝置驅動程式上找到應用程式的相應表徵圖
3)是否包含數位簽章資訊
4)JAD檔案和JAR包中包含的所有Managed 屬性及其值必需是正確的
5)JAD檔案顯示的資料內容與應用程式顯示的資料內容應一致
6)安裝路徑應能指定
7)沒有使用者的允許, 應用程式不能預先設定自動啟動
8)卸載是否安全, 其安裝進去的檔案是否全部卸載
9)卸載使用者使用過程中產生的檔案是否有提示
10)其修改的配置資訊是否複原
11)卸載是否影響其他軟體的功能
12)卸載應該移除所有的檔案
2.1.3資料安全性
1)當將密碼或其他的敏感性資料輸人到應用程式時,其不會被儲存在裝置中, 同時密碼也不會被解碼
2)輸人的密碼將不以明文形式進行顯示
3)密碼, 信用卡明細, 或其他的敏感性資料將不被儲存在它們預輸人的位置上
4)不同的應用程式的個人身份證或密碼長度必需至少在6-12 個數字長度之間
5)當應用程式處理信用卡明細, 或其他的敏感性資料時, 不以明文形式將資料寫到其它單獨的檔案或者臨時檔案中。
6)防止應用程式異常終止而又沒有刪除它的臨時檔案, 檔案可能遭受入侵者的襲擊, 然後讀取這些資料資訊。
7)當將敏感性資料輸人到應用程式時, 其不會被儲存在裝置中
8)備份應該加密, 恢複資料應考慮恢複過程的異常、通訊中斷等, 資料恢複後再使用前應該經過校正
9)應用程式應考慮系統或者虛擬機器產生的使用者提示資訊或安全警告
10)應用程式不能忽略系統或者虛擬機器產生的使用者提示資訊或安全警告, 更不能在安全警告顯示前,,利用顯示誤導資訊欺騙使用者,應用程式不應該類比進行安全警告誤導使用者
11)在資料刪除之前,應用程式應當通知使用者或者應用程式提供一個“取消”命令的操作
12)“ 取消” 命令操作能夠按照設計要求實現其功能
13)應用程式應當能夠處理當不允許應用軟體串連到個人資訊管理的情況
14)當進行讀或寫使用者資訊操作時, 應用程式將會向使用者發送一個操作錯誤的提示資訊
15)在沒有使用者明確許可的前提下不損壞側除個人資訊管理應用程式中的任何內容Μ
16)應用程式讀和寫資料正確。
17)應用程式應當有異常保護。
18)如果資料庫中重要的資料正要被重寫, 應及時告知使用者
19)能合理地處理出現的錯誤
20)意外情況下應提示使用者
2.1.4通訊安全性
1)在運行其軟體過程中, 如果有來電、SMS、EMS、MMS、藍芽、紅外等通訊或充電時,是否能暫停程式,優先處理通訊, 並在處理完畢後能正常恢複軟體, 繼續其原來的功能
2)當創立串連時, 應用程式能夠處理因為網路連接中斷, 進而告訴使用者串連中斷的情況
3)應能處理通訊延時或中斷
4)應用程式將保持工作到通訊逾時, 進而發送給使用者一個錯誤資訊指示有串連錯誤
5)應能處理網路異常和及時將異常情況通報使用者
6)應用程式關閉或網路連接不再使用時應及時關閉) 斷開
7) HTTP、HTTPS覆蓋測試
--App和後台服務一般都是通過HTTP來互動的,驗證HTTP環境下是否正常;
--公用免費網路環境中(如:麥當勞、星巴克等)都要輸入使用者名稱和密碼,通過SSL認證來訪問網路,需要對使用HTTP Client的library異常作捕獲處理。
2.1.5人機介面安全性
1)返回菜單總保持可用
2)命令有優先權順序
3)聲音的設定不影響應用程式的功能
4)應用程式必需利用目標裝置適用的全屏尺寸來顯示上述內容
5)應用程式必需能夠處理不可預知的使用者操作,例如錯誤的操作和同步選取多個鍵
2.2安裝、卸載測試
驗證App是否能正確安裝、運行、卸載以及操作過程和操作前後對系統資源的使用方式
2.2.1安裝
1)軟體在不同作業系統(Palm OS、Symbian、Linux、Android、iOS、BlackBerry OS 6.0、WindowsPhone 7)下安裝是否正常。
2)軟體安裝後的是否能夠正常運行,安裝後的檔案夾及檔案是否寫到了指定的目錄裡。
3)軟體安裝各個選項的組合是否符合概要設計說明
4))軟體安裝嚮導的UI測試
5)軟體安裝過程是否可以取消,點擊取消後,寫入的檔案是否如概要設計說明處理
6)軟體安裝過程中意外情況的處理是否符合需求(如死機,重啟,斷電)
7)安裝空間不足時是否有相應提示
8)安裝後沒有產生多餘的目錄結構和檔案
9)對於需要通過網路驗證之類的安裝,在斷網情況下嘗試一下
10)還需要對安裝手冊進行測試,依照安裝手冊是否能順利安裝
2.2.2卸載
1)直接刪除安裝資料夾卸載是否有提示資訊。
2)測試系統直接卸載程式是否有提示資訊。
3)測試卸載後檔案是否全部刪除所有的安裝資料夾。
4)卸載過程中出現的意外情況的測試(如死機、斷電、重啟)。
5)卸載是否支援取消功能,單擊取消後軟體卸載的情況 。
6)系統直接卸載UI測試,是否有卸載狀態進度條提示 。
2.3 UI測試
測試使用者介面(如菜單、對話方塊、視窗和其它可規控制項)布局、風格是否滿足客戶要求、文字是否正確、頁面是否美觀、文字、圖片組合是否完美、操作是否友好等。
UI測試的目標是確保使用者介面會通過測試對象的功能來為使用者提供相應的訪問或瀏覓功能。確保使用者介面符合公司或行業的標準。包括方便使用性、人性化、易操作性測試。
2.3.1導航測試
1)按鈕、對話方塊、列表和視窗等;或在不同的串連頁面之間需要導航
2)是否易於導航,導航是否直觀
3)是否需要搜尋引擎
4)導航協助是否準確直觀
5)導航與頁面結構、菜單、串連頁面的風格是否一致
2.3.2圖形測試
1)橫向比較。各控制項操作方式統一
2)自適應介面設計,內容根據視窗大小自適應
3)頁面標籤風格是否統一
4)頁面是否美觀
5)頁面的圖片應有其實際意義而要求整體有序美觀
6)圖片品質要高且圖片尺寸在設計符合要求的情況下應盡量小
7)介面整體使用的顏色不宜過多
2.3.3內容測試
1)輸入框解說文字的內容與系統功能是否一致
2)文字長度是否加以限制
3)文字內容是否表意不明
4)是否有錯別字
5)資訊是否為中文顯示
6)是否有敏感性詞彙、關鍵詞
7)是否有敏感性圖片,如:涉及著作權、專利、隱私等圖片
2.4功能測試
根據軟體說明或使用者需求驗證App的各個功能實現,採用如下方法實現並評估功能測試過程:
1)採用時間、地點、對象、行為和背景五元素或業務分析等方法分析、提煉App的使用者使用情境,對比說明或需求,整理出內在、外在及非功能直接相關的需求,構建測試點,並明確測試標準,若使用者需求中無明確標準遵循,則需要參考行業或相關國際標準或準則。
2)根據被測功能點的特性列丼出相應類型的測試案例對其進行覆蓋,如;涉及輸入的地方需要考慮等價、邊界、負面、異常或非法、情境復原、關聯測試等測試類型對其進行覆蓋。
3)在測試實現的各個階段跟蹤測試實現與需求輸入的覆蓋情況,及時修正業務或需求理解錯誤。
2.4.1運行
1)App安裝完成後的試運行,可正常開啟軟體。
2)App開啟測試,是否有載入狀態進度提示。
3)App開啟速度測試,速度是否可觀。
4)App頁面間的切換是否流暢,邏輯是否正確
5)註冊
--同表單編輯頁面
--使用者名稱密碼長度
--註冊後的提示頁面
--前台註冊頁面和背景管理頁面資料是否一致
--註冊後,在後台管理中頁面提示
6)登入
--使用合法的使用者登入系統。
--系統是否允許多次非法的登陸,是否有次數限制。
--使用已經登陸的帳號登陸系統是否正確處理。
--使用禁用的帳號登陸系統是否正確處理。
--使用者名稱、口令(密碼)錯誤或漏填時能否登陸。
--刪除或修改後的使用者,原使用者登陸。
--不輸入使用者口令和使用者、重複點(確定或取消按鈕)是否允許登陸。
--登陸後,頁面中登陸資訊。
--頁面中有登出按鈕。
--登陸逾時的處理。
7)登出
--登出原模組,新的模組系統能否正確處理。
--終止登出能否返回原模組,原使用者。
--登出原使用者,新使用者系統能否正確處理。
--使用錯誤的帳號、口令、無許可權的被禁用的帳號進行登出
2.4.2應用的前後台切換
1) APP切換到後台,再回到app,檢查是否停留在上一次操作介面。
2) APP切換到後台,再回到app,檢查功能及應用狀態是否正常,IOS4和IOS5的版本的處理機制有的不一樣。
3) app切換到後台,再回到前台時,注意程式是否崩潰,功能狀態是否正常,尤其是對於從後台切換回前台資料有自動更新的時候。
4) 手機鎖屏解屏後進入app注意是否會崩潰,功能狀態是否正常,尤其是對於從後台切換回前台資料有自動更新的時候。
5) 當App使用過程中有電話進來中斷後再切換到app,功能狀態是否正常
6) 當殺掉app進程後,再開啟app,app能否正常啟動。
7) 出現必須處理的提示框後,切換到後台,再切換回來,檢查提示框是否還存在,有時候會出現應用自動跳過提示框的缺陷。
8) 對於有資料交換的頁面,每個頁面都必需要進行前後台切換、鎖屏的測試,這種頁面最容易出現崩潰。
2.4.3免登入
很多應用提供免登入功能,當應用開啟時自動以上一次登入的使用者身份來使用app.
1) app有免登入功能時,需要考慮IOS版本差異。
2) 考慮無網路情況時能否正常進入免登入狀態。
3) 切換使用者登入後,要校正使用者登入資訊及資料內容是否相應更新,確保原使用者退出。
4) 根據MTOP的現有規則,一個帳戶只允許登入一台機器。所以,需要檢查一個帳戶登入多台手機的情況。原手機裡的使用者需要被踢出,給出友好提示。
5) app切換到後台,再切回前台的校正
6) 切換到後台,再切換回前台的測試
7) 密碼更換後,檢查有資料交換時是否進行了有效身份的校正
8) 支援自動登入的應用在進行資料交換時,檢查系統是否能自動登入成功並且資料操作無誤。
9) 檢查使用者主動退出登入後,下次啟動app,應停留在登入介面
2.4.4資料更新
根據應用的商務規則,以及資料更新量的情況,來確定最優的資料更新方案。
1) 需要確定哪些地方需要提供手動重新整理,哪些地方需要自動重新整理,哪些地方需要手動+自動重新整理。
2) 確定哪些地方從後台切換回前台時需要進行資料更新。
3) 根據業務、速度及流量的合理分配,確定哪些內容需要即時更新,哪些需要定時更新。
4) 確定資料展示部分的處理邏輯,是每次從服務端請求,還是有緩衝到本地,這樣才能有針對性的進行相應測試。
5) 檢查有資料交換的地方,均有相應的異常處理。
2.4.5離線瀏覽
很多應用會支援離線瀏覽,即在本地用戶端會緩衝一部分資料供使用者查看。
1) 在無網路情況可以瀏覽本機資料
2) 退出app再開啟app時能正常瀏覽
3) 切換到後台再切回前台可以正常瀏覽
4) 鎖屏後再解屏回到應用前台可以正常瀏覽
5) 在對服務端的資料有更新時會給予離線的相應提示
2.4.6 App更新
1) 當用戶端有新版本時,有更新提示。
2) 當版本為非強制升級版時,使用者可以取消更新,老版本能正常使用。使用者在下次啟動app時,仍能出現更新提示。
3) 當版本為強制升級版時,當給出強制更新後使用者沒有做更新時,退出用戶端。下次啟動app時,仍出現強制升級提示。
4) 當用戶端有新版本時,在本地不刪除用戶端的情況下,直接更新檢查是否能正常更新。
5) 當用戶端有新版本時,在本地不刪除用戶端的情況下,檢查更新後的用戶端功能是否是新版本。
6) 當用戶端有新版本時,在本地不刪除用戶端的情況下,檢查資源同名檔案片是否能正常更新成最新版本。如果以上無法更新成功的,也都屬於缺陷。
2.4.7定位、照相機服務
1) App有用到相機,定位服務時,需要注意系統版本差異
2) 有用到定位服務、照相機服務的地方,需要進行前背景切換測試,檢查應用是否正常。
3) 當定位服務沒有開啟時,使用定位服務,會友好性彈出是否允許設定定位提示。當確定允許開啟定位時,能自動跳轉到定位設定中開啟定位服務。
4) 測試定位、照相機服務時,需要採用真機進行測試。
2.4.8時間測試
用戶端可以自行設定手機的時區、時間,因此需要校正該設定對app的影響。
--中國為東8區,所以當手機設定的時間非東8區時,查看需要顯示時間的地方,時間是否展示正確,應用功能是否正常。時間一般需要根據伺服器時間再轉換成用戶端對應的時區來展示,這樣的使用者體驗比較好。比如發表一篇微博在服務端記錄的是10:00,此時,華盛頓時間為22:00,用戶端去瀏覽時,如果設定的是華盛頓時間,則顯示的發表時間即為22:00,當時間設回東8區時間時,再查看則顯示為10:00。
2.4.9 PUSH測試
1) 檢查push訊息是否按照指定的商務規則發送
2) 檢查不接受推送訊息時,檢查使用者不會再接收到push.
3) 如果使用者佈建了免打擾的時間段,檢查在勿打擾時間段內,使用者接收不到PUSH。
在非勿打擾時間段,使用者能正常收到push。
4) 當push訊息是針對登入使用者的時候,需要檢查收到的push與使用者身份是否相符,沒有錯誤地將其它人的訊息推送過來。一般情況下,只對手機上最後一個登入使用者進行訊息推送。
5) 測試push時,需要採用真機進行測試。
2.5效能測試
評估App的時間和空間特性 :
1)極限測試:在各種邊界壓力情況下,如電池、儲存、網速等,驗證App是否能正確響應。
--記憶體滿時安裝App
--運行App時手機斷電
--運行App時斷掉網路
2)響應能力測試:測試App中的各類操作是否滿足使用者回應時間要求 。
--App安裝、卸載的回應時間
--App各類功能性操作的影響時間
3)壓力測試:反覆/長期操作下、系統資源是否佔用異常。
--App反覆進行安裝卸載,查看系統資源是否正常
--其他功能反覆進行操作,查看系統資源是否正常
4)效能評估:評估典型使用者應用情境下,系統資源的使用方式。
5)Benchmark測試(基準測試):與競爭產品的Benchmarking, 產品演變對比測試等。
2.6交叉事件測試
針對智能終端應用的服務等級劃分方式及即時特性所提出的測試方法。交叉測試又叫事件或衝突測試,是指一個功能正在執行過程中,同時另外一個事件或操作對該過程進行幹擾的測試。如;App在前/後台運行狀態時與來電、檔案下載、音樂收聽等關鍵運用的互動情況測試等。交叉事件測試非常重要,能發現很多應用中潛在的效能問題。
1) 多個App同時運行是否影響正常功能
2)App運行時前/後台切換是否影響正常功能
3)App運行時撥打/電話中
4)App運行時發送/接收資訊
5)App運行時發送/收取郵件
6)App運行時切換網路(2G、3G、wifi)
7)App運行時瀏覽網路
8)App運行時使用藍芽傳送/接收資料
9)App運行時使用相機、計算機等手機內建裝置
2.7相容測試
主要測試內部和外部相容性
1)與本地及主流App是否相容
2)基於開發環境和生產環境的不同,檢驗在各種網路連接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的資料和運用是否正確
3)與各種裝置是否相容,若有跨系統支援則需要檢驗是否在各系統下,各種行為是否一致
--不同作業系統的相容性,是否適配
--不同手機螢幕解析度的相容性
--不同手機品牌的相容性
2.8迴歸測試
1)Bug修複後且在新版本發布後需要進行迴歸測試。
2)Bug修複後的迴歸測試在交付前、要進行全量用例的迴歸測試。
2.9升級、更新測試
新版版發布後,配合不同網路環境的自勱更新提示及下載、安裝、更新、啟勱、啟動並執行驗證測試。
1)測試升級後的功能是否與需求說明一樣
2)測試與升級模組相關的模組的功能是否與需求一致
3)升級安裝意外情況的測試(如死機、斷電、重啟)
4)升級介面的UI測試
5)不同作業系統間的升級測試
2.10使用者體驗測試
以主觀的普通消費者的角度去感知產品或服務的舒適、有用、易用、友好親切程度。通過不同個體、獨立空間和非經驗的統計複用方式去有效評價產品的體驗特性提出修改意見提升產品的潛在客戶滿意度。
1)是否有空資料介面設計,引導使用者去執行操作。
2)是否濫用使用者引導。
3)是否有不可點擊的效果,如:你的按鈕此時處於不可用狀態,那麼一定要灰掉,或者拿掉按鈕,否則會給使用者誤導
4)菜單層次是否太深
5)互動流程分支是否太多
6)相關的選項是否離得很遠
7)一次是否載入太多的資料
8)介面中按鈕可點擊範圍是否適中
9)標籤頁是否跟內容沒有從屬關係,當切換標籤的時候,內容跟著切換
10)操作應該有主次從屬關係
11)是否定義Back的邏輯。涉及軟硬體互動時,Back鍵應具體定義
12)是否有橫屏模式的設計,應用一般需要支援橫屏模式,即自適應設計
2.11 硬體環境測試2.11.1手勢操作測試
1)手機開鎖屏對運行中的App的影響
2)切換網路對運行中的App的影響
3)運行中的App前後台切換的影響
4)多個運行中的App的切換
5)App運行時關機
6)App運行時重啟系統
7)App運行時充電
8)App運行時kill掉進程再開啟
2.11.2網路環境
手機的網路目前主要分為2G、3G、wifi。目前2G的網路相對於比較慢,測試時尤其要注意此塊的測試。
1) 無網路時,執行需要網路的操作,給予友好提示,確保程式不出現crash。
2) 內網測試時,要注意選擇到外網操作時的異常情況處理。
3) 在網路訊號不好時,檢查功能狀態是否正常,確保不因提交資料失敗而造成crash。
4) 在網路訊號不好時,檢查資料是否會一直處於提交中的狀態,有無逾時限制。如遇資料交換失敗時要給予提示。
5) 在網路訊號不好時,執行操作後,在回調沒有完成的情況下,退出本頁面或者執行其他動作的情況,有無異常情況。此問題也會經常出現程式crash。
2.11.3伺服器宕機或出現404、502等情況下的測試
後台服務牽涉到DNS、空間服務商的情況下會影響其穩定性,如:當出現網域名稱解析故障時,你對後台API的請求很可能就會出現404錯誤,拋出異常。這時需要對異常進行正確的處理,否則可能會導致程式不能正常工作。
2.12介面測試
服務端一般會提供JSON格式的資料給用戶端,所以我們在服務端需要進行介面測試,確保服務端提供的介面並轉換的JSON內容正確,對分支、異常流有相應的傳回值。此塊測試可以採用itest架構進行測試。最方便的是採用httpclient進行介面測試。
進行服務端測試時,需要開發提供一份介面文檔。
2.13用戶端資料庫測試
1)一般的增、刪、改、查測試。
2) 當表不存在時是否能自動建立,當資料庫表被刪除後能否再自建,資料是否還能自動從服務端中擷取回來並儲存。
3) 在業務需要從服務端取回資料儲存到用戶端的時候,用戶端能否將資料儲存到本地。
4) 當業務需要從用戶端取資料時,檢查用戶端資料存在時,app資料是否能自動從用戶端資料中取出,還是仍然會從伺服器端擷取?檢查用戶端資料不存在時,app資料能否自動從伺服器端擷取到並儲存到用戶端
5) 當業務對資料進行了修改、刪除後,用戶端和服務端是否會有相應的更新。
App測試流程及測試點