1. 程式人生 > >app測試總結

app測試總結

一、安全測試

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執行時使用相機、計算器等手機自帶裝置。

七、相容測試

主要測試內部和外部相容性,如系統版本、不同深度定製的rom、螢幕解析度。

1)與本地及主流App是否相容(QQ、微信、支付寶等)

2)基於開發環境和生產環境的不同,檢驗在各種網路連線下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的資料和運用是否正確

3)與各種裝置是否相容,若有跨系統支援則需要檢驗是否在各系統下,各種行為是否一致

3.1、不同作業系統的相容性,是否適配(4.x,5.x,6.x。除非有明確的直接影響APP特性變動,否則不會考慮完全覆蓋每個小版本)

3.2、不同手機螢幕解析度的相容性(800 x 480、960x640、1280x720(720p)、1920x1080(1080p)、2560x1440(2K))

3.3、不同手機品牌的相容性(如華為,小米,OPPO等)

4)用不同的支援語言驗證App行為。

5)新舊版本在功能,邏輯層面的相容測試, 同一個app 在不同系統版本執行,以及不同機型之間的適配測試相容測試

6)介面、協議的相容性測試,能夠保證大部分的功能完善;

基於UI自動化指令碼的雲測方案

app在不同系統版本上保證執行適配性: 螢幕,系統版本等(系統位數一定要考慮)該部分可通過第三方的雲平臺進行,藉助UI自動化

八、迴歸測試

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)當業務對資料進行了修改、刪除後,客戶端和伺服器端是否會有相應的更新。

摘自作者:Kevin_Luo 連結:https://www.jianshu.com/p/d00dbe2325bfmiss.yang