一迄损、安全測試
1.軟件權限
1)扣費風險:包括短信、撥打電話账磺、連接網(wǎng)絡等芹敌。
2)隱私泄露風險:包括訪問手機信息共屈、訪問聯(lián)系人信息等。
3)對App的輸入有效性校驗党窜、認證拗引、授權、數(shù)據(jù)加密等方面進行檢測
4)限制/允許使用手機功能接入互聯(lián)網(wǎng)
5)限制/允許使用手機發(fā)送接收信息功能
6)限制或使用本地連接
7)限制/允許使用手機拍照或錄音
8)限制/允許使用手機讀取用戶數(shù)據(jù)
9)限制/允許使用手機寫入用戶數(shù)據(jù)
10)限制/允許應用程序來注冊自動啟動應用程序
2.安裝與卸載安全性
1)應用程序應能正確安裝到設備驅(qū)動程序上
2)能夠在安裝設備驅(qū)動程序上找到應用程序的相應圖標
3)安裝路徑應能指定
4)沒有用戶的允許幌衣,應用程序不能預先設定自動啟動
5)卸載是否安全矾削,其安裝進去的文件是否全部卸載
6)卸載用戶使用過程中產(chǎn)生的文件是否有提示
7)其修改的配置信息是否復原
8)卸載是否影響其他軟件的功能
9)卸載應該移除所有的文件
3.數(shù)據(jù)安全性
1)當將密碼或其它的敏感數(shù)據(jù)輸入到應用程序時,其不會被存儲在設備中豁护,同時密碼也不會被解碼哼凯。
2)輸入的密碼將不以明文形式進行顯示。
3)密碼楚里、信用卡明細或其他的敏感數(shù)據(jù)將不被存儲在它們預輸入的位置上断部。
4)不同的應用程序的個人身份證或密碼長度必須至少在4-8個數(shù)字長度之間。
5)當應用程序處理信用卡明細或其它的敏感數(shù)據(jù)時班缎,不以明文形式將數(shù)據(jù)寫到其他單獨的文件或者臨時文件中蝴光。以防止應用程序異常終止而又沒有刪除它的臨時文件,文件可能遭受入侵者的襲擊达址,然后讀取這些數(shù)據(jù)信息蔑祟。
6)黨建敏感數(shù)據(jù)輸入到應用程序時,其不會被存儲在設備中沉唠。
7)應用程序應考慮或者虛擬機器產(chǎn)生的用戶提示信息或安全警告
8)應用程序不能忽略系統(tǒng)或者虛擬機器產(chǎn)生的用戶提示信息或安全警告疆虚,更不能在安全警告顯示前,利用顯示誤導信息欺騙用戶满葛,應用程序不應該模擬進行安全警告誤導用戶径簿。
9)在數(shù)據(jù)刪除之前,應用程序應當通知用戶或者應用程序提供一個“取消”命令的操作嘀韧。
10)應用程序應當能夠處理當不允許應用軟件連接到個人信息管理的情況篇亭。
11)當進行讀或?qū)懹脩粜畔⒉僮鲿r,應用程序?qū)蛴脩舭l(fā)送一個操作錯誤的提示信息乳蛾。
12)在沒有用戶明確許可的前提下不損壞刪除個人信息管理應用程序中的任何內(nèi)容暗赶。
13)如果數(shù)據(jù)庫中重要的數(shù)據(jù)正要被重寫鄙币,應及時告知用戶肃叶。
14)能合理的處理出現(xiàn)的錯誤。
15)意外情況下應提示用戶十嘿。
4.通訊安全性
1)在運行軟件過程中因惭,如果有來電、SMS绩衷、藍牙等通訊或充電時蹦魔,是否能暫停程序激率,優(yōu)先處理通信,并在處理完畢后能正澄鹁觯恢復軟件乒躺,繼續(xù)其原來的功能。
2)當創(chuàng)立連接時低缩,應用程序能夠處理因為網(wǎng)絡連接中斷嘉冒,進而告訴用戶連接中斷的情況。
3)應能處理通訊延時或中斷咆繁。
4)應用程序?qū)⒈3止ぷ鞯酵ㄓ嵆瑫r讳推,進而給用戶一個錯誤信息指示有鏈接錯誤。
5)應能處理網(wǎng)絡異常和及時將異常情況通報用戶玩般。
6)應用程序關閉網(wǎng)絡連接不再使用時應及時關閉银觅,斷開。
5.人機接口安全測試
1)返回菜單應總保持可用坏为。
2)命令有優(yōu)先權順序究驴。
3)聲音的設置不影響使用程序的功能。
4)聲音的設置不影響應用程序的功能
5)應用程序必須能夠處理不可預知的用戶操作匀伏,例如錯誤的操作和同時按下多個鍵纳胧。
二、安裝/卸載測試
驗證App是否能正確安裝帘撰、運行跑慕、卸載、以及操作過程和操作前后對系統(tǒng)資源的使用情況
1.安裝
1)軟件安裝后是否能夠正常運行摧找,安裝后的文件夾以及文件是否寫到了指定的目錄里核行。
2)軟件安裝各個選項的組合是否符合概要設計說明。
3)軟件安裝向?qū)У腢I測試
4)安裝后沒有生成多余的目錄結(jié)構(gòu)和文件蹬耘。
2.卸載
1)測試系統(tǒng)直接卸載程序是否有提示信息芝雪。
2)測試卸載后文件是否全部刪除所有的安裝文件夾。
3)卸載是否支持取消功能综苔,單擊取消后軟件卸載的情況惩系。
4)系統(tǒng)直接卸載UI測試,是否有卸載狀態(tài)進度條提示如筛。
三堡牡、UI測試
1)測試用戶界面(如菜單、對話框杨刨、窗口和其他控件)布局晤柄、風格是否滿足要求、文字是否正確妖胀、頁面是否美觀芥颈、文字惠勒、圖片組合是否完美、操作是否友好等爬坑。
2)UI測試的目標是確保用戶界面會通過測試對象的功能來為用戶提供相應的訪問或瀏覽功能纠屋。確保用戶界面符合公司或行業(yè)的標準。包括用戶友好性盾计、人性化巾遭、易操作性測試。
1.導航測試
1)按鈕闯估、對話框灼舍、列表和窗口等;或在不同的連接頁面之間需要導航涨薪。
2)是否易于導航骑素,導航是否直觀。
3)是否需要搜索引擎刚夺。
4)導航幫助是否準確直觀献丑。
5)導航與頁面結(jié)構(gòu)、菜單侠姑、連接頁面的風格是否一致创橄。
2.圖形測試
1)橫向比較,各控件操作方式統(tǒng)一莽红。
2)自適應界面設計妥畏,內(nèi)容根據(jù)窗口大小自適應。
3)頁面標簽風格是否統(tǒng)一安吁。
4)頁面是否美觀醉蚁。
5)頁面的圖片應有其實際意義而要求整體有序美觀。
3.內(nèi)容測試
1)輸入框說明文字的內(nèi)容與系統(tǒng)功能是否一致鬼店。
2)文字長度是否加以限制网棍。
3)文字內(nèi)容是否表意不明。
4)是否有錯別字妇智。
5)信息是否為中文顯示滥玷。
四、功能測試
根據(jù)軟件說明或用戶需求驗證App的各個功能實現(xiàn)巍棱,采用如下方法實現(xiàn)并評估功能測試過程:
1)采用時間惑畴、地點、對象拉盾、行為和背景五元素或業(yè)務分析等方法分析桨菜、提煉App的用戶使用場景豁状,對比說明或需求捉偏,整理出內(nèi)在倒得、外在及非功能直接相關的需求,構(gòu)建測試點夭禽,并明確測試標準霞掺。
2)根據(jù)被測功能點的特性列出相應類型的測試用例對其進行覆蓋,如:設計輸入的地方需要考慮等價讹躯、邊界菩彬、負面、異常潮梯、非法骗灶、場景回滾、關聯(lián)測試等測試類型對其進行覆蓋秉馏。
3)在測試實現(xiàn)的各個階段跟蹤測試實現(xiàn)與需求輸入的覆蓋情況耙旦,及時修正業(yè)務或需求理解錯誤。
1.運行
1)App安裝完成后的試運行萝究,可正常打開軟件免都。
2)App打開測試,是否有加載狀態(tài)進度提示帆竹。
3)App頁面間的切換是否流暢绕娘,邏輯是否正確。
4)注冊
同表單編輯頁面
用戶名密碼長度
注冊后的提示頁面
前臺注冊頁面和后臺的管理頁面數(shù)據(jù)是否一致
注冊后栽连,在后臺管理中頁面提示
5)登錄
使用合法的用戶登錄系統(tǒng)
系統(tǒng)是否允許多次非法的登錄险领,是否有次數(shù)限制
使用已經(jīng)登錄的賬號登錄系統(tǒng)是否正確處理
用戶名、口令(密碼)錯誤或漏填時能否登陸
刪除或修改后的用戶秒紧,原用戶名登陸
不輸入用戶口令和重復點“確定/取消”按鈕舷暮,是否允許登錄
登陸后,頁面中登錄信息
頁面中有注銷按鈕
登錄超時的處理
2.應用的前后臺切換
1)App切換到后臺噩茄,再回到App下面,檢查是否停留在上一次操作界面。
2)App切換到后臺绩聘,再回到App沥割,檢查功能及應用狀態(tài)是否正常。
3)App切換到后臺凿菩,再回到前臺時机杜,注意程序是否崩潰,功能狀態(tài)是否正常衅谷,尤其是對于從后臺切換回前臺數(shù)據(jù)有自動更新的時候椒拗。
4)手機鎖屏解鎖后進入App注意是否會崩潰,功能狀態(tài)是否正常,尤其是對于從后臺切換回前臺數(shù)據(jù)有自動更新的時候蚀苛。
5)當App使用過程中有電話進來中斷后再切換到App在验,功能狀態(tài)是否正常。
6)當殺掉App進城后堵未,再開啟App腋舌,App能否正常啟動。
7)出現(xiàn)必須處理的提示框后渗蟹,切換到后臺块饺,再切換回來,檢查提示框是否還存在雌芽,有時候會出現(xiàn)應用自動跳過提示框的缺陷授艰。
8)對于有數(shù)據(jù)交換的頁面,每個頁面都必須要進行前后臺切換世落、鎖屏的測試想诅,這種頁面最容易出現(xiàn)崩潰。
3.免登陸
很多應用提供免登陸功能岛心,當應用開啟時自動以上一次登錄的用戶身份來使用App来破。
1)考慮無網(wǎng)絡情況時能否正常進入免登錄狀態(tài)。
2)切換用戶登陸后忘古,要校驗用戶登錄信息以及數(shù)據(jù)內(nèi)容是否相應更新徘禁,確保原用戶退出。
3)根據(jù)Mtop的現(xiàn)有規(guī)則髓堪,一個賬戶只允許登陸一臺機器送朱。所以,需要檢查一個賬戶登錄多臺手機的情況干旁。原手機里的用戶需要被退出驶沼,給出友好提示。
4)App切換到后臺争群,在切換回前臺的校驗回怜。
5)切換到后臺,再切換回到前臺的測試换薄。
6)密碼更換后玉雾,檢查有數(shù)據(jù)交換時是否進行了有效身份的校驗。
7)支持自動登錄的應用在進行數(shù)據(jù)校驗時轻要,檢查系統(tǒng)是否能自動登錄成功并且數(shù)據(jù)操作無誤复旬。
8)檢查用戶主動退出登錄后,下次啟動App冲泥,應停留在登錄界面驹碍。
4.離線瀏覽
很多應用會支持離線瀏覽壁涎,即在本地客戶端會緩存一部分數(shù)據(jù)供用戶查看。
1)在無線網(wǎng)絡情況可以瀏覽本地數(shù)據(jù)志秃。
2)退出App再開啟App時能正常瀏覽怔球。
3)切換到后臺再回到前臺可以正常瀏覽。
4)鎖屏后再解鎖回到應用前臺可以正常瀏覽洽损。
5)在對服務器段的數(shù)據(jù)有更新時回給予離線的相應提示庞溜。
5.App更新
1)當客戶端有新版本時革半,有更新提示碑定。
2)當版本為非強制升級版時,用戶可以取消更新又官,老版本能正常使用延刘。用戶在下次啟動App時,仍出現(xiàn)更新提示六敬。
3)當版本為強制升級版時碘赖,但給出強制更新后用戶沒有做更新時,退出客戶端外构。下次啟動App時普泡,仍出現(xiàn)強制升級提示。
4)當客戶端有新版本時审编,在本地不刪除客戶端的情況下撼班,直接更新檢查是否能正常更新。
5)當客戶端有新版本時垒酬,在本地不刪除客戶端的情況下砰嘁,檢查更新后的客戶端功能是否是新版本。
6)當客戶端有新版本時勘究,在本地不刪除客戶端的情況下矮湘,檢查資源同名文件如圖片是否能正常更新成最新版本。如果以上無法更新成功的口糕,也都屬于缺陷缅阳。
6.定位、照相機服務
1)App有用到相機景描,定位服務時券时,需要注意系統(tǒng)版本差異。
2)有用到照相機服務的地方伏伯,需要進行前后臺的切換測試橘洞,檢查應用是否正常。
3)測試照相機服務時说搅,需要采用真機進行測試炸枣。
7.消息PUSH測試
1)檢查Push消息是否按照指定的業(yè)務規(guī)則發(fā)送。
2)檢查不接收推送消息時,用戶不會在接收到Push消息适肠。
3)如果用戶設置了免打擾的時間段霍衫,檢查在免打擾時間段內(nèi),用戶接收不到Push侯养。在非免打擾時間段內(nèi)敦跌,用戶能正常收到Push。
4)當Push消息是針對登錄用戶的時候逛揩,需要檢查收到的Push與用戶身份是否相符柠傍,沒有錯誤的將其他人的消息推送過來。一般情況下辩稽,只對手機上最后一個登錄用戶進行消息推送惧笛。
5)測試Push時,需要采用真機進行測試逞泄。
五患整、性能測試
1)響應能力測試:測試App中的各類操作是否滿足用戶響應時間要求。
App安裝喷众、卸載的響應時間
App各類功能性操作的響應時間
2)壓力測試各谚,反復/長期操作下,系統(tǒng)資源是否占用異常到千。
App反復進行安裝卸載昌渤,檢查系統(tǒng)資源是否正常
其他功能反復進行操作,檢查系統(tǒng)資源是否正常
六父阻、交叉事件測試
針對智能終端應用的服務等級劃分方式及實時特性所提出的測試方法愈涩。交叉測試又叫事件或沖突測試,是指一個功能正在執(zhí)行過程中加矛,同時另外一個事件或操作對該過程進行干擾的測試履婉。如:App在前/后臺運行狀態(tài)時與來電、文件下載斟览、音樂收聽等關鍵運用的交互情況測試等毁腿。
交叉事件測試非常重要,能發(fā)現(xiàn)很多應用中潛在的性能問題苛茂。
1)多個App同時運行是否影響正常功能已烤。
2)App運行時前/后臺切換是否影響正常功能。
3)App運行時撥打/接聽電話妓羊。
4)App運行時發(fā)送/接收信息胯究。
5)App運行時發(fā)送/收取郵件。
6)App運行時瀏覽網(wǎng)絡躁绸。
7)App運行時使用藍牙傳送/接收數(shù)據(jù)裕循。
8)App運行時使用相機臣嚣、計算器等手機自帶設備。
七剥哑、兼容測試
主要測試內(nèi)部和外部兼容性
1)與本地及主流App是否兼容
2)與各種設備是否兼容硅则,若有跨系統(tǒng)支持則需要檢驗是否在個系統(tǒng)下,各種行為是否一致株婴。
不同手機屏幕分標率的兼容性
不同手機品牌的兼容性
八怎虫、回歸測試
1)Bug修復后且在新版本發(fā)布后需要進行回歸測試。
2)Bug修復后的回歸測試在交付前困介、要進行大量用例的回歸測試大审。
九、用戶體驗測試
以主觀的普通消費者的角度去感知產(chǎn)品或服務的舒適逻翁、有用饥努、易用捡鱼、友好親切程度八回。通過不同個體、獨立空間和非經(jīng)驗的統(tǒng)計復用方式去有效評價產(chǎn)品的體驗特性驾诈,提出修改意見提升產(chǎn)品的潛在客戶滿意度缠诅。
1)是否有空數(shù)據(jù)界面設計,引導用戶去執(zhí)行操作乍迄。
2)是否濫用用戶引導管引。
3)是否有不可點擊的效果,如:你的按鈕此時處于不可用狀態(tài)闯两,那么一定要灰掉褥伴,或者拿掉按鈕,否則會給用戶誤導漾狼。
4)菜單層次是否太深重慢。
5)交互流程分支是否太多。
6)相關的選項是否離的很遠逊躁。
7)一次是否載入太多的數(shù)據(jù)似踱。
8)界面中按鈕可點擊范圍是否適中。
9)標簽頁是否跟內(nèi)容沒有從屬關系稽煤,當切換標簽的時候核芽,內(nèi)容跟著切換。
10)操作應該有主次從屬關系酵熙。
11)是否定義Back的邏輯轧简。涉及軟硬件交互時,Back鍵應具體定義匾二。
12)是否有橫屏模式的設計哮独,應用一般需要支持橫屏模式庐橙,即自適應設計。
十借嗽、手勢操作測試
1)手機開鎖屏對運行中的App的影響态鳖。
2)運行中的App前后臺切換的影響。
3)多個運行中的App的切換恶导。
4)App運行時關機浆竭。
5)App運行時重啟系統(tǒng)。
6)App運行時充電
7)App運行時Kill掉進程再打開
十一惨寿、客戶端數(shù)據(jù)庫測試
1)一般的增邦泄、刪、改裂垦、查測試顺囊。
2)當表不存在時是否能自動創(chuàng)建,當數(shù)據(jù)庫表被刪除后能否再自建蕉拢,數(shù)據(jù)是否還能自動從服務器中獲取回來并保存特碳。
3)在業(yè)務需要從服務器端取回數(shù)據(jù)保存到客戶端的時候,客戶端能否將數(shù)據(jù)保存到本地晕换。
4)當業(yè)務需要從客戶端取數(shù)據(jù)時午乓,檢查客戶端數(shù)據(jù)存在時,App數(shù)據(jù)是否能自動從客戶端數(shù)據(jù)中取出闸准,還是仍然會從服務器端獲纫嬗?檢查客戶端數(shù)據(jù)不存在時夷家,App數(shù)據(jù)能否自動從服務器端獲取到并保存到服務器端蒸其。
5)當業(yè)務對數(shù)據(jù)進行了修改、刪除后库快,客戶端和服務器端是否會有相應的更新摸袁。