天天看點

移動測試“二次開發”賦能開發者

最近幾年,移動網際網路高速發展,現在我們已經可以"随時、随地、随心"地享受到網際網路給我們生活帶來的改變。比如:手機淘寶上随時可以購物,滴滴一下司機就到樓下來接你等等。

據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技術交流群,探讨最新最熱門的應用研發技術和實踐。(或釘釘掃碼加入)

移動測試“二次開發”賦能開發者

繼續閱讀