APP测试总结
手機上的app分為基于HTML5的app(類似于pc上的b/S應用)和本地app(類似于C/S結(jié)構(gòu))。 所以測試上我們也可以充分吸收web的b/s和c/s測試經(jīng)驗。但是不同于pc上的應用測試,手機上的測試有其獨特性 測試前的思考:我們這個產(chǎn)品主要是做什么的?為什么我要做這個產(chǎn)品?市場上有那些同類型的產(chǎn)品? 測試前的準備:1.使用同類型的產(chǎn)品,不僅僅是使用,應該是測試同類型的產(chǎn)品。2.熟悉我們產(chǎn)品的spec文檔,積極和pm交流。3,寫測試用例,沒有時間至少要有一個checklist。 1.功能 a.基本功能,主要指app是否完成了設(shè)計的所有功能。分清模塊,寫一份checklist,避免漏測。考慮橫豎屏切換,不過很多app現(xiàn)在只支持豎屏。 b.系統(tǒng)交互:電話短信干擾,低電量提醒,push提醒,usb數(shù)據(jù)線插拔提醒,充電提醒等, 2.性能:穩(wěn)定性,兼用型(android碎片化是個難題,bug也多,ios相對bug少),app運行的內(nèi)存消耗和cpu消耗,app后臺長時間運行的耗流量,耗電量。 推薦testin這個第三方平臺,對android兼用性測試比較有幫助。 3.易用性:面是否吸引人、容易理解。界面整潔、簡單。無錯別字。點擊范圍確定等。這部分測試中,如果測試認為有不合理的地方通常會提交需求bug。 4.外場:網(wǎng)絡(luò)切換,網(wǎng)絡(luò)信號強,弱下的app運行情況。 對自動化的一些看法: 目前我們可以接觸到手機方面的自動化工具:robotium,monkey,monkeyrunner,androidjunit。但是由于ui變化快,自動化測試往往不方便維護。前三個不需要源碼支持,但是功能有限,androidjunit很強大,對代碼能力要求高,同時需要源碼支持。app的開發(fā)周期一般都很短,ui變化大,用自動化要考慮投入成本,大多數(shù)的公司估計都不適用。不過測接口之類的通過自動化是個不錯的選擇。 轉(zhuǎn),說得多有道理的。 1.移動互聯(lián)網(wǎng)開發(fā)節(jié)奏很快,版本快速迭代,如何讓測試敏捷起來?
Monkey:我建議放棄完全得Test?Case。全部用feature list或者測試思維導圖或者功能點劃分表來進行引導得測試。主要目的不會漏掉功能點以及防止regression得bug。其次要敏捷必須要有自動化得支持。關(guān)于這點就是根據(jù)不同得app進行定義了。首先UT無論如何就要做起來。其次是api和regression test得自動化要做起來。當然CI也一定要搭建的。
2.移動應用測試,如何更全面的保證產(chǎn)品質(zhì)量?如何讓用戶參與到測試中來?
Monkey:更全面得保證產(chǎn)品質(zhì)量。如果要說到全面,那么必須就是功能,壓力,性能,安全,用戶體驗面面具到了。其實還是和我第一個問題說得一樣。將app結(jié)合os得特性分層進行逐個得測試或者自動化測試。關(guān)于讓用戶參與到測試中來的話。我建議可以將不同的用戶集合起來,qq或者weixin保持聯(lián)系。然后android可以定期發(fā)布內(nèi)測版本,ios可以發(fā)布testflight版本。
3.用戶反饋問題建議非常多,如何做好有效管理、分析和反饋?
Monkey:這個我相信無論哪家公司都會碰見。用戶的反饋不一定都是有效的。管理的話,我建議還是需要安排一個專門的人進行記錄。將反饋全部作為bug的一種,隨后填入bug系統(tǒng)方便跟蹤。其次關(guān)于crash或者無法重現(xiàn)的問題。就需要自己在軟件中增加自動反饋crash log的機制。包括用第三方的友盟等也可以。隨后再定期的進行l(wèi)og的分析。這些其實都不難,主要就是需要堅持,一直去做。
4.競爭產(chǎn)品很多,測試如何做競品分析?
Monkey:這個其實我并不是很在行。不過我覺得分析的話。主要有幾點。其一,核心功能的體驗。也就是說核心功能路徑長短。比如A用了3步完成B用了4步完成的功能,那么A明顯有優(yōu)勢。其二,核心功能的交互,包括用戶的學習成本。其三,場景分析,比如我們可以設(shè)計N個場景,在這N個場景中我們自己的產(chǎn)品和競爭對手的產(chǎn)品,用戶會做什么選擇。其實往往我們一設(shè)計之后就發(fā)現(xiàn),有些功能用戶根本無法理解,或者根本不用去做。自然也就沒有意義。當然分析還有很多,包括下載量,點擊數(shù),評論等等。都可以觀察。 app的測試方式我在我自己的書中會有寫。這里我簡單介紹以下。不過首先需要肯定是不是拿到手就可以測的。更多的是需要了解
a。產(chǎn)品功能feature list需要熟悉
b。需要產(chǎn)品所在的系統(tǒng)的架構(gòu)
c。需要熟悉產(chǎn)品本身的結(jié)構(gòu),本身的邏輯,包括cs結(jié)構(gòu),生命周期,api等
d。根據(jù)abc來設(shè)計測試點,測試點可以是思維導圖或者別的。但是并不需要去編寫很詳細的測試用例。
Monkey:我建議放棄完全得Test?Case。全部用feature list或者測試思維導圖或者功能點劃分表來進行引導得測試。主要目的不會漏掉功能點以及防止regression得bug。其次要敏捷必須要有自動化得支持。關(guān)于這點就是根據(jù)不同得app進行定義了。首先UT無論如何就要做起來。其次是api和regression test得自動化要做起來。當然CI也一定要搭建的。
2.移動應用測試,如何更全面的保證產(chǎn)品質(zhì)量?如何讓用戶參與到測試中來?
Monkey:更全面得保證產(chǎn)品質(zhì)量。如果要說到全面,那么必須就是功能,壓力,性能,安全,用戶體驗面面具到了。其實還是和我第一個問題說得一樣。將app結(jié)合os得特性分層進行逐個得測試或者自動化測試。關(guān)于讓用戶參與到測試中來的話。我建議可以將不同的用戶集合起來,qq或者weixin保持聯(lián)系。然后android可以定期發(fā)布內(nèi)測版本,ios可以發(fā)布testflight版本。
3.用戶反饋問題建議非常多,如何做好有效管理、分析和反饋?
Monkey:這個我相信無論哪家公司都會碰見。用戶的反饋不一定都是有效的。管理的話,我建議還是需要安排一個專門的人進行記錄。將反饋全部作為bug的一種,隨后填入bug系統(tǒng)方便跟蹤。其次關(guān)于crash或者無法重現(xiàn)的問題。就需要自己在軟件中增加自動反饋crash log的機制。包括用第三方的友盟等也可以。隨后再定期的進行l(wèi)og的分析。這些其實都不難,主要就是需要堅持,一直去做。
4.競爭產(chǎn)品很多,測試如何做競品分析?
Monkey:這個其實我并不是很在行。不過我覺得分析的話。主要有幾點。其一,核心功能的體驗。也就是說核心功能路徑長短。比如A用了3步完成B用了4步完成的功能,那么A明顯有優(yōu)勢。其二,核心功能的交互,包括用戶的學習成本。其三,場景分析,比如我們可以設(shè)計N個場景,在這N個場景中我們自己的產(chǎn)品和競爭對手的產(chǎn)品,用戶會做什么選擇。其實往往我們一設(shè)計之后就發(fā)現(xiàn),有些功能用戶根本無法理解,或者根本不用去做。自然也就沒有意義。當然分析還有很多,包括下載量,點擊數(shù),評論等等。都可以觀察。 app的測試方式我在我自己的書中會有寫。這里我簡單介紹以下。不過首先需要肯定是不是拿到手就可以測的。更多的是需要了解
a。產(chǎn)品功能feature list需要熟悉
b。需要產(chǎn)品所在的系統(tǒng)的架構(gòu)
c。需要熟悉產(chǎn)品本身的結(jié)構(gòu),本身的邏輯,包括cs結(jié)構(gòu),生命周期,api等
d。根據(jù)abc來設(shè)計測試點,測試點可以是思維導圖或者別的。但是并不需要去編寫很詳細的測試用例。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhouzetian/p/6429573.html
總結(jié)
- 上一篇: python 3.6
- 下一篇: 软件工程的实践项目课程的自我目标