隨手機對人們生活中的影響越來越大,App測試工作逐漸被眾人所知。從壹開始的眾包到現在的自動化探索,手機測試上的技術發展也是日新月異。
App測試相比以往傳統的軟甲測試相關要復雜的多且困難的多。
基於工作經驗,我將如何做好app的測試歸結為如下內容。
(1) ? 非功能測試
app測試的壹個重要方面是app的非功能需求。移動app在推出市場或進行進壹步開發前,測試人員有壹定的職責做該類需求的跟蹤工作。
早期開發階段要進行的第壹個測試應該是實用性測試。通常是由alpha用戶或同事進行的。走進壹家咖啡館或餐廳,問問裏面的人他們的app使用情況。讓他們看看現階段開發的第壹個版本並收集反饋,看看用戶是否能很好地使用新功能,以便得出第壹印象。
(2) ? 功能測試
每項開發的新功能都需要進行測試。app測試中功能測試是壹個重要方面。測試人員應該要進行手動測試和後期的自動化測試維護。剛開始測試時,測試員必須把app當做"黑盒"壹樣進行手動測試,看看提供的功能是否正確並如設計的壹樣正常運作。除了經典軟件測試,像點擊按鈕、提交訂單看看會發生什麽,測試員還必須執行更多功能的app測試。
除了整個手動測試過程,測試自動化對移動app也很重要。每個代碼變化或新功能都可能影響現存功能及它們的狀態。通常手動回歸測試時間不夠,所以測試員不得不找壹個工具去進行自動化回歸測試。現在市面上有很多自動化測試工具,有商業的也有開源的,面向各個不同平臺,如Android,iPhone,WindowsPhone7,BlackBerry以及移動Webapp。根據開發策略和結構,品質管理測試專家需找出最適合他們環境的自動化工具。
(3) ? 客戶端性能測試
壹個App做的好不好,不僅僅只反應在功能上。被測的app在中低端機上的性能表現也很重要。比如:壹個很好玩的遊戲或應用,只能在高端機上流暢運行,在中低端機上卡的不行,也不會取得好的口碑。
關於App的性能測試,我們比較關註的參數有:CPU,內存,耗電量,流量,FPS。同時也需關註壹下App的安裝耗時和啟動耗時。
目前大家可能比較困惑的壹個問題,多高的CPU,內存,耗電量,流量,FPS才算是符合發布的值呢?這裏可以告訴大家,可以參考精品遊戲的壹些數值,將自己研發的app與業內精品的app數據做對比。
(4) ? 適配兼容測試
App在經過功能測試後,也需對其進行適配兼容測試需要檢查的項主要有以下幾點:
(a) 在不同平牌的機型上的安裝、拉起、點擊和卸載是否正常;
(b) 在不同的操作系統上的安裝、拉起、點擊和卸載是否正常;
我們在實際測試中,常常會遇到下列問題:
(a) 在某個平牌某個系統上,app安裝不上;
(b) 在某個平牌某個系統上,app無法拉起;
(c) 在某個平牌某個系統上,app拉起後無響應或拉起後黑屏、花屏;
(d) 在某個平牌某個系統上,app無法順利卸載;
(WeTest騰訊質量開放平臺)這個產品可以實現多款熱門機型的適配兼容測試。
(5) ? 弱網絡測試
App在使用的過程中,難免會遇到弱網絡環境,例如在公車上、在地鐵裏。在這種情況下,常常會出現網絡抖動、上行或下行超時,導致應用中出現丟包。
作為壹個測試人員,我們要對app在上線前做壹定場景的弱網絡環境模型,並查看app在弱網絡環境下是否存在某些未知的問題。下面是我們常用的弱網絡環境場景:
(a) 3G弱網絡信號場景模擬;
(b) 市區低速移動場景模擬;
(c) 郊區高速移動場景模擬;
(d) 請求回應超時_上行超時場景模擬;
(e) 請求回應超時_下行超時場景模擬;
(f) 網絡抖動場景模擬;
(6) ? 耗電量測試
App在手機上的表現,除了功能外,app是否耗電,也是測試過程中重點要關註的壹項。手機設備在滿電的時候,這個App能玩多久;App每小時的耗電是多少;App在某個場景掛機10分鐘耗電量是多少;這些都是我們平時在耗電量測試中比較關註的點。
(7) ? 協議測試
模擬客戶端直接發送協議包給服務器,看看服務器是否有壹定的校驗,認不認客戶端發過來的數據。協議測試,主要是為了處理用戶發送惡意協議到服務器,騙過服務器的校驗。
(8) 安全測試
App在上線前,都需要做詳細的安全測試。安全測試主要為了檢測應用是否容易被外界破解;是否存在被惡意代碼註入的風險;上線後外掛的風險高不高等。
(9) 服務器性能測試
服務器性能測試,主要包含單機容量測試和24小時穩定性測試。單機容量測試,可以檢測到單機服務器在90%的響應時間和成功率都達標的前提下,能夠承載多少用戶量。使用特定遊戲模型壓測24小時,服務無重啟,內存無泄漏,並且各事務成功率達標。
這個可以在WeTest入口預約。
(10) 服務器容災測試
服務器容災測試,主要指某個服務進程奔潰掉後,是否具有自行恢復能力。比如遊戲邏輯進程消失後,是否會自動拉起;memcached崩潰時,是否會重新啟動,是否會對所有玩家有影響。這些都是app測試過程中需要考慮的因素。
(11) 中斷測試
針對智能終端應用的服務等級劃分方式及實時特性所提出的測試方法,如:App在前臺和後臺運行狀態時與來電、文件下載、音樂收聽等關鍵運用的交互情況測試等。測試電話,短信,彩信,微博或其他通知進來時app的反應。
(12) 上線後期的輿情跟蹤
新的app上線後,用戶對此應用的評價,存在哪些測試期間未察覺的Bug,論壇上對於該應用熱門的帖子有哪些,應用商店中該應用的口碑如何等,都是app在上線後,測試人員需要關註的點。若需要測試期間未發現的Bug,需要新測試服進行確認並根據該問題的修復。