摘要:由于測試環(huán)境中的數(shù)據(jù)為模擬數(shù)據(jù),測試時(shí)必須預(yù)先考慮到正式環(huán)境中可能出現(xiàn)的數(shù)據(jù)類型。并在之后的測試報(bào)告中予以體現(xiàn)。只有在回歸測試通過之后,才對(duì)產(chǎn)品進(jìn)行提交。測試工具歸納是蘋果自帶的工具,肯定比較好用。
前言:
最近跟很多同行討論過,現(xiàn)在也想和大家聊聊,我這里還有一些APP測試的具體指標(biāo),希望通過自己很有限的經(jīng)驗(yàn)幫助大家。內(nèi)容中部分是可以百度到,部分是我自己的一些看法,歡迎大家補(bǔ)充。
2016/1/27
雖然近幾年有大量的測試人員加入到測試這個(gè)行業(yè),社會(huì)中的各種培訓(xùn)機(jī)構(gòu)、學(xué)習(xí)網(wǎng)站、交流社區(qū)也越來越多,但是能真正認(rèn)真做測試的公司仍然不多,這里說的“認(rèn)真”并不是一次精準(zhǔn)細(xì)致的測試或者說短時(shí)間內(nèi)的測試,而是指對(duì)一款A(yù)PP的生長過程中的無數(shù)次測試,隨著環(huán)境的改變而做出不同的測試。
我們都知道任何App要想在蘋果的AppStore上架,都需要經(jīng)過蘋果的審核員的審核,不管你是世界五百強(qiáng)的大公司,還是小作坊,都會(huì)一視同仁,絕無例外。如果你的App沒有經(jīng)過良好的測試,被審核員發(fā)現(xiàn)有閃退、崩潰或者其他嚴(yán)重質(zhì)量問題,他們會(huì)毫不猶豫地拒絕你的App。而你則需要修改App,重新提交,這往往就意味著再等7~8天的排隊(duì)才有機(jī)會(huì)被審核。如果你的運(yùn)氣好,Bug沒有被審核員發(fā)現(xiàn),或者說,在審核員審核的環(huán)境下,你的App表現(xiàn)良好,你的App就成功上架了。但是如果它在用戶的iPhone/iPad上面發(fā)生閃退、崩潰,等等,其實(shí)你會(huì)更倒霉。因?yàn)閼嵟挠脩魰?huì)迅速讓你收獲大量的1星,即使你好不容易做了一年的好評(píng)度,也會(huì)一下子跌落谷底。如果你熟悉AppStore的話,就知道這往往意味著你的下載量將一落千丈,你的App也有可能從此無人問津。所以,對(duì)iOS開發(fā)者強(qiáng)調(diào)測試的重要性,我覺得說100遍、1萬遍都不嫌多,都有其現(xiàn)實(shí)意義。但是為什么還有那么多團(tuán)隊(duì)和個(gè)人開發(fā)者沒有進(jìn)行完善的測試呢?懶、僥幸心理、怕麻煩一定是少不了的。還有,我覺得就是一般的入門書、教程,甚至包括蘋果的官方文檔,講到的測試部分都太簡單,缺乏可操作性。 我給大家推薦一本專注于iOS測試領(lǐng)域的書,書名為《iOS 測試指南》,作者是羋峮。書中的內(nèi)容很具體,也很實(shí)用,從基本的講到iOS環(huán)境再講到iOS的持續(xù)集成,使我受益匪淺。
A.測試周期
測試周期一般為兩周,根據(jù)項(xiàng)目情況以及版本質(zhì)量可適當(dāng)縮短或延長測試時(shí)間。正式測試前先向主管或產(chǎn)品經(jīng)理確認(rèn)項(xiàng)目排期。
B.測試資源
測試任務(wù)開始前,檢查各項(xiàng)測試資源。
產(chǎn)品功能需求文檔
產(chǎn)品原型圖
產(chǎn)品效果圖
行為統(tǒng)計(jì)分析定義文檔
測試設(shè)備(ios3.1.3-ios5.0.1)
其他(例如有秒殺專題的項(xiàng)目,需要規(guī)劃秒殺時(shí)間表;有優(yōu)惠券使用的項(xiàng)目,需要申請(qǐng)?zhí)砑觾?yōu)惠券數(shù)據(jù);支付寶/銀聯(lián)支付功能的項(xiàng)目,需要提前申請(qǐng)支付寶/銀聯(lián)賬戶等等)
C.測試要點(diǎn)
接收版本
本人覺得,這個(gè)過程可以直接略過。非專業(yè)測試者,不喜勿拍。
UI測試
確保手頭的原型圖與效果圖為當(dāng)前最新版本。
確保產(chǎn)品UI符合產(chǎn)品經(jīng)理制定的原型圖與效果圖。
一切界面問題以效果圖為準(zhǔn),若有用戶體驗(yàn)方面的建議,必須先以郵件或口頭的形式詢問產(chǎn)品經(jīng)理。
由于測試環(huán)境中的數(shù)據(jù)為模擬數(shù)據(jù),測試時(shí)必須預(yù)先考慮到正式環(huán)境中可能出現(xiàn)的數(shù)據(jù)類型。
功能測試
確保手頭的功能需求文檔為當(dāng)前最新版本。
確保所有的軟件功能都已實(shí)現(xiàn)且邏輯正常。
一切功能問題以需求文檔為準(zhǔn),若有用戶體驗(yàn)方面的建議,必須先以郵件或口頭的形式詢問產(chǎn)品經(jīng)理。個(gè)人建議,用戶體驗(yàn)方面的建議,優(yōu)先級(jí)放在修復(fù)bug之后。
若有些功能在技術(shù)上難以實(shí)現(xiàn)或者由于排期的原因無法在短時(shí)間內(nèi)實(shí)現(xiàn),必須得到產(chǎn)品經(jīng)理的確認(rèn),而不是單單只聽開發(fā)人員的技術(shù)解釋。此處確認(rèn)最好以郵件形式存在。
所有的“外部原因”問題,都需要盡早地督促開發(fā)人員與客戶服務(wù)端人員聯(lián)系協(xié)調(diào)解決。并在之后的測試報(bào)告中予以體現(xiàn)。
所有的“設(shè)計(jì)如此”、“延期處理”問題,都需要和產(chǎn)品經(jīng)理確認(rèn)后再進(jìn)行驗(yàn)證。并在之后的測試報(bào)告中予以體現(xiàn)。
測試下單時(shí),注冊(cè)的測試賬號(hào)必須符合公司規(guī)范;收貨地址必須包含“測試”關(guān)鍵字,最好每次下單的名稱中含有日期,以便查詢;在正式環(huán)境中下單后必須取消該訂單等。
兼容測試/性能測試
確保軟件在所有兼容機(jī)型上都能正常使用(ios一般需要兼容7或者6, ios5可以不用考慮,用戶使用率已經(jīng)低于5%以下)
對(duì)于低端性能兼容機(jī)上獨(dú)有的問題(例如ios5以下),若在技術(shù)上難以修改或者由于排期的原因無法在短時(shí)間內(nèi)改進(jìn),必須在測試日?qǐng)?bào)中注明,并得到技術(shù)平臺(tái)主管、產(chǎn)品經(jīng)理以及運(yùn)營人員的確認(rèn),最好以郵件的形式得到確認(rèn)。
性能測試方面必須滿足硬件壓力條件下的測試需要(例如多線程,用戶常用的app都要后臺(tái)運(yùn)行的環(huán)境中測試。)
網(wǎng)絡(luò)響應(yīng)用戶體驗(yàn)方面的性能測試,需要保證在wifi、3g、2g網(wǎng)絡(luò)下的切換效果。比如wifi切換到2g,網(wǎng)絡(luò)響應(yīng)的速度以及切換界面。
后臺(tái)訂單統(tǒng)計(jì)測試
核對(duì)“客戶端相關(guān)啟動(dòng)查詢”項(xiàng),此項(xiàng)數(shù)據(jù)就是經(jīng)常說的“激活量”,非常重要。測試時(shí)必須保證該項(xiàng)中的各數(shù)據(jù)均正確,且每次啟動(dòng)軟件都會(huì)有相應(yīng)的統(tǒng)計(jì)記錄。
核對(duì)“訂單查詢”項(xiàng),測試時(shí)必須保證各數(shù)據(jù)均正確,且每次成功下單后都會(huì)有相應(yīng)的統(tǒng)計(jì)記錄。
需要注意的是,在成功下單之后,后臺(tái)會(huì)做判斷將該訂單劃到測試訂單范圍,測試人員必須到“訂單查詢(測試)”模塊中核對(duì)訂單統(tǒng)計(jì)記錄信息。
用戶行為統(tǒng)計(jì)測試
確保手頭的行為統(tǒng)計(jì)分析定義文檔為最新版本,且與開發(fā)人員手中的文檔一致。
確保產(chǎn)品經(jīng)理在文檔中所定義的頁面在該產(chǎn)品中都是存在的。
盡可能真實(shí)地模擬用戶行為。
核對(duì)統(tǒng)計(jì)日志,確保各項(xiàng)操作所對(duì)應(yīng)的頁面ID以及操作ID都是正確的。
回歸測試
軟件最終上線前,需對(duì)產(chǎn)品進(jìn)行回歸測試,測試內(nèi)容包含之前所有的測試項(xiàng)目
回歸測試不再對(duì)細(xì)節(jié)進(jìn)行測試,而是類似于對(duì)產(chǎn)品進(jìn)行驗(yàn)收,從客戶正常使用的角度對(duì)產(chǎn)品進(jìn)行再一輪的整體測試。
只有在回歸測試通過之后,才對(duì)產(chǎn)品進(jìn)行提交。
D.測試日?qǐng)?bào)及產(chǎn)品上線報(bào)告
測試人員每天需對(duì)所測項(xiàng)目發(fā)送測試日?qǐng)?bào)。
測試日?qǐng)?bào)所包含的內(nèi)容為:
對(duì)當(dāng)前測試版本質(zhì)量進(jìn)行分級(jí)。
對(duì)較嚴(yán)重的問題進(jìn)行例舉,提示開發(fā)人員優(yōu)先修改。
對(duì)版本的整體情況進(jìn)行評(píng)估。
(產(chǎn)品上線前,測試人員發(fā)送產(chǎn)品上線報(bào)告)
在不應(yīng)該返回的時(shí)候返回了
不耐心而且多次敲按鍵;
輸入錯(cuò)誤的數(shù)據(jù);
不理解該怎么做;
可能沒有按要求進(jìn)行設(shè)置;
可能會(huì)自以為是地認(rèn)為自己知道該怎做什么(比如通常不閱讀說明)。
測試人員遇到這些問題時(shí),也常常發(fā)現(xiàn)意料之外的Bug。有時(shí)候,這些Bug微不足道,但是更深入的調(diào)查就會(huì)發(fā)現(xiàn)更嚴(yán)重的問題。
很多問題是可以被預(yù)先確定和測試的。測試移動(dòng)端App時(shí),以下的問題并不都有關(guān),但是也可以嘗試問問:
是否按照所說的來做呢?
是按設(shè)計(jì)完成任務(wù)的嗎?
不是按設(shè)計(jì)完成任務(wù)的嗎?
如果處于一直被使用或者負(fù)荷情況下,狀況會(huì)怎么樣?會(huì)反應(yīng)遲鈍嗎?會(huì)崩潰嗎?會(huì)更新嗎?有反饋嗎?
崩潰報(bào)告會(huì)反饋到App嗎?
用戶可能有哪些創(chuàng)造性的、邏輯性的或是消極的導(dǎo)航方式?用戶相信你的品牌嗎?
用戶的數(shù)據(jù)安全如何?
有可能被中斷或是被破解嗎?
運(yùn)行到極限時(shí)會(huì)發(fā)生什么狀況?
會(huì)要求打開相關(guān)服務(wù)嗎(如GPS、Wi-Fi)?如果用戶打開會(huì)怎樣?沒打開又會(huì)怎樣?
將用戶重新引向哪兒?去網(wǎng)頁?還是從網(wǎng)頁到App?這會(huì)導(dǎo)致問題出現(xiàn)嗎?
溝通過程和市場反饋是否符合該App的功能、設(shè)計(jì)和內(nèi)容?
登錄流程是怎樣的?能在App上直接登錄還是要去網(wǎng)頁端?
登錄是否整合了其他服務(wù),比如用Facebook和Twitter帳號(hào)登錄?
可能的是用戶或者是軟件開發(fā)人員在信息流中確實(shí)太容易迷惑了,因?yàn)榭赡軙?huì)出現(xiàn)很多錯(cuò)誤,所以基于數(shù)據(jù)和云的服務(wù)更為重要。
也許你可以嘗試在以下場景中檢查出問題:
移動(dòng)設(shè)備數(shù)據(jù)已滿;
測試人員移除了所有的數(shù)據(jù);
測試人員刪除了App,那數(shù)據(jù)怎么辦?
測試人員刪除并重裝了App,數(shù)據(jù)怎么辦?
過多或者過少的內(nèi)容導(dǎo)致設(shè)計(jì)和布局的改變;
在不同的時(shí)間段和時(shí)區(qū)使用;
數(shù)據(jù)不同步;
同步被中斷;
數(shù)據(jù)更新影響其他的服務(wù)(比如網(wǎng)頁和云端服務(wù));
快速處理數(shù)據(jù)或是處理大量的數(shù)據(jù);
使用無效的數(shù)據(jù)
這只是無數(shù)測試過程中需要測試者需要去解決的很小一部分,大家心里也都知道很多,篇幅有限就不過多的說了。
測試工具歸納:UIAutomation是蘋果xcode自帶的工具,肯定比較好用。連上手機(jī)(簽名的app或者越獄debug包)就可以進(jìn)行自動(dòng)化測試了。
appium,它原理就是通過selenium的webdriver移植過來的,現(xiàn)在也可以驅(qū)動(dòng)UIAutomation進(jìn)行自動(dòng)化測試,優(yōu)點(diǎn)是可以用任何語言開發(fā),但是工具本身bug多,容易假死。
所以最好這兩個(gè)工具都會(huì)用。
另外如果你是開發(fā)者,沒有完成專業(yè)測試的條件,因?yàn)檫@需要極大的硬件與人力成本。在共享經(jīng)濟(jì)與協(xié)作開放的時(shí)代,開發(fā)者可以嘗試從第三方來進(jìn)行應(yīng)用測試,繼而發(fā)現(xiàn)應(yīng)用的不足之處,及時(shí)完善產(chǎn)品質(zhì)量,加速上線審核。讓專業(yè)的人做專業(yè)的事,別讓莫名其妙的bug拖延你寶貴的上線時(shí)間。這方面的話做的人很多,我不過多介紹了,只給大家推薦一個(gè)Testbird云測在測試領(lǐng)域是做得很好的一家。
Testbird云測 (致力于APP移動(dòng)應(yīng)用測試的專家)
最后:之前看過一篇講測試的文章,其中有一段我認(rèn)為講的非常好,這里引用一下
測試不是對(duì)錯(cuò)判斷
我們討論了移動(dòng)測試的一些方面,但這些前提是:帶著問題,才能發(fā)現(xiàn)問題。
通常,測試被認(rèn)為是完全合乎邏輯的、可計(jì)劃的和可預(yù)測的,過程包括:測試腳本和測試計(jì)劃、通過和失敗、正確和錯(cuò)誤的反饋。走完這些測試流程就離真相不遠(yuǎn)了。
當(dāng)然,如果必要,我們可以用上述方法進(jìn)行測試,但這并不是測試的目的。我們不僅是為了創(chuàng)建測試用例、發(fā)現(xiàn)Bug,更重要的是找到關(guān)鍵的問題,為項(xiàng)目組決定什么時(shí)候發(fā)布App提供有價(jià)值的信息。而找到那些關(guān)鍵問題的最好方法就是:提問!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/8716.html
閱讀 3571·2021-11-18 13:22
閱讀 2580·2021-09-23 11:53
閱讀 754·2019-08-30 13:17
閱讀 1390·2019-08-30 13:12
閱讀 920·2019-08-29 15:43
閱讀 1123·2019-08-29 12:53
閱讀 2849·2019-08-26 18:27
閱讀 1522·2019-08-26 11:52