App的測試,和傳統軟體測試有哪些區別?應該增加哪些方面的測試用例?


隨手機對人們生活中的影響越來越大,App測試工作逐漸被眾人所知。從一開始的眾包到現在的自動化探索,手機測試上的技術發展也是日新月異。

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(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,需要新測試服進行確認並根據該問題的修復。

測試用例和具體的App分類有關。如今App可以說是滲入到生活的方方面面,單獨把測試用例拿出來並不能全面的說明問題,具體App的測試用例問題可以私信我,相信可以給你一定的幫助!


1. 機型適配:涉及系統版本(小米MIUI,Android2.2/2.3/4.0),解析度,LBS的應用還涉及GPS類型

2. 網路環境:Wifi,2G,3G(應用介面對於網路異常的處理等)

3. 場景覆蓋:面對真實移動手機用戶的使用場景

4. 升級測試:前幾個版本的升級,後續升級準備

其他:

1. 不嚴格執行Case,主要以場景測試覆蓋,適應移動互聯網產品快速上線、不斷迭代改進的步伐

2. 要有產品意識,從用戶親身角度出發體驗產品

3. 一定要經過線上環境鏈接測試環境的測試場景,方可大規模推廣或正式上線


人工遍歷測試好像是針對測試用例的,具體可見Test Case Pgyer Professional App Testing


首先本人沒有寫過傳統軟體的測試用例,

個人感覺需要考慮到app測試與傳統測試的區別,才可以完善的補充測試用例

不同點:不同的網路,不同的機型,移動的便利性,等等


求問,UI測試用例一般是怎麼寫的?


首先說明一點 , 因為最近在做安卓的課程設計,作業裡面要單元測試,所以才去了解了下,之前對測試完全一點都不了解 , 說的不準確或者不全面的地方請測試大手親噴.....

--------------------

最高票的大朋說的差不多了,我再補充幾點吧 , 只針對原生安卓, PhoneGap或者RN不清楚

1. 交叉事件測試 : 測試一個功能正在執行過程中,同時另外一個事件或操作對該過程進行干擾的測試 , 比如網路狀況切換 , 前後台切換 , 多個app切換數據的保存 , 接到電話的特殊情景 , kill掉進程時再重新打開app等

2. 安全測試. 我只反編譯過2次app , 不過最基本的混淆 , 資料庫加密 , Log信息泄露這些都是要測試的,具體怎麼測試我還不知道.......咳咳,請原諒我現學現賣


推薦閱讀:

TAG:移動互聯網 | 移動開發 | 產品測試 |