移動app測試淺析


移動App測試淺析

 

1. 移動App測試的現狀及其挑戰

移動互聯網走到今天,App寡頭化的趨勢已經越來越明顯,同時用戶的口味越來越高,這對移動App開發者提出了更高的要求。幾年前可能你有一個創意,隨便做一個App,就算功能簡單,Bug很多,也會有不少用戶會使用,因為當時的選擇少。而現在,如果App的質量不過關,體驗不好,還經常崩潰閃退的話,會被好不容易獲得的用戶立刻卸載掉。這就要求開發者對於App的測試越來越重視,而App的測試和傳統測試相比,面臨更多挑戰:

 

  • App迭代速度快,測試時間少。

 

現在的App迭代速度非常快,通常一個月一個大版本,兩周一個小版本,而開發人員水平參差不齊,基本上都是臨近發布前才能提供可測試的版本,給測試人員留出的時間非常有限,這就直接導致了測試人員可能無法對App進行全面的測試,根本無法保證App的質量,所以我們經常看到很多App帶着Bug就上線了。

 

  • App測試的准確性和問題追蹤難以保證。

 

據統計,由於缺乏真實環境下的用戶場景,App測試遺漏環節高達20-50%。由於測試人員本身不專業,同時缺乏通用的App測試工具,導致很多App發生了崩潰嚴重問題時,測試人員很難提供給開發人員精准的崩潰日志,讓開發者無法精確定位問題和分析問題。

 

  • 手機機型分裂越來越嚴重,App兼容問題突出。

 

目前安卓機型有幾千款之多,加上各種操作系統版本、各種屏幕尺寸、各種廠家自定義ROM,給App帶來了嚴重的兼容適配問題。而隨着蘋果發布新機的節奏在加快,以及iOS版本不斷更新,iOS上的兼容適配問題也開始增多。App的測試人員沒有時間,沒有能力在所有機型上驗證App是否可以正常運行,大多數情況只能挑幾個手頭能找到的機型做簡單的驗證測試,就草草進行發布上線,結果在最終用戶手機上出現各種意想不到的適配問題。 

2. 移動App測試的幾個階段

 

如上圖所示,移動App測試根據產品不同階段分為以下幾個階段:

 

  • 功能測試

 

App代碼開發完成后,會進入內測階段,團隊內部測試人員會進行功能驗證,有能力的團隊除了人工黑盒測試外,還會使用自動化工具進行集成測試。

 

  • 體驗測試

 

功能驗證通過后,可以引入真實用戶進行體驗測試,根據用戶的真實反饋快速響應,迅速調整App的功能。

 

  • 兼容測試

 

由於目前App在不同手機上可能存在嚴重的兼容適配問題,進行大版本迭代,或App底層框架有所調整時,需要進行兼容測試,確保App在絕大多數手機上能夠正常運行。購買市面上所有手機來一個個進行測試,無論從時間上還是成本上來說,對普通開發者都是難以承受的,現在市面上已經有不少SAAS服務可以使用,如Testin提供的兼容測試服務。

 

  • 質量監控

 

真實環境的復雜,用戶行為的不可預知,導致再完美的測試,也不能保證App沒有Bug,所以App上線后的質量監控就尤為重要,這時就需要使用質量監控工具,第一時間掌握App在用戶側真實發生的各種崩潰閃退等問題。

接下來我們就以上不同階段具體講講移動App測試都是怎么做的。

3. 不同於傳統測試的App功能測試

3.1. 從傳統到現在的用例測試

App功能測試一般是團隊內部人員執行,通常進行的都是黑盒測試。目前研發團隊逐漸通過執行用例測試的方式來完成App基本功能的測試。用例測試的意義在於使得測試有針對性和目標,測試點可以量化,測試行為可以控制。

App的用例測試是從傳統軟件測試繼承下來,早期的測試用例通常比較簡單和隨意,只是對功能或使用場景做了簡單的羅列,較少考慮功能的覆蓋,顆粒度大小等問題。而現在的測試用例會越來越多的考慮測試覆蓋率,缺陷的發現,和執行的效率等方面的影響。

具體的測試用例設計方法包括等價類划分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法、場景法等,測試人員可以根據實際情況來量體裁衣。

App測試通常會進行以下幾個必測項目:UI測試核對RP/效果圖;功能測試核對需求文檔編寫測試用例覆蓋全部的功能點,對照需求文檔逐一完成驗證。這類工作通常都是純手工進行的,測試者需要維護好App的測試用例,隨着App的功能迭代,不斷更新App的測試用例,並定期進行全用例測試,保證用例覆蓋度以確保App的每個功能點的正確運行。

3.2. 移動App的自動化測試

在App功能測試中,對於一些固定的用例執行,可以使用自動化測試工具,通過編寫自動化測試腳本來執行,減少人員的重復勞動,提高整個測試的效率。

自動化測試分為ui自動化,接口自動化,性能自動化,安全自動化。從流程來說不搭配持續集成的話就不能稱為全流程自動化,持續集成包括的不止是自動化測試,還包括環境部署和開發打包等環節。做自動化測試時,可能測試腳本可以做的很好,但是持續集成不是一個測試或者一個測試團隊能做好的,需要一個有決策力的人推動才能完成。而目前國內App開發團隊的領導人對移動App的自動化測試支持有限。

同時App由於迭代速度快,機型多,這就對測試腳本維護提出了很高的要求,又由於自動化測試腳本的代碼覆蓋度不夠,所以即使有了自動化測試,人工參與的功能測試工作量依然很大,這也導致了目前國內App自動化測試整體程度不高,只有部分大廠才有能力簡歷App的自動化測試團隊,而一般的中小開發團隊,自動化測試能力基本為0。

