手機上的app分爲基於HTML5的app(相似於pc上的b/S應用)和本地app(相似於C/S結構)。
因此
測試上咱們也能夠充分吸取
web的b/s和c/s測試經驗。可是不一樣於pc上的應用測試,手機上的測試有其獨特性
測試前的思考:咱們這個產品主要是作什麼的?爲何我要作這個產品?市場上有那些同類型的產品?
測試前的準備:1.使用同類型的產品,不只僅是使用,應該是測試同類型的產品。2.熟悉咱們產品的spec文檔,積極和pm交流。3,寫
測試用例,沒有時間至少要有一個checklist。
1.功能
a.基本功能,主要指app是否完成了設計的全部功能。分清模塊,寫一份checklist,避免漏測。考慮橫豎屏切換,不過不少app如今只支持豎屏。
b.系統交互:電話短信干擾,低電量提醒,push提醒,usb數據線插拔提醒,充電提醒等,
2.性能:穩定性,兼用型(android碎片化是個難題,bug也多,ios相對bug少),app運行的內存消耗和cpu消耗,app後臺長時間運行的耗流量,耗電量。
推薦testin這個第三方平臺,對android兼用性測試比較有幫助。
3.易用性:面是否吸引人、容易理解。界面整潔、簡單。無錯別字。點擊範圍肯定等。這部分測試中,若是測試認爲有不合理的地方一般會提交需求bug。
4.外場:網絡切換,網絡信號強,弱下的app運行狀況。
對自動化的一些見解:
目前咱們能夠接觸到手機方面的自動化工具:robotium,monkey,monkeyrunner,androidjunit。可是因爲ui變化快,
自動化測試每每不方便維護。前三個不須要源碼支持,可是功能有限,androidjunit很強大,對代碼能力要求高,同時須要源碼支持。app的開發週期通常都很短,ui變化大,用自動化要考慮投入成本,大多數的公司估計都不適用。不過測接口之類的經過自動化是個不錯的選擇。
轉,說得多有道理的。
1.移動
互聯網開發節奏很快,版本快速迭代,如何讓測試
敏捷起來?
Monkey:我建議放棄徹底得
Test Case。所有用feature list或者測試思惟導圖或者功能點劃分表來進行引導得測試。主要目的不會漏掉功能點以及防止regression得bug。其次要敏捷必需要有自動化得支持。關於這點就是根據不一樣得app進行定義了。首先UT不管如何就要作起來。其次是api和regression test得自動化要作起來。固然CI也必定要搭建的。
2.移動應用測試,如何更全面的保證產品質量?如何讓用戶參與到測試中來?
Monkey:更全面得保證產品質量。若是要說到全面,那麼必須就是功能,壓力,性能,安全,用戶體驗面面具到了。其實仍是和我第一個問題說得同樣。將app結合os得特性分層進行逐個得測試或者自動化測試。關於讓用戶參與到測試中來的話。我建議能夠將不一樣的用戶集合起來,qq或者weixin保持聯繫。而後android能夠按期發佈內測版本,ios能夠發佈testflight版本。
3.用戶反饋問題建議很是多,如何作好有效管理、分析和反饋?
Monkey:這個我相信不管哪家公司都會遇見。用戶的反饋不必定都是有效的。管理的話,我建議仍是須要安排一個專門的人進行記錄。將反饋所有做爲bug的一種,隨後填入bug系統方便跟蹤。其次關於crash或者沒法重現的問題。就須要本身在軟件中增長自動反饋crash log的機制。包括用第三方的友盟等也能夠。隨後再按期的進行log的分析。這些其實都不難,主要就是須要堅持,一直去作。
4.競爭產品不少,測試如何作競品分析?
Monkey:這個其實我並非很在行。不過我以爲分析的話。主要有幾點。其一,核心功能的體驗。也就是說核心功能路徑長短。好比A用了3步完成B用了4步完成的功能,那麼A明顯有優點。其二,核心功能的交互,包括用戶的
學習成本。其三,場景分析,好比咱們能夠設計N個場景,在這N個場景中咱們本身的產品和競爭對手的產品,用戶會作什麼選擇。其實每每咱們一設計以後就發現,有些功能用戶根本沒法理解,或者根本不用去作。天然也就沒有意義。固然分析還有不少,包括下載量,點擊數,評論等等。均可以觀察。
app的測試方式我在我本身的書中會有寫。這裏我簡單介紹如下。不過首先須要確定是否是拿到手就能夠測的。更多的是須要了解 a。產品功能feature list須要熟悉 b。須要產品所在的系統的架構 c。須要熟悉產品自己的結構,自己的邏輯,包括cs結構,生命週期,api等 d。根據abc來設計測試點,測試點能夠是思惟導圖或者別的。可是並不須要去編寫很詳細的測試用例。