一、安全測試
1.軟體權限
1)扣費風險:包括短信、撥打電話、連接配接網絡等。
2)隐私洩露風險:包括通路手機資訊、通路聯系人資訊等。
3)對App的輸入有效性校驗、認證、授權、資料加密等方面進行檢測
4)限制/允許使用手機功能接入網際網路
5)限制/允許使用手機發送接收資訊功能
6)限制或使用本地連接配接
7)限制/允許使用手機拍照或錄音
8)限制/允許使用手機讀取使用者資料
9)限制/允許使用手機寫入使用者資料
10)限制/允許應用程式來注冊自動啟動應用程式
2.安裝與解除安裝安全性
1)應用程式應能正确安裝到裝置驅動程式上
2)能夠在安裝裝置驅動程式上找到應用程式的相應圖示
3)安裝路徑應能指定
4)沒有使用者的允許,應用程式不能預先設定自動啟動
5)解除安裝是否安全,其安裝進去的檔案是否全部解除安裝
6)解除安裝使用者使用過程中産生的檔案是否有提示
7)其修改的配置資訊是否複原
8)解除安裝是否影響其他軟體的功能
9)解除安裝應該移除所有的檔案
3.資料安全性
1)當将密碼或其它的敏感資料輸入到應用程式時,其不會被存儲在裝置中,同時密碼也不會被解碼。
2)輸入的密碼将不以明文形式進行顯示。
3)密碼、信用卡明細或其他的敏感資料将不被存儲在它們預輸入的位置上。
4)不同的應用程式的個人身份證或密碼長度必須至少在4-8個數字長度之間。
5)當應用程式處理信用卡明細或其它的敏感資料時,不以明文形式将資料寫到其他單獨的檔案或者臨時檔案中。以防止應用程式異常終止而又沒有删除它的臨時檔案,檔案可能遭受入侵者的襲擊,然後讀取這些資料資訊。
6)黨建敏感資料輸入到應用程式時,其不會被存儲在裝置中。
7)應用程式應考慮或者虛拟機器産生的使用者提示資訊或安全警告
8)應用程式不能忽略系統或者虛拟機器産生的使用者提示資訊或安全警告,更不能在安全警告顯示前,利用顯示誤導資訊欺騙使用者,應用程式不應該模拟進行安全警告誤導使用者。
9)在資料删除之前,應用程式應當通知使用者或者應用程式提供一個“取消”指令的操作。
10)應用程式應當能夠處理當不允許應用軟體連接配接到個人資訊管理的情況。
11)當進行讀或寫使用者資訊操作時,應用程式将會向使用者發送一個操作錯誤的提示資訊。
12)在沒有使用者明确許可的前提下不損壞删除個人資訊管理應用程式中的任何内容。
13)如果資料庫中重要的資料正要被重寫,應及時告知使用者。
14)能合理的處理出現的錯誤。
15)意外情況下應提示使用者。
4.通訊安全性
1)在運作軟體過程中,如果有來電、SMS、藍牙等通訊或充電時,是否能暫停程式,優先處理通信,并在處理完畢後能正常恢複軟體,繼續其原來的功能。
2)當創立連接配接時,應用程式能夠處理因為網絡連接配接中斷,進而告訴使用者連接配接中斷的情況。
3)應能處理通訊延時或中斷。
4)應用程式将保持工作到通訊逾時,進而給使用者一個錯誤資訊訓示有連結錯誤。
5)應能處理網絡異常和及時将異常情況通報使用者。
6)應用程式關閉網絡連接配接不再使用時應及時關閉,斷開。
5.人機接口安全測試
1)傳回菜單應總保持可用。
2)指令有優先權順序。
3)聲音的設定不影響使用程式的功能。
4)聲音的設定不影響應用程式的功能
5)應用程式必須能夠處理不可預知的使用者操作,例如錯誤的操作和同時按下多個鍵。
二、安裝、解除安裝測試
驗證App是否能正确安裝、運作、解除安裝、以及操作過程和操作前後對系統資源的使用情況
1.安裝
1)軟體安裝後是否能夠正常運作,安裝後的檔案夾以及檔案是否寫到了指定的目錄裡。
2)軟體安裝各個選項的組合是否符合概要設計說明。
3)軟體安裝向導的UI測試
4)安裝後沒有生成多餘的目錄結構和檔案。
2.解除安裝
1)測試系統直接解除安裝程式是否有提示資訊。
2)測試解除安裝後檔案是否全部删除所有的安裝檔案夾。
3)解除安裝是否支援取消功能,單擊取消後軟體解除安裝的情況。
4)系統直接解除安裝UI測試,是否有解除安裝狀态進度條提示。
三、UI測試
1)測試使用者界面(如菜單、對話框、視窗和其他控件)布局、風格是否滿足要求、文字是否正确、頁面是否美觀、文字、圖檔組合是否完美、操作是否友好等。
2)UI測試的目标是確定使用者界面會通過測試對象的功能來為使用者提供相應的通路或浏覽功能。確定使用者界面符合公司或行業的标準。包括使用者友好性、人性化、易操作性測試。
1.導航測試
1)按鈕、對話框、清單和視窗等;或在不同的連接配接頁面之間需要導航。
2)是否易于導航,導航是否直覺。
3)是否需要搜尋引擎。
4)導航幫助是否準确直覺。
5)導航與頁面結構、菜單、連接配接頁面的風格是否一緻。
2.圖形測試
1)橫向比較,各控件操作方式統一。
2)自适應界面設計,内容根據視窗大小自适應。
3)頁面标簽風格是否統一。
4)頁面是否美觀。
5)頁面的圖檔應有其實際意義而要求整體有序美觀。
3.内容測試
1)輸入框說明文字的内容與系統功能是否一緻。
2)文字長度是否加以限制。
3)文字内容是否表意不明。
4)是否有錯别字。
5)資訊是否為中文顯示。
四、功能測試
根據軟體說明或使用者需求驗證App的各個功能實作,采用如下方法實作并評估功能測試過程:
1)采用時間、地點、對象、行為和背景五元素或業務分析等方法分析、提煉App的使用者使用場景,對比說明或需求,整理出内在、外在及非功能直接相關的需求,建構測試點,并明确測試标準。
2)根據被測功能點的特性列出相應類型的測試用例對其進行覆寫,如:設計輸入的地方需要考慮等價、邊界、負面、異常、非法、場景復原、關聯測試等測試類型對其進行覆寫。
3)在測試實作的各個階段跟蹤測試實作與需求輸入的覆寫情況,及時修正業務或需求了解錯誤。
1.運作
1)App安裝完成後的試運作,可正常打開軟體。
2)App打開測試,是否有加載狀态進度提示。
3)App頁面間的切換是否流暢,邏輯是否正确。
4)注冊
同表單編輯頁面
使用者名密碼長度
注冊後的提示頁面
前台注冊頁面和背景的管理頁面資料是否一緻
注冊後,在背景管理中頁面提示
5)登入
使用合法的使用者登入系統
系統是否允許多次非法的登入,是否有次數限制
使用已經登入的賬号登入系統是否正确處理
使用者名、密碼(密碼)錯誤或漏填時能否登陸
删除或修改後的使用者,原使用者名登陸
不輸入使用者密碼和重複點“确定/取消”按鈕,是否允許登入
登陸後,頁面中登入資訊
頁面中有登出按鈕
登入逾時的處理
2.應用的前背景切換
1)App切換到背景,再回到App,檢查是否停留在上一次操作界面。
2)App切換到背景,再回到App,檢查功能及應用狀态是否正常。
3)App切換到背景,再回到前台時,注意程式是否崩潰,功能狀态是否正常,尤其是對于從背景切換回前台資料有自動更新的時候。
4)手機鎖屏解鎖後進入App注意是否會崩潰,功能狀态是否正常,尤其是對于從背景切換回前台資料有自動更新的時候。
5)當App使用過程中有電話進來中斷後再切換到App,功能狀态是否正常。
6)當殺掉App進城後,再開啟App,App能否正常啟動。
7)出現必須處理的提示框後,切換到背景,再切換回來,檢查提示框是否還存在,有時候會出現應用自動跳過提示框的缺陷。
8)對于有資料交換的頁面,每個頁面都必須要進行前背景切換、鎖屏的測試,這種頁面最容易出現崩潰。
3.免登陸
很多應用提供免登陸功能,當應用開啟時自動以上一次登入的使用者身份來使用App。
1)考慮無網絡情況時能否正常進入免登入狀态。
2)切換使用者登陸後,要校驗使用者登入資訊以及資料内容是否相應更新,確定原使用者退出。
3)根據Mtop的現有規則,一個賬戶隻允許登陸一台機器。是以,需要檢查一個賬戶登入多台手機的情況。原手機裡的使用者需要被退出,給出友好提示。
4)App切換到背景,在切換回前台的校驗。
5)切換到背景,再切換回到前台的測試。
6)密碼更換後,檢查有資料交換時是否進行了有效身份的校驗。
7)支援自動登入的應用在進行資料校驗時,檢查系統是否能自動登入成功并且資料操作無誤。
8)檢查使用者主動登出後,下次啟動App,應停留在登入界面。
4.離線浏覽
很多應用會支援離線浏覽,即在本地用戶端會緩存一部分資料供使用者檢視。
1)在無線網絡情況可以浏覽本地資料。
2)退出App再開啟App時能正常浏覽。
3)切換到背景再回到前台可以正常浏覽。
4)鎖屏後再解鎖回到應用前台可以正常浏覽。
5)在對伺服器段的資料有更新時回給予離線的相應提示。
5.App更新
1)當用戶端有新版本時,有更新提示。
2)當版本為非強制更新版時,使用者可以取消更新,老版本能正常使用。使用者在下次啟動App時,仍出現更新提示。
3)當版本為強制更新版時,但給出強制更新後使用者沒有做更新時,退出用戶端。下次啟動App時,仍出現強制更新提示。
4)當用戶端有新版本時,在本地不删除用戶端的情況下,直接更新檢查是否能正常更新。
5)當用戶端有新版本時,在本地不删除用戶端的情況下,檢查更新後的用戶端功能是否是新版本。
6)當用戶端有新版本時,在本地不删除用戶端的情況下,檢查資源同名檔案如圖檔是否能正常更新成最新版本。如果以上無法更新成功的,也都屬于缺陷。
6.定位、照相機服務
1)App有用到相機,定位服務時,需要注意系統版本差異。
2)有用到照相機服務的地方,需要進行前背景的切換測試,檢查應用是否正常。
3)測試照相機服務時,需要采用真機進行測試。
7.PUSH測試
1)檢查Push消息是否按照指定的業務規則發送。
2)檢查不接收推送消息時,使用者不會在接收到Push消息。
3)如果使用者設定了免打擾的時間段,檢查在免打擾時間段内,使用者接收不到Push。在非免打擾時間段内,使用者能正常收到Push。
4)當Push消息是針對登入使用者的時候,需要檢查收到的Push與使用者身份是否相符,沒有錯誤的将其他人的消息推送過來。一般情況下,隻對手機上最後一個登入使用者進行消息推送。
5)測試Push時,需要采用真機進行測試。
五、性能測試
1)響應能力測試:測試App中的各類操作是否滿足使用者響應時間要求。
App安裝、解除安裝的響應時間
App各類功能性操作的響應時間
2)壓力測試,反複/長期操作下,系統資源是否占用異常。
App反複進行安裝解除安裝,檢查系統資源是否正常
其他功能反複進行操作,檢查系統資源是否正常
六、交叉事件測試
針對智能終端應用的服務等級劃分方式及實時特性所提出的測試方法。交叉測試又叫事件或沖突測試,是指一個功能正在執行過程中,同時另外一個事件或操作對該過程進行幹擾的測試。如:App在前/背景運作狀态時與來電、檔案下載下傳、音樂收聽等關鍵運用的互動情況測試等。
交叉事件測試非常重要,能發現很多應用中潛在的性能問題。
1)多個App同時運作是否影響正常功能。
2)App運作時前/背景切換是否影響正常功能。
3)App運作時撥打/接聽電話。
4)App運作時發送/接收資訊。
5)App運作時發送/收取郵件。
6)App運作時浏覽網絡。
7)App運作時使用藍牙傳送/接收資料。
8)App運作時使用相機、電腦等手機自帶裝置。
七、相容測試
主要測試内部和外部相容性
1)與本地及主流App是否相容
2)與各種裝置是否相容,若有跨系統支援則需要檢驗是否在個系統下,各種行為是否一緻。
不同手機螢幕分标率的相容性
不同手機品牌的相容性
八、回歸測試
1)Bug修複後且在新版本釋出後需要進行回歸測試。
2)Bug修複後的回歸測試在傳遞前、要進行大量用例的回歸測試。
九、使用者體驗測試
以主觀的普通消費者的角度去感覺産品或服務的舒适、有用、易用、友好親切程度。通過不同個體、獨立空間和非經驗的統計複用方式去有效評價産品的體驗特性,提出修改意見提升産品的潛在客戶滿意度。
1)是否有空資料界面設計,引導使用者去執行操作。
2)是否濫用使用者引導。
3)是否有不可點選的效果,如:你的按鈕此時處于不可用狀态,那麼一定要灰掉,或者拿掉按鈕,否則會給使用者誤導。
4)菜單層次是否太深。
5)互動流程分支是否太多。
6)相關的選項是否離的很遠。
7)一次是否載入太多的資料。
8)界面中按鈕可點選範圍是否适中。
9)标簽頁是否跟内容沒有從屬關系,當切換标簽的時候,内容跟着切換。
10)操作應該有主次從屬關系。
11)是否定義Back的邏輯。涉及軟硬體互動時,Back鍵應具體定義。
12)是否有橫屏模式的設計,應用一般需要支援橫屏模式,即自适應設計。
十、手勢操作測試
1)手機開鎖屏對運作中的App的影響。
2)運作中的App前背景切換的影響。
3)多個運作中的App的切換。
4)App運作時關機。
5)App運作時重新開機系統。
6)App運作時充電
7)App運作時Kill掉程序再打開
十一、用戶端資料庫測試
1)一般的增、删、改、查測試。
2)當表不存在時是否能自動建立,當資料庫表被删除後能否再自建,資料是否還能自動從伺服器中擷取回來并儲存。
3)在業務需要從伺服器端取回資料儲存到用戶端的時候,用戶端能否将資料儲存到本地。
4)當業務需要從用戶端取資料時,檢查用戶端資料存在時,App資料是否能自動從用戶端資料中取出,還是仍然會從伺服器端擷取?檢查用戶端資料不存在時,App資料能否自動從伺服器端擷取到并儲存到伺服器端。
5)當業務對資料進行了修改、删除後,用戶端和伺服器端是否會有相應的更新。
每天一點點,感受自己存在的意義。