最近幾年,移動互聯網高速發展,現在我們已經可以"隨時、隨地、隨心"地享受到互聯網給我們生活帶來的改變。比如:手機淘寶上隨時可以購物,滴滴一下司機就到樓下來接你等等。
據QuestMobile數據統計,截止到2017年12月,中國移動互聯網用戶數已經上升至10.85億。移動支付用戶規模從2016年的5.78億增加到7.26億。移動互聯網,已經覆蓋中國絕大部分的人口。
但是,整個智能手機市場,呈現高度的碎片化。安卓有600多款機型,iOS有70多款機型,總計在700款機型左右。如何保障應用在700款不同機型、不同分辨率、不同操作系統版本上的質量,對任何一家,APP在百萬級別以上規模的公司,都是巨大的挑戰。
如何快速的覆蓋大部分機型,保證機型的兼容、穩定?如何在上線前,快速的實現冒煙測試,迴歸全部的功能?這些都是依靠幾個人工,無法解決的問題。借用MQC測試平臺,能很好的解決這一問題。
而在通常的第三方測試平臺,常見的兼容性測試比較容易。但是,當遭遇到功能測試後,由於業務的複雜性,測試業務更多的依賴人工寫腳本來解決這一問題。有沒有更好的辦法,能改進功能測試,提升效率,降低成本呢?當然是有的,我們在MQC專有云測試平臺內,提供了“二次開發”的能力,能有效改善在功能測試中的問題。
一、什麼是“二次開發”?
“二次開發”是擴展平臺的測試,滿足自身特有的測試業務需要的能力,是對開發者的賦能。
“二次開發”本質是在複雜的的業務場景中,找到不變的內容,讓客戶能基於這些不變的內容,組合出自己的業務流程。
在公司內,使用第三方測試的人員,主要是測試人員和測試開發人員,都具備一定的寫代碼的能力,所以提供這樣的擴展能力,能幫助相關人員進一步發揮自身的想象力,為公司的質量保障添磚加瓦。
那什麼是變化中的“不變化”呢?列舉如下:
(1)測試終端類型,比如是Android和iOS;
(2)測試參數設定,通常有文本輸入、有限選擇項目、文件等;
(3)流程設定腳本,包括啟動的主腳本和其它具體執行的腳本,該部分需要客戶寫腳本;
(4)測試產生的數據結構,是可以相對固定的。
主要的難點,集中在流程腳本的書寫。關於這一點,我們提供了一些腳本樣例和腳本書寫說明,幫助開發者快速上手。同時,我們也提供專家培訓服務,手把手幫助一些開發能力較弱的團隊儘快具備使用二次開發的能力。
我們設計的業務截圖如下:
構建完成後,呈現出的提測效果圖如下所示:
二、為什麼需要“二次開發”?
提供給客戶的測試能力,主要情況如下:
<p data-lake-id="d2ca2b13fbeecfcac68e0d0f49a6a776" style="font-size: 14px; color: rgb(38, 38, 38); line-height: 1.74; letter-spacing: 0.05em; outline-style: none; overflow-wrap: break-word; margin: 0px;">(1)Android平臺包括兼容、功能、深度性能測試;</p> <p data-lake-id="5c1f1fc241ea5c39ef70c3209b31efae" style="font-size: 14px; color: rgb(38, 38, 38); line-height: 1.74; letter-spacing: 0.05em; outline-style: none; overflow-wrap: break-word; margin: 0px;">(2)iOS包括兼容、深度性能測試.</p>
但是這些能力,是比較通用的能力。對於特殊的業務需求,也有辦法可以進行滿足,但是體驗還不夠好。
2.1、自定義測試流程
用戶可以根據自己的業務情況,對手機進行完全的控制。比如,藉助系統自定義完成:安裝-啟動-運行-靜默-運行-靜默-卸載的流程。
這樣可以大大提升專有云測試系統,對實際更為複雜的用戶場景的覆蓋。
而如果是使用已經定義好的自動化測試,很難做到對該場景的覆蓋。
2.2、自定義測試步驟
用戶基於自身業務需求,可以實現對常見測試步驟的封裝,通過腳本語言來自定義測試步驟。
<li data-lake-id="92f5bd362f53ac1ee7b9abe1d6945876">案例1:網絡環境覆蓋測試</li>
<li data-lake-id="c2b575c7250da21f24fa964b96c9b724">如果用戶想要測試一個場景:安卓平臺,各種網絡環境下(2G、3G、4G、WIFI),提交服務實名認證的流程。</li>
方案:用戶可以自定義測試流程,對4種網絡環境,直接創建四種任務即可。不需要在腳本里面,進行各種判斷操作,可以基於交互操作頁面,完成對功能的測試。
而如果是採用功能測試,就需要指定參數,改幾次腳本,測試任務管理上,也比較麻煩。當把這些測試流程中的變量,變成交互元素後,能很好的改善使用的體驗。
<li data-lake-id="886b113641cad83eea00fbb8b5f0cd74">案例2:登錄流程定製化</li>
藉助自定義測試步驟,可以對常見賬號登錄進行定製化。比如,整體步驟可以抽象後,定製化為:劃過應用首屏引導-點擊立即登錄-輸入賬號-查詢驗證碼-輸入驗證碼-點擊登錄。
2.3、方便企業集成融合到中臺
稍微大一些的企業,都有自己的業務中臺,整體管控所有的業務情況。而移動測試專有云,作為第三方服務,通常提供給客戶都是獨立管理,獨立控制。這初看起來,沒有什麼奇怪,但是卻破壞了公司業務的整體性,不方便用戶管理。
基於客戶的需要,我們阿里雲MQC測試平臺,提供了各種API接口,方便企業打通跟移動測試專有云的服務,具體如下:
(1)任務調度,包括提交測試、任務結果篩選等;
(2)設備管理,基本的設備信息、設備篩選、設備釋放等;
(3)報告管理,主要是測試的結果報告數據;
(4)腳本管理,創建腳本、更新腳本等。
通過以上三個方面的賦能,可以更好的發揮MQC移動測試平臺的能力,更好的為企業和開發者服務,降低成本提升自動化測試的效率。
移動測試專有云服務介紹:地址
釘釘搜索35248489,加入阿里云云原生應用研發平臺EMAS技術交流群,探討最新最熱門的應用研發技術和實踐。(或釘釘掃碼加入)