徐琨,Testin云测CTO。国内最早移动互联网公司PICA创始员工,曾任PICA副总裁;领先的HTML5游戏开发公司山水地信息创始人。作为千万人在线的即时通信系统架构师,领导开发了过千万用户的移动社交平台。
CSDN:请先介绍一下自己和目前所做的工作
徐琨: 我们做的是一个服务与App质量的云测试平台,简单来说,由于手机型号,操作系统的分裂,带来了很多适配问题,同时也带来各种各样意想不到的崩溃和闪退。而开发者不可能把市面上所有手机都买来,就算能买那么多手机也没有那么多人力来测试。所以我们就想,是不是可以做一个云端的测试服务,来替所有开发者购买所有的手机,来提供尽可能多的测试能力,开发者只需要将App提交到我们的平台,24小时内,就能得到一个全方位多维度的测试报告,帮助开发者发现其App存在的各种适配兼容问题、各种崩溃和闪退的问题定位。我们正在为这个目标努力,最终我们希望能建立这样一种云服务平台,服务所有的开发者,让开发者专心于他的核心业务的开发上,而测试这个事情,放心地交给我们就好了。
CSDN:你是怎么看待移动App进行云测试的,相比较传统开发者测试App的方式,两种测试方式之间有什么相同和不同之处?
徐琨: 传统开发者测试App的方式,通常是自己购买手机,自己雇用测试人员,或者自己的开发兼产品测试,在有限的手机型号中进行时间非常有限的测试,由于移动互联网时代项目迭代快,导致测试的时间短、任务重,所以经常出现的状况就是,只要功能基本没有问题,就算知道可能有bug,也会直就发布了。
而云测试具备一些传统测试无法比拟的特性:
CSDN:目前市场上移动App测试有很多,如百度移动云测试中心等,Testin云测在这一领域有哪些核心竞争力呢?
徐琨: 现在提供自动化测试服务的企业,Testin云测是进入最早也是规模最大的一家,由于进入较早,积累了大量的自动化测试经验,也根据开发者的测试需求,提供了一系列的解决方案:
同时云测也是一个开发者之间交流和学习的平台,大家可以互相切磋,共同进步。
CSDN:我们都知道手机型号与屏幕尺寸过多,App适配与测试的工作量相当大,而且需要投入大量的人力和财力。那么Tsetin云测是通过哪些技术解决这些问题的呢?
徐琨: 云测累计为开发者提供了超过7000万次测试,在大量的测试过程中,我们针对App适配的自动化测试的不同问题摸索出一套解决办法。
以上这些都不需要开发者自己来做,云测会帮助开发者完成脚本录制、应用提交,甚至测试完成后的错误定位分析。
CSDN:Android作为应用的一个巨大平台,基于Android的手机品牌众多、系统版本众多等等,简单的来说就是碎片化严重,那么Testin云测在测试过程中又涉及到什么样的技术可以与我们分享下?
徐琨: 目前安卓市场所有的品牌、型号和系统版本在云测几乎都能找到,覆盖了市场上80%的终端,其中主流终端全部覆盖,Testin云测在测试终端上投入比较多,为的就是解决安卓终端碎片化严重的问题。
在云测平台的一台测试终端可以为多个开发者、多款App提供服务,我们对终端的测试环境做了统一处理,包括终端之间网络屏蔽,保障每台终端有独立的网络覆盖,以及终端执行任务时的整体调度优化,保障这些终端可以最高效的完成众多开发者的测试任务。
我们是通过几个层面来 解决在自动化测试过程中遇到的碎片化问题:
CSDN:App可以分为应用App和游戏App,对于这两块的测试是否会有不同的侧重点?具体是什么呢?用户对于应用App和游戏App的使用习惯也是不同的,可以谈一下对于应用开发者与手游开发者在进行开发过程中的建议?
徐琨: 应用App的测试相对来说对于广度要求更高,应用App很多时候对于手机本身能力的调用做了很多,比如GPS、照相机、本地文件等等。同时应用App对于互动的要求很高,通常需要很复杂的场景才能完成测试。建议应用开发者对一些功能模块,尤其是需要调用手机能力较多的功能,如拍照等,经常做兼容性测试,这样首先确保这些功能模块本身在不同设备上是可用的,在最后集成测试时也会少很多兼容性的问题。
而游戏App的测试更偏重功能和可玩性,对于测试的深度要求较高,很多功能需要特定条件才能触发,比如有些功能只有高等级用户才能使用。目前大部分多手游开发都使用了比较成熟的游戏引擎开发,兼容性问题其实比应用要少一些。我们建议手游开发者可以在条件成熟的时候(比如公测阶段)多安排一些体验测试。
而使用习惯方面应用的操作多基于独立的点击,游戏的前后操作之间连贯性较强,在测试过程中,对脚本的要求也会比较高。
CSDN:面对现在很多App的粗制滥造、同质化严重(如这两年的卡牌游戏)等等,优质的App变得屈指可数。对此你是怎么看的?App又该如何做到优质、突破呢?
徐琨: 现在的App获取用户的成本越来越高,而用户的口味也变得越来越高,以前是给什么用户就用什么,现在是用户挑着用,我们可以看到目前用户量最大的应用多是上线好几年的应用,新的App如果不能有自己的特点,并且有足够的质量,很难再冒头。只从测试的角度出发,我们发现手机适配率越高的,崩溃率越低的App,往往用户量也越大,所以我们的建议是,如果想在现在的市场上有所突破,需要尽可能把功能做少做精,尽可能做最少的功能点,要么没有这个功能,一旦做就做到最好。
CSDN:崩溃、闪退等异常问题可以说是App的致命之处,而对于手游开发者来说,游戏整体性能必须得到保障。游戏性能才是最终用户体验的基础,据了解,Testin最近推出了崩溃大师,那么其与传统的APM应用性能分析有什么不同之处?又是通过哪些技术检测游戏本身的性能病症呢?
徐琨: 软件质量是个大的话题,产品的体验、可靠性、安全性、性能都属于这个范畴。对于App而言,崩溃是最严重的质量问题。Testin就从这个出发点去帮助开发者提高App质量,这点和传统的APM是最大的区别。
对于移动应用和游戏,Testin崩溃大师通过不同的技术手段来解决它们出现的崩溃。当用户在使用产品发生崩溃时,Testin崩溃大师SDK会捕获到崩溃的堆栈线程、App版本、错误页面、CPU、内存使用情况、设备名字、操作系统、运行Log等,开发者则可以通过这些数据来分析错误发生原因。对于游戏引擎,无非是引擎层错误(一般C++代码导致),还有脚本层错误。崩溃大师可以抓到不同语言,如Java、Objective-C、C++、C#、Js、Lua等语言发生的异常。
CSDN:从您的角度来看,游戏开发者在进行用户体验分析的时候都需要考虑到哪些维度?Testin云测和崩溃大师在这一块是否会给出具体的建议呢?同时,Testin云测和崩溃大师在进行分析的时候不可避免的会收集用户数据,那么用户数据的安全性会不会受到威胁呢?
徐琨: 真机测试是在Testin提供的测试机上运行的,测试机每天要跑上百个App测试,在每次测试之前都会做数据清理,还原成手机原始的测试环境。而测试结果与错误定位只会由终端输出后报给最终查看测试报告的人。
做一款好玩的游戏,先决条件是一款“可玩”的游戏。如果您的游戏经常崩溃,那无论如何用户也不会买账。所以我们认为:无论从软件质量或产品用户体验角度来说,崩溃是头等问题。在QA的术语中,崩溃就是致命级别的Bug。
Testin崩溃大师只会上报能够帮助开发者定位和解决问题的数据,一切和崩溃信息无关的数据,我们的SDK都不会触碰。这一点开发者也可以通过实地抓包来进行验证,我们欢迎任何形式的举证。
CSDN:现下物联网是一大热门,它会成为移动App的另一大战场,您是如何看带物联网的发展,是否会带来新一轮的技术革新?
徐琨: 物联网其实是移动互联网的一个延伸,就像手机加上联网功能,延展了我们人类的能力,物联网是互联网将载体拓展到除手机外更广阔的天地里,我相信这会是一个更大的革命,10年前没有人会想到今天我们每个人会对着一块玻璃消耗掉数以万亿小时,而未来,互联网将会无处不在,今天我们所有的想象,都会证明其实我们还是太保守。
CSDN:可穿戴、车载、智能家具……都已经或者将要出现在我们身边,移动App也将在这些领域现身,所以在最后为我们畅想一下移动App和Testin云测的未来。
徐琨: 无论科技如何发展,最终都会需要一个载体去承载服务,在PC时代,我们用的是software,在互联网时代,我们用的是Web,在移动互联网时代,我们用的是App,而无论是software,还是Web,或者是App,保证其可用是其存在的基本的条件,也就是我们通常所说的测试服务,而这正是Testin云测一直在努力提供的服务,所以我们相信,未来互联网的载体也许不再是App了,但测试服务的需求和市场会更加广大。