目前市面的App自動化測試工具不多,主要是國外的一些自動化測試工具,下面是App自動化測試工具對比:

4. App開發者應如何開展內測

關於App測試,App開發者需要提前做計划,一個好的商業分析、清楚的目標用戶群體以及大量的測試可以有效降低App“無人問津”和差評不斷的幾率。在把App正式發布到最終用戶手上之前,開發者得盡可能保證它是完美沒有瑕疵的。通常來說內測階段分為幾個環節:

 

  • 開發團隊內部流程測試

 

此階段主要由開發人員來完成檢查APP邏輯連貫性每個功能模塊是否按照需求可以跑通,核心功能點能力是否實現。注重於測試軟件的功能需求,功能不正確或遺漏;界面錯誤;輸入和輸出錯誤;數據庫訪問錯誤;性能錯誤;初始化和終止錯誤等。

 

  • 測試人員介入測試環境測試

 

開發人員在完成內部邏輯驗證后會搭建測試環境供測試者來在測試環境下完成內測。這個測試人員有可能是專職的測試者,也有些團隊是動用公司的其他人力資源來完成,如產品經理和老板其他同事,不管是哪些人來完成測試,測試行為必須能夠加以量化,才能真正保證軟件質量,而測試用例就是將測試行為具體量化的方法之一。

 

  • 目標用戶引入灰度測試

 

在開發團隊和測試團隊完成內部測試后,采用小范圍用戶測試的方式可以在最小的成本下驗證App對目標用戶的接受程度,需要做好用戶反饋收集的渠道,調查問卷、App中加入吐槽反饋功能、用戶交流群、都是常用的收集反饋的渠道。

移動App測試過程中,由於迭代速度快,App包更新頻繁,開發人員和測試人員之間沒有很好的工具進行App的傳送。

此外在App測試中,提交Bug時截圖上傳比較麻煩,獲取App日志需要專門工具,這些對於測試人員已經比較困難,對於引入的灰度測試用戶更是難於登天。

Testin提供的專業的App內測工具:pre.im主要就是解決以上內測中問題:

只需一步上傳,即可生成應用短地址,解決開發人員和測試人員之間傳包的問題。

完善的版本記錄,方便管理快速迭代的各種App版本。

強大的內測專用SDK,測試者不需要使用任何工具,只需要在出現Bug時搖一搖手機,即可自動完成Bug截屏,並讀取當時App的運行Log、內存、CPU等信息,連同Bug截圖和描述一同提交給開發者,幫助開發者更精准定位問題。

5. 發布后的App質量監控

真實環境的復雜,用戶行為的不可預知,導致再完美的測試,也不能保證App沒有Bug,所以App上線后的質量監控就尤為重要,這時就需要使用質量監控工具,第一時間掌握App在用戶側真實發生的各種崩潰閃退等問題。

對於開發者來講,最頭疼的問題就是App用戶反饋自己手機上出現了崩潰,卻始終無法提供具體的崩潰信息,結果開發者明知道問題存在,卻只能眼睜睜看着用戶流失。

大量的App花費了巨大的市場和研發資源投入,卻在應用上線后“裸奔”,它意味着開發者不能第一時間發現應用在運行過程中出現的各類質量問題,如崩潰、閃退、內存泄露等問題,而此時用戶卻對這些不佳的產品體驗深惡痛絕。

一個好消息是,目前市面上已經有不少專門解決質量監控的工具可以供開發者使用,如友盟就在其SDK中集成了錯誤捕捉的功能,而對崩潰定位要求較高的開發者也可以使用Testin的崩潰分析SDK,實時收集App在不同環境下的產品體驗,從網絡、版本、渠道、運營商、設備五個維度深入分析用戶的使用情況,幫助開發者快速定位並解決崩潰、閃退、異常等問題,優化App性能,提高App的用戶體驗和質量,降低用戶流失率。

Testin的崩潰分析SDK目前和Pre.im的內測SDK已經進行深度融合,開發者只需嵌入一個SDK,即可完成從內測階段的問題收集到App發布后的質量監控,而這個SDK的接入成本較低,只需要修改一行代碼,三分鍾內完成嵌入。

6. 結語

移動App體驗和質量要求越來越高的今天,希望開發者更加重視App的測試,提高程序員對測試的重視,將測試集成到整個開發流程中,同時多采用各類測試工具或服務,進一步提高開發效率和保證App質量。

把生命浪費在美好的事物上,而不是枯燥的測試。


【活動預告】 2015年11月18日,由CSDN主辦的2015開發工具及服務年度大獎評選活動正式啟動。近兩年,開發工具及服務不斷涌現,從雲服務、即時通訊、安全到統計監測、人工智能、物聯網平台等。CSDN將通過公開征集,並結合平台內用戶數據采集分析,評選出CSDN 2015開發工具及服務年度大獎。趕快為你的開發工具與服務報名參與評選吧。更多詳情,請關注評選活動官網


作者簡介:

徐琨,Testin雲測總裁。80后,國內第一代移動互聯網公司PICA創始成員,曾任PICA技術副總裁;后作為千萬人在線的即時通信系統架構師,領導開發了移動社交平台移動139社區;2011年創辦主打HTML5游戲的北京山水地信息有限公司,出品H5游戲《小鳥情人》,是中國H5手游領域探索的先行者;2014年加入Testin雲測,歷任CTO、總裁等職。徐琨畢業於長春理工大學,擁有計算機學士學位

 

頂 
  
踩 
  • 相關文章
  • 最新報道
 

 
  • CSDN官方微信
  • 掃描二維碼,向CSDN吐槽
  • 微信號:CSDNnew
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM