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