如何解決移動App上架前的最后一公里?
和傳統的人工測試相比,自動化測試 具備包括節省時間和人力成本,提高效率,增加應用場景分析等等在內的優勢。所以說,目前很多初創團隊想要組建自己的專業測試團隊應該不是明智的選擇,在大 的趨勢下,眾多移動App云測試平臺拔地而起,在很大程度上已經能夠幫助App開發團隊解決測試上的瓶頸。百度移動云測試中心( MTC)不僅提供“ 自動化+人工+問卷調查”的測試組合拳之外,還 有專業的人工測試專家團隊幫助開發者解決移動測試上的難題。
12月12日,在由百度開發者中心主辦、InfoQ協辦的以“移動應用云測試,讓你的App高深可測”為主題的百度技術沙龍活動中,來自 百度開發者中心 的移動測試專家就分享了百度在移動應用云測試的相關成果和進展,以及能為當下移動應用開發熱潮做哪些實質性的推進。演講嘉賓分別是百度眾測和MTC團隊產品負責人施佳樑、百度平臺測試部高級項目經理顧昕彪,以及MSG手機百度平臺化測試部測試架構師辛建康。
移動測試行業現狀及解決方案
當前行業里移動App的開發門檻越來越低,App的種類和質量很難成正比。那么如何定義一款好的App呢?施佳樑說,當然是要具備用戶體驗高、有 逼格、沒有Bug、穩定性和兼容性都很高、用戶量大、能賺錢等等特性才好呢。但是說起來簡單做起來難,整個成型過程離不開長期積累下來的“流程、工具和標 準”的固定模式,而這些東西能夠幫助開發者以比較低的成本、較高的效率開發一款滿意的APP。
其次施佳墚還提到了,測試最終就是成本、效率和風險的權衡。目前移動App測試可以分為開發自測、專業QA測試、眾包用戶測試和真機自動化測試這 幾個類型。當然,這幾種測試方式各有利弊,既有不同類型組合完成的,也有直接外包出去的測試方式。根據公司大小以及資金多少來確定使用哪一種測試方式。
最后一點施老師提到的關于監控,App開發完、測試完發布以后,這個事情遠遠沒有結束,更多的是要關注用戶在使用產品當中到底能否正常使用,APP在使用中的性能怎樣,這些都是應用性能管理(APM)需要涉及的指標。
App質量漫談:“人工+自動+問卷”組合拳
來自百度平臺測試部高級項目經理顧昕彪首先跟大家分享了移動應用市場迅猛發展的現狀:移動應用占比上升,移動數據流量接近60%;4G用戶成倍增 長,4G網絡滲透率超過20%;Android平臺優勢明顯,智能設備普及率上升等等。這些數據完全表明一個App的質量直接影響其口碑、宣傳效果和發 展,而兼容性、性能表現和崩潰率更是App質量的直觀體現。一些數據也從側面反映出測試團隊的窘境:缺設備、缺技術、缺人。在設備、管理等硬件條件跟不上 的情況下,光靠小團隊自身的測試能力建設很難滿足App快速迭代的需要。
這個時候的一些小團隊就需要考慮使用云服務,來解決測試方面的難題。百度MTC擁有自己的質量積累,通過測試以及數據上的移動應用質量標準,通過 不同的維度對外部APP進行自動化測試。MTC的殺手锏“自動化+人工測+問卷調查”所具備的優勢包括支持Android和iOS,覆蓋10000+主流 終端機型,1000+測試專員,能夠為百度140多條移動應用產品線提供長期穩定的測試服務。同時顧昕彪也提到,App質量本身分為VE(驗證)和 VA(確認)兩個方面,僅僅靠自動化測試只能提高部分測試的效率,并不能完全替代人在測試里的作用。很多App雖然功能正確,但并未真正滿足用戶的需求, 導致他們的發展受到了阻礙。為此,百度MTC專門提供了人工測試和問卷調研服務,通過用戶的真實反饋為開發者提供有效的判斷依據。
移動插件系統的質量保證
隨著移動互聯網一步步向各個傳統行業滲透,移動化互聯網的產業需求正前所未有的侵襲而來。由于業務線的融合,來自企業內部和外部的業務接入,如何 快速有效的集成接入,內外部開發人員一致的協同開發,實現這一系列點需求的同時,又能對主APP安全保證,質量把控,這就需要移動平臺插件化開發模式來解 決這一問題。
辛建康也介紹了插件系統目前遇到的質量挑戰:宿主兼容性(類沖突、崩潰handler注冊、公共SDK使用沖突)、性能&兼容性(穩定性 問題、多進程、OS兼容性)和業務效率(對接插件方多,測試能力參次不齊;插件化模塊Bug多,穩定性問題頻出…)。面對這些質量挑戰,解決方案肯定是有 的,通過云監控收集,利用線上強大的分布式參數系統存儲大量用戶日志,將已配好的code在某一時間把日志摳出來就完成整個動態模塊或者插件的下發。通過 MTC這種非常強大的動態線下測試,可以保證用戶基本功能在線下測試階段是OK的。
有參會者提問說,如果宿主和插件在同一個進程內,插件異常怎么才能不影響宿主?辛建康回答說,插件本身性能問題不大,關鍵是為什么插件可以承擔宿 主做不到的事情。因為很多技術手段不能放在宿主里,放在宿主里可能有性能問題、穩定性問題就會造成大面積的問題。但是插件系統下,最大的問題是在于使用不 當導致崩潰,可性能比較好,崩潰的時候里面有一套自我恢復系統,當發現有崩潰或者很多監控報警時,跟異常相關的監控會直接推動對應插件回滾,退化到H5, 所以安全穩定性上是沒有問題的,同時盡可能的保證用戶體驗。
寫在最后
像谷歌、蘋果、微軟等一些大的互聯網公司都是非常重視移動應用測試的,百度在這一方面的投入相對也是巨大的,正如前面所提到的, MTC 主要是針對包括人工、自動化、性能、監控的廣義測試為開發者開發App必須的工具,這也是為了更好迎合市場的需求。在最后的圓桌論壇上,有參會者問到由于 手機系統和網絡狀況的不同,如何減少對測試結果的影響程度?顧昕彪回答說,MTC很早以前就已經開始關注并著力解決這樣的問題,在產品誕生之前每個移動端 產品都有可能會面臨這種問題,主要歸咎于手機型號和網絡強度等原因。MTC平臺則會做一些在信號很差、電量低之類條件下的模擬測試,為App打造最專業的 測試流程,對于初創團隊來說是一件事半功倍的好事。