• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>

    專(zhuān)訪(fǎng)Testin云測CTO徐琨:完善移動(dòng)App的誕生記

    2015-01-26 10:41:12   作者:   來(lái)源:CSDN   評論:0  點(diǎn)擊:


      徐琨,Testin云測CTO。國內最早移動(dòng)互聯(lián)網(wǎng)公司PICA創(chuàng )始員工,曾任PICA副總裁;領(lǐng)先的HTML5游戲開(kāi)發(fā)公司山水地信息創(chuàng )始人。作為千萬(wàn)人在線(xiàn)的即時(shí)通信系統架構師,領(lǐng)導開(kāi)發(fā)了過(guò)千萬(wàn)用戶(hù)的移動(dòng)社交平臺。

      云測,傳統App測試的革新

      CSDN:請先介紹一下自己和目前所做的工作

      徐琨:我們做的是一個(gè)服務(wù)與App質(zhì)量的云測試平臺,簡(jiǎn)單來(lái)說(shuō),由于手機型號,操作系統的分裂,帶來(lái)了很多適配問(wèn)題,同時(shí)也帶來(lái)各種各樣意想不到的崩潰和閃退。而開(kāi)發(fā)者不可能把市面上所有手機都買(mǎi)來(lái),就算能買(mǎi)那么多手機也沒(méi)有那么多人力來(lái)測試。所以我們就想,是不是可以做一個(gè)云端的測試服務(wù),來(lái)替所有開(kāi)發(fā)者購買(mǎi)所有的手機,來(lái)提供盡可能多的測試能力,開(kāi)發(fā)者只需要將App提交到我們的平臺,24小時(shí)內,就能得到一個(gè)全方位多維度的測試報告,幫助開(kāi)發(fā)者發(fā)現其App存在的各種適配兼容問(wèn)題、各種崩潰和閃退的問(wèn)題定位。我們正在為這個(gè)目標努力,最終我們希望能建立這樣一種云服務(wù)平臺,服務(wù)所有的開(kāi)發(fā)者,讓開(kāi)發(fā)者專(zhuān)心于他的核心業(yè)務(wù)的開(kāi)發(fā)上,而測試這個(gè)事情,放心地交給我們就好了。

      CSDN:你是怎么看待移動(dòng)App進(jìn)行云測試的,相比較傳統開(kāi)發(fā)者測試App的方式,兩種測試方式之間有什么相同和不同之處?

      徐琨:傳統開(kāi)發(fā)者測試App的方式,通常是自己購買(mǎi)手機,自己雇用測試人員,或者自己的開(kāi)發(fā)兼產(chǎn)品測試,在有限的手機型號中進(jìn)行時(shí)間非常有限的測試,由于移動(dòng)互聯(lián)網(wǎng)時(shí)代項目迭代快,導致測試的時(shí)間短、任務(wù)重,所以經(jīng)常出現的狀況就是,只要功能基本沒(méi)有問(wèn)題,就算知道可能有bug,也會(huì )直就發(fā)布了。

      而云測試具備一些傳統測試無(wú)法比擬的特性:

    • 完美解決移動(dòng)終端碎片化問(wèn)題。不需要開(kāi)發(fā)者再去購買(mǎi)測試設備,云測試往往會(huì )進(jìn)行周期性的測試設備補充和更新,節省了傳統測試中購買(mǎi)、部署測試終端的費用。
    • 傳統測試時(shí),公司往往需要投入大量人力,通宵寫(xiě)測試用例 。而云測,開(kāi)發(fā)者甚至不需要自己寫(xiě)腳本,我們會(huì )用自動(dòng)化的腳本錄制工具,根據開(kāi)發(fā)者要求的測試流程來(lái)錄制腳本,節省了人力成本,縮短了測試時(shí)間。
    • 通過(guò)云測試服務(wù)平臺,開(kāi)發(fā)者可以在全球任何地點(diǎn)、任何時(shí)間提交測試任務(wù)到云測試平臺,不受時(shí)間和地域的限制。另外Testin提供的是真機測試服務(wù),而真機是稀缺資源,每部終端同時(shí)只能測試一款應用,我們也會(huì )有一整套機制來(lái)對終端和測試任務(wù)進(jìn)行自動(dòng)調度,以滿(mǎn)足廣大開(kāi)發(fā)者對于真機的測試需求,最大限度的提高資源利用率和測試效率。
    • 云測試平臺都會(huì )使用大量的自動(dòng)化測試技術(shù), 控制不同系統、不同版本、不同型號的終端,使其可以自動(dòng)執行測試任務(wù),而不需要人工干預。這樣可以做到同時(shí)在成百上千部真實(shí)終端上同時(shí)自動(dòng)運行測試腳本,極大的節省了測試時(shí)間,免去了測試者重復枯燥的勞作。

      CSDN:目前市場(chǎng)上移動(dòng)App測試有很多,如百度移動(dòng)云測試中心等,Testin云測在這一領(lǐng)域有哪些核心競爭力呢?

      徐琨:現在提供自動(dòng)化測試服務(wù)的企業(yè),Testin云測是進(jìn)入最早也是規模最大的一家,由于進(jìn)入較早,積累了大量的自動(dòng)化測試經(jīng)驗,也根據開(kāi)發(fā)者的測試需求,提供了一系列的解決方案:

    • 針對應用兼容性問(wèn)題,提供了標準兼容測試;
    • 針對不同應用的自定義測試流程,提供了深度兼容測試;
    • 針對iOS市場(chǎng)的火爆,推出的iOS測試,也是目前市場(chǎng)上唯一提供iOS測試的企業(yè);
    • 而應用發(fā)布后的仍然存在的影響用戶(hù)使用的問(wèn)題,我們提供了全球最專(zhuān)業(yè)的崩潰分析服務(wù);
    • 針對開(kāi)發(fā)者需要了解真實(shí)用戶(hù)體驗的需求,推出的用戶(hù)體驗測試;
    • 針對進(jìn)軍海外的應用,部署的海外測試專(zhuān)區。
    • 最后,Testin云測是世界上手機保有量最大的云測試平臺。

      同時(shí)云測也是一個(gè)開(kāi)發(fā)者之間交流和學(xué)習的平臺,大家可以互相切磋,共同進(jìn)步。

      CSDN:我們都知道手機型號與屏幕尺寸過(guò)多,App適配與測試的工作量相當大,而且需要投入大量的人力和財力。那么Tsetin云測是通過(guò)哪些技術(shù)解決這些問(wèn)題的呢?

      徐琨:云測累計為開(kāi)發(fā)者提供了超過(guò)7000萬(wàn)次測試,在大量的測試過(guò)程中,我們針對App適配的自動(dòng)化測試的不同問(wèn)題摸索出一套解決辦法。

    • 針對應用測試,云測使用控件識別方式,自動(dòng)識別和查找到應用中的控件,用于生成測試腳本和在不同的終端上運行腳本。這種方式最大的好處就是可以做到完全支持不同分辨率和屏幕尺寸的終端,確保腳本的通用性;同時(shí)可以對測試結果進(jìn)行判定。使用到的具體技術(shù),包括Android JUNIT、Robotium, UIAutomator等等。
    • 針對游戲測試,像大部分手游這種非控件的,依賴(lài)繪圖的界面,可以采用坐標來(lái)記錄位置,而為了解決不同終端不同分辨率的適配問(wèn)題,云測有一套自己的腳本錄制工具(itestin),能夠去適配不同屏幕的比例,適應不同分辨率上的操作。不僅如此,云測也根據游戲引擎開(kāi)發(fā)了測試插件,例如我們針對cocos2d-x引擎開(kāi)發(fā)了cocos2d-x插件,能夠獲取游戲對象信息,比如大小、位置、文字、ID、顯示層級等,通過(guò)這種方法,做到類(lèi)似應用獲取控件信息的效果,實(shí)現了手游的完美自動(dòng)化測試。

      以上這些都不需要開(kāi)發(fā)者自己來(lái)做,云測會(huì )幫助開(kāi)發(fā)者完成腳本錄制、應用提交,甚至測試完成后的錯誤定位分析。

      CSDN:Android作為應用的一個(gè)巨大平臺,基于A(yíng)ndroid的手機品牌眾多、系統版本眾多等等,簡(jiǎn)單的來(lái)說(shuō)就是碎片化嚴重,那么Testin云測在測試過(guò)程中又涉及到什么樣的技術(shù)可以與我們分享下?

      徐琨:目前安卓市場(chǎng)所有的品牌、型號和系統版本在云測幾乎都能找到,覆蓋了市場(chǎng)上80%的終端,其中主流終端全部覆蓋,Testin云測在測試終端上投入比較多,為的就是解決安卓終端碎片化嚴重的問(wèn)題。

      在云測平臺的一臺測試終端可以為多個(gè)開(kāi)發(fā)者、多款App提供服務(wù),我們對終端的測試環(huán)境做了統一處理,包括終端之間網(wǎng)絡(luò )屏蔽,保障每臺終端有獨立的網(wǎng)絡(luò )覆蓋,以及終端執行任務(wù)時(shí)的整體調度優(yōu)化,保障這些終端可以最高效的完成眾多開(kāi)發(fā)者的測試任務(wù)。

      我們是通過(guò)幾個(gè)層面來(lái)解決在自動(dòng)化測試過(guò)程中遇到的碎片化問(wèn)題:

    • 一是通過(guò)研究不同的Android版本底層和系統API,針對不同的版本制定不同的技術(shù)方案,比如說(shuō)對4.1以上版本的終端,我們使用UIAutomator編寫(xiě)了一個(gè)自動(dòng)化執行的腳本,增加了終端的可維護性;
    • 二是通過(guò)和終端廠(chǎng)商的合作,獲取一些廠(chǎng)商內部的接口;
    • 三是通過(guò)和芯片廠(chǎng)商的合作,針對不同的芯片方案,采用不同的API來(lái)獲取底層數據;
    • 四是針對特殊終端制定特殊的策略,因為我們有很多的真實(shí)終端,這點(diǎn)我們是可以做到的。

      CSDN:App可以分為應用App和游戲App,對于這兩塊的測試是否會(huì )有不同的側重點(diǎn)?具體是什么呢?用戶(hù)對于應用App和游戲App的使用習慣也是不同的,可以談一下對于應用開(kāi)發(fā)者與手游開(kāi)發(fā)者在進(jìn)行開(kāi)發(fā)過(guò)程中的建議?

      徐琨:應用App的測試相對來(lái)說(shuō)對于廣度要求更高,應用App很多時(shí)候對于手機本身能力的調用做了很多,比如GPS、照相機、本地文件等等。同時(shí)應用App對于互動(dòng)的要求很高,通常需要很復雜的場(chǎng)景才能完成測試。建議應用開(kāi)發(fā)者對一些功能模塊,尤其是需要調用手機能力較多的功能,如拍照等,經(jīng)常做兼容性測試,這樣首先確保這些功能模塊本身在不同設備上是可用的,在最后集成測試時(shí)也會(huì )少很多兼容性的問(wèn)題。

      而游戲App的測試更偏重功能和可玩性,對于測試的深度要求較高,很多功能需要特定條件才能觸發(fā),比如有些功能只有高等級用戶(hù)才能使用。目前大部分多手游開(kāi)發(fā)都使用了比較成熟的游戲引擎開(kāi)發(fā),兼容性問(wèn)題其實(shí)比應用要少一些。我們建議手游開(kāi)發(fā)者可以在條件成熟的時(shí)候(比如公測階段)多安排一些體驗測試。

      而使用習慣方面應用的操作多基于獨立的點(diǎn)擊,游戲的前后操作之間連貫性較強,在測試過(guò)程中,對腳本的要求也會(huì )比較高。

      測試,只為更好的綻放

      CSDN:面對現在很多App的粗制濫造、同質(zhì)化嚴重(如這兩年的卡牌游戲)等等,優(yōu)質(zhì)的App變得屈指可數。對此你是怎么看的?App又該如何做到優(yōu)質(zhì)、突破呢?

      徐琨:現在的App獲取用戶(hù)的成本越來(lái)越高,而用戶(hù)的口味也變得越來(lái)越高,以前是給什么用戶(hù)就用什么,現在是用戶(hù)挑著(zhù)用,我們可以看到目前用戶(hù)量最大的應用多是上線(xiàn)好幾年的應用,新的App如果不能有自己的特點(diǎn),并且有足夠的質(zhì)量,很難再冒頭。只從測試的角度出發(fā),我們發(fā)現手機適配率越高的,崩潰率越低的App,往往用戶(hù)量也越大,所以我們的建議是,如果想在現在的市場(chǎng)上有所突破,需要盡可能把功能做少做精,盡可能做最少的功能點(diǎn),要么沒(méi)有這個(gè)功能,一旦做就做到最好。

      CSDN:崩潰、閃退等異常問(wèn)題可以說(shuō)是App的致命之處,而對于手游開(kāi)發(fā)者來(lái)說(shuō),游戲整體性能必須得到保障。游戲性能才是最終用戶(hù)體驗的基礎,據了解,Testin最近推出了崩潰大師,那么其與傳統的APM應用性能分析有什么不同之處?又是通過(guò)哪些技術(shù)檢測游戲本身的性能病癥呢?

      徐琨:軟件質(zhì)量是個(gè)大的話(huà)題,產(chǎn)品的體驗、可靠性、安全性、性能都屬于這個(gè)范疇。對于A(yíng)pp而言,崩潰是最嚴重的質(zhì)量問(wèn)題。Testin就從這個(gè)出發(fā)點(diǎn)去幫助開(kāi)發(fā)者提高App質(zhì)量,這點(diǎn)和傳統的APM是最大的區別。

      對于移動(dòng)應用和游戲,Testin崩潰大師通過(guò)不同的技術(shù)手段來(lái)解決它們出現的崩潰。當用戶(hù)在使用產(chǎn)品發(fā)生崩潰時(shí),Testin崩潰大師SDK會(huì )捕獲到崩潰的堆棧線(xiàn)程、App版本、錯誤頁(yè)面、CPU、內存使用情況、設備名字、操作系統、運行Log等,開(kāi)發(fā)者則可以通過(guò)這些數據來(lái)分析錯誤發(fā)生原因。對于游戲引擎,無(wú)非是引擎層錯誤(一般C++代碼導致),還有腳本層錯誤。崩潰大師可以抓到不同語(yǔ)言,如Java、Objective-C、C++、C#、Js、Lua等語(yǔ)言發(fā)生的異常。

      CSDN:從您的角度來(lái)看,游戲開(kāi)發(fā)者在進(jìn)行用戶(hù)體驗分析的時(shí)候都需要考慮到哪些維度?Testin云測和崩潰大師在這一塊是否會(huì )給出具體的建議呢?同時(shí),Testin云測和崩潰大師在進(jìn)行分析的時(shí)候不可避免的會(huì )收集用戶(hù)數據,那么用戶(hù)數據的安全性會(huì )不會(huì )受到威脅呢?

      徐琨:真機測試是在Testin提供的測試機上運行的,測試機每天要跑上百個(gè)App測試,在每次測試之前都會(huì )做數據清理,還原成手機原始的測試環(huán)境。而測試結果與錯誤定位只會(huì )由終端輸出后報給最終查看測試報告的人。

      做一款好玩的游戲,先決條件是一款“可玩”的游戲。如果您的游戲經(jīng)常崩潰,那無(wú)論如何用戶(hù)也不會(huì )買(mǎi)賬。所以我們認為:無(wú)論從軟件質(zhì)量或產(chǎn)品用戶(hù)體驗角度來(lái)說(shuō),崩潰是頭等問(wèn)題。在QA的術(shù)語(yǔ)中,崩潰就是致命級別的Bug。

      Testin崩潰大師只會(huì )上報能夠幫助開(kāi)發(fā)者定位和解決問(wèn)題的數據,一切和崩潰信息無(wú)關(guān)的數據,我們的SDK都不會(huì )觸碰。這一點(diǎn)開(kāi)發(fā)者也可以通過(guò)實(shí)地抓包來(lái)進(jìn)行驗證,我們歡迎任何形式的舉證。

      移動(dòng)App和云測的未來(lái)

      CSDN:現下物聯(lián)網(wǎng)是一大熱門(mén),它會(huì )成為移動(dòng)App的另一大戰場(chǎng),您是如何看帶物聯(lián)網(wǎng)的發(fā)展,是否會(huì )帶來(lái)新一輪的技術(shù)革新?

      徐琨:物聯(lián)網(wǎng)其實(shí)是移動(dòng)互聯(lián)網(wǎng)的一個(gè)延伸,就像手機加上聯(lián)網(wǎng)功能,延展了我們人類(lèi)的能力,物聯(lián)網(wǎng)是互聯(lián)網(wǎng)將載體拓展到除手機外更廣闊的天地里,我相信這會(huì )是一個(gè)更大的革命,10年前沒(méi)有人會(huì )想到今天我們每個(gè)人會(huì )對著(zhù)一塊玻璃消耗掉數以萬(wàn)億小時(shí),而未來(lái),互聯(lián)網(wǎng)將會(huì )無(wú)處不在,今天我們所有的想象,都會(huì )證明其實(shí)我們還是太保守。

      CSDN:可穿戴、車(chē)載、智能家具……都已經(jīng)或者將要出現在我們身邊,移動(dòng)App也將在這些領(lǐng)域現身,所以在最后為我們暢想一下移動(dòng)App和Testin云測的未來(lái)。

      徐琨:無(wú)論科技如何發(fā)展,最終都會(huì )需要一個(gè)載體去承載服務(wù),在PC時(shí)代,我們用的是software,在互聯(lián)網(wǎng)時(shí)代,我們用的是Web,在移動(dòng)互聯(lián)網(wǎng)時(shí)代,我們用的是App,而無(wú)論是software,還是Web,或者是App,保證其可用是其存在的基本的條件,也就是我們通常所說(shuō)的測試服務(wù),而這正是Testin云測一直在努力提供的服務(wù),所以我們相信,未來(lái)互聯(lián)網(wǎng)的載體也許不再是App了,但測試服務(wù)的需求和市場(chǎng)會(huì )更加廣大。

    相關(guān)閱讀:

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 昌吉市| 南充市| 孟州市| 革吉县| 甘泉县| 巢湖市| 龙游县| 和顺县| 永吉县| 革吉县| 晋宁县| 永顺县| 永州市| 麟游县| 都江堰市| 库尔勒市| 临夏县| 玛多县| 龙里县| 于都县| 明溪县| 苏尼特左旗| 鄂托克旗| 淳化县| 辽宁省| 罗甸县| 教育| 潢川县| 武乡县| 扶沟县| 松潘县| 沽源县| 许昌市| 平昌县| 仙桃市| 虞城县| 栾川县| 张家界市| 县级市| 定西市| 舟曲县| http://444 http://444 http://444 http://444 http://444 http://444