1. 移動App測試的現狀及其挑戰
移動互聯網走到今天,App寡頭化的趨勢已經越來越明顯,同時用戶的口味越來越高,這對移動App開發者提出了更高的要求。幾年前可能你有一個創意,隨便做一個App,就算功能簡單,Bug很多,也會有不少用戶會使用,因為當時的選擇少。而現在,如果App的質量不過關,體驗不好,還經常崩潰閃退的話,會被好不容易獲得的用戶立刻卸載掉。這就要求開發者對于App的測試越來越重視,而App的測試和傳統測試相比,面臨更多挑戰:
·App迭代速度快,測試時間少
現在的App迭代速度非?欤ǔR粋月一個大版本,兩周一個小版本。而開發人員水平參差不齊,基本上都是臨近發布前才能提供可測試的版本,給測試人員留出的時間非常有限。這就直接導致了測試人員可能無法對App進行全面的測試,根本無法保證App的質量,所以我們經?吹胶芏郃pp帶著Bug就上線了。
·App測試的準確性和問題追蹤難以保證
據統計,由于缺乏真實環境下的用戶場景,App測試遺漏環節高達20-50%。由于測試人員本身不專業,同時缺乏通用的App測試工具,導致很多App發生了崩潰嚴重問題時,測試人員很難提供給開發人員精準的崩潰日志,讓開發者無法精確定位問題和分析問題。
·手機機型分裂越來越嚴重,App兼容問題突出
目前Android機型有幾千款之多,加上各種操作系統版本、各種屏幕尺寸、各種廠家自定義ROM,給App帶來了嚴重的兼容適配問題。而隨著蘋果發布新機的節奏在加快,以及iOS版本不斷更新,iOS上的兼容適配問題也開始增多。App的測試人員沒有時間,沒有能力在所有機型上驗證App是否可以正常運行,大多數情況只能挑幾個手頭能找到的機型做簡單的驗證測試,就草草發布上線,結果可想而知,就是在最終用戶手機上出現各種意想不到的適配問題。
2. 移動App測試的幾個階段
如上圖所示,移動App測試根據產品不同階段分為以下幾個階段:
·功能測試
App代碼開發完成后,會進入內測階段。團隊內部測試人員會進行功能驗證,有能力的團隊除了人工黑盒測試外,還會使用自動化工具進行集成測試。
·體驗測試
功能驗證通過后,可以引入真實用戶進行體驗測試,根據用戶的真實反饋快速響應,迅速調整App的功能。
·兼容測試
由于目前App在不同手機上可能存在嚴重的兼容適配問題,進行大版本迭代,或App底層框架有所調整時,需要進行兼容測試,確保App在絕大多數手機上能夠正常運行。購買市面上所有手機來一個個進行測試,無論從時間上還是成本上來說,對普通開發者都是難以承受的。也正因如此,市面上出現了許多第三方服務來幫助開發者們完成兼容性測試。
·質量監控
真實環境的復雜,用戶行為的不可預知,導致再完美的測試也不能保證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邏輯連貫性每個功能模塊是否按照需求可以跑通,核心功能點能力是否實現。注重于測試軟件的功能需求,功能不正確或遺漏;界面錯誤;輸入和輸出錯誤;數據庫訪問錯誤;性能錯誤;初始化和終止錯誤等。
·測試人員介入測試環境測試
開發人員在完成內部邏輯驗證后,會搭建測試環境供測試者來在測試環境下完成內測。這個測試人員有可能是專職的測試者,也有些團隊是動用公司的其他人力資源來完成,如產品經理、BOSS或其他同事。不管是哪些人來完成測試,測試行為必須加以量化,才能真正保證軟件質量,而測試用例就是將測試行為具體量化的方法之一。
·目標用戶引入灰度測試
在開發團隊和測試團隊完成內部測試后,采用小范圍用戶測試的方式可以在最小的成本下驗證App對目標用戶的接受程度。這時需要做好用戶反饋收集的渠道,常見的渠道有調查問卷、App中加入吐槽反饋功能、用戶交流群等。
移動App測試過程中,由于迭代速度快,App包更新頻繁,開發人員和測試人員之間沒有很好的工具進行App傳送。此外,提交Bug時截圖上傳比較麻煩,獲取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的用戶體驗和質量,降低用戶流失率。
6.結語
移動App體驗和質量要求越來越高的今天,希望開發者更加重視App的測試,提高程序員對測試的重視,將測試集成到整個開發流程中,同時多采用各類測試工具或服務,進一步提高開發效率和保證App質量。
作者簡介:徐琨,Testin云測總裁。80后,國內第一代移動互聯網公司PICA創始成員,曾任PICA技術副總裁;后作為千萬人在線的即時通信系統架構師,領導開發了移動社交平臺移動139社區;2011年創辦主打HTML5游戲的北京山水地信息有限公司,出品H5游戲《小鳥情人》,是中國H5手游領域探索的先行者;2014年加入Testin云測,歷任CTO、總裁等職。徐琨畢業于長春理工大學,擁有計算機學士學位。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:移動測試:應用上線不“裸奔”的正確方式
本文網址:http://www.guhuozai8.cn/html/consultation/10839318947.html