- 移動測試教程
- 移動測試 - 首頁
- 移動測試 - 概述
- 移動測試 - 平臺
- 移動測試 - 裝置型別
- 原生 vs 混合 vs 移動網頁
- 移動測試 - 裝置 vs 應用
- 模擬器 vs 模擬器
- 移動測試 - 應用
- 移動測試 - UI
- 移動測試 - 計劃與工具
- 硬體視角
- 移動裝置測試 - 型別
- 移動測試 - 框架概述
- 移動測試 - Android框架
- 移動測試 - iOS框架
- Robotium框架
- Selendroid框架
- 移動測試 - Appium框架
- 移動測試 - Zucchini框架
- 移動測試有用資源
- 移動測試 - 快速指南
- 移動測試 - 有用資源
- 移動測試 - 討論
移動測試 - 應用
移動應用程式測試的一個簡單定義如下:“移動應用程式測試是一個過程,透過該過程,為手持移動裝置開發的應用程式軟體在其功能、可用性和一致性方面進行測試。移動應用程式測試可以是自動化或手動型別的測試。”
注意 - 為了更好地理解,我們將假設我們正在測試一個用於線上機票預訂系統的移動應用程式。
功能測試
功能測試是任何應用程式最基本的測試,以確保它根據定義的要求執行。與其他基於使用者介面的應用程式類似,移動應用程式在使用者場景中需要大量的使用者互動。
示例測試場景 -
驗證僅在選定的日期上為所選的出發地目的地顯示航班可用性。
驗證過去的日期未包含在搜尋結果中。
相容性測試
在移動應用程式測試中,相容性測試佔據了最高的堆疊。通常,移動應用程式相容性測試的目的是確保應用程式的關鍵功能在特定裝置上按預期執行。相容性本身只需要幾分鐘,並且可以提前計劃好。
決定應該在哪些移動裝置上執行相容性測試並非易事(因為使用所有可用裝置進行測試幾乎是不可能的)。因此,請準備一個包含所有可能組合的測試矩陣,並由客戶對其進行優先順序排序。
示例測試場景 -
- 驗證使用Android裝置是否成功執行航班搜尋。
- 驗證Apple iPad是否成功執行航班搜尋。
本地化測試
如今,大多數應用程式都設計用於全球使用,並且非常重要的一點是要關注區域性線索,例如語言、時區等。當有人更改時區時,驗證應用程式的功能非常重要。必須考慮到,有時西方設計可能不適用於東方國家的受眾,反之亦然。
示例測試場景 -
驗證當我們使用不同語言(或說是非英語語言)的移動應用程式時,是否存在任何UI或資料截斷問題。
驗證移動應用程式是否可以優雅地處理時區更改。
實驗室測試
實驗室測試通常由網路運營商進行,透過模擬完整的無線網路來完成。執行此測試是為了找出移動應用程式使用語音和/或資料連線執行某些功能時是否存在任何故障。
示例測試場景 -
驗證客戶與支援人員進行語音聊天時是否存在任何故障。
效能測試
移動效能測試涵蓋客戶端應用程式效能、伺服器效能和網路效能。確保效能測試場景涵蓋所有這些方面非常重要。藉助效能測試工具,在給定的預定義負載和事務組合下,識別現有網路、伺服器和伺服器端應用程式瓶頸並不困難。
示例測試場景 -
驗證航班可用性檢查是否僅需合理的時間。
驗證在檢查航班可用性時,移動裝置是否正常執行且不會掛起。
壓力測試
壓力測試對於查詢在功能和使用者介面測試期間可能未被發現的異常、掛起和死鎖至關重要。以下列出了一些壓力測試標準 -
儘可能多地載入您的應用程式資料,以嘗試達到其斷點。
反覆執行相同的操作。
以不同的速度執行重複操作 - 非常快或非常慢。
讓您的應用程式執行很長時間,既與裝置互動,又讓其保持空閒狀態,或者執行一些需要很長時間的自動任務,例如幻燈片。
隨機向您的應用程式傳送螢幕點選和擊鍵。
在您的裝置上執行多個應用程式,以便您可以經常在您的應用程式和其他裝置應用程式之間切換。
示例測試場景 -
- 檢查1000名使用者是否正在訪問移動應用程式以搜尋國內航班。
- 檢查1000名使用者是否正在訪問移動應用程式以搜尋國際航班。
安全測試
作為移動應用程式安全測試的一部分,應驗證對駭客攻擊、身份驗證和授權策略、資料安全、會話管理和其他安全標準的漏洞。應用程式應在透過網路對使用者進行身份驗證時加密使用者名稱和密碼。
測試安全相關場景的一種方法是透過像OWASP Zed Attack Proxy這樣的代理伺服器路由移動裝置的資料,並查詢漏洞。
示例測試場景 -
驗證應用程式是否無法在兩個不同的移動裝置上使用相同的使用者憑據進行操作。
驗證如果會話保持非活動狀態超過15分鐘,該會話是否會自動過期。
記憶體洩漏測試
與其他計算機相比,移動裝置的記憶體非常有限,並且移動作業系統具有預設行為,即終止正在使用過多記憶體並導致使用者體驗不佳的應用程式。
記憶體測試對於移動應用程式來說非常重要,以確保每個應用程式在整個使用者旅程中都能保持最佳化的記憶體使用率。建議我們在實際目標裝置上進行記憶體測試,因為系統架構與模擬器到實際裝置不同。
示例測試場景 -
執行十次航班可用性檢查,並記錄每次檢查的記憶體使用量增加情況。
讓應用程式執行十分鐘,觀察記憶體使用量是否保持穩定。
功耗測試
不同移動裝置中使用了多種型別的電池(即鎳鎘/鋰離子/鎳金屬混合動力)。當我們專注於功耗測試時,我們需要測量每個活動級別的電池狀態。這將使我們更好地瞭解單個應用程式的功耗。
功耗測試可以手動完成;市場上還有一些免費工具可用,例如Trepn Profiler、Power Tutor和諾基亞能源分析器。這些應用程式可以顯示智慧手機或平板電腦上的即時功耗。
示例測試場景 -
使用移動應用程式搜尋航班可用性,並檢查功耗是否保持最小。
使移動應用程式處於理想狀態;驗證在應用程式沒有任何活動發生時,是否沒有功耗。
中斷測試
應用程式在執行時可能會遇到一些中斷,例如來電或網路覆蓋中斷和恢復。這又可以分為 -
- 傳入和傳出簡訊和彩信
- 傳入和傳出電話
- 傳入通知
- 電池移除
- 用於資料傳輸的電纜插入和移除
示例測試場景 -
驗證在收到來電後,航班可用性檢查是否會暫停並恢復。
驗證使用者是否可以在使用應用程式時拒絕來電,並在之後再次恢復相同的應用程式。
可用性測試
可用性測試根據以下三個標準評估目標受眾的應用程式 -
效率 - 指定使用者在特定環境中實現指定目標的準確性和完整性。
有效性 - 與實現目標的準確性和完整性相關的資源支出。
滿意度 - 工作系統對其使用者以及受其使用影響的其他人的舒適度和可接受性。
從應用程式設計的早期階段開始就實施可用性測試非常重要,並且不應僅在應用程式完成後才進行。可用性測試需要使用者的大量參與,並且輸出可能會影響應用程式設計,這在專案的後期階段很難更改。
示例測試場景 -
- 航班可用性檢查應在主頁上。
- 在內容中間不應顯示贊助廣告。
安裝測試
安裝測試驗證安裝過程是否順利進行,而無需使用者遇到任何困難。
示例測試場景 -
- 驗證安裝過程是否順利且不會花費很長時間。
- 驗證是否透過企業應用商店成功安裝。
解除安裝測試
解除安裝測試的基本原理可以用一句話概括為“解除安裝應立即清除與應用程式相關的資料”。
示例測試場景 -
驗證解除安裝後是否已成功刪除所有與應用程式相關的檔案。
如果這是一個儲存媒體檔案(如WhatsApp或Facebook)的應用程式,則即使在解除安裝應用程式後也要保留這些檔案。
更新測試
我們需要對移動應用程式更新非常謹慎。人們經常抱怨應用程式在更新後無法令人滿意地工作。因此,在更新測試下,我們必須確認應用程式將像以前一樣工作非常重要。簡而言之,它不應破壞任何東西。移動應用程式更新可以透過兩種方式進行 - 自動更新和手動更新。
示例測試場景 -
- 驗證自動更新後應用程式是否可以成功執行。
- 驗證是否正確顯示更新進度。
認證測試
為了獲得合規性證書,每個移動裝置都需要根據不同移動平臺設定的指南進行測試。
示例測試場景 -
驗證安裝在iPhone上的應用程式是否符合iOS手機的策略。
驗證安裝在Android上的應用程式是否符合Android手機的策略。