当前位置: 首页 > 科技观察

Testin云测CTO徐坤:服务驱动的云测试

时间:2023-03-13 13:03:40 科技观察

Testin云测CTO徐坤。中国最早的移动互联网公司PICA创始员工,曾任PICA副总裁;领先的HTML5游戏开发公司山水地信息的创始人。作为千万级在线即时通讯系统架构师,主导开发了千万级用户移动社交平台。Testin云测成立于2011年6月,一直从事移动互联网方向的APP测试服务。Testin希望将测试变成标准化的云服务。最终的愿景是希望研发团队或者APP团队能够专注于自己的产品和营销,最终通过云服务解决测试问题。一般来说,移动互联网的APP开发模式是一个APP团队,大概有几个部门。***就是发展,我们俗称技术。第二,有产品,一般有运营和市场。如果是团队向企业销售,就会有销售,之后可能会有售后。除了这些职能部门外,还有测试职能部门和运维职能部门。下面来看看Testin在为开发者开发和测试APP的过程中可以提供哪些测试相关的服务:一般APP的功能测试都是从功能开发开始,然后发布,发布之后推广。如果APP没死,就会循环这个过程。在功能开发阶段,Testin会提供功能测试服务。Testin即将推出众测服务。届时将汇聚国内优秀的测试PM,通过PM为所有APP开发者提供解决方案。Testin是一个基于云的众包平台,拥有众多测试人员。为什么会有这样的服务形式?开发阶段一般持续14天,包括产品设计和技术开发时间,最好留出两天时间进入测试阶段。一个标准的APP开发团队有10个人,两种产品,两种技术,最后还有一两个人做运营。没有真正的测试位置。任务重,人员少,所以市面上很多手机APP都有很多BUG,不过没关系,开发者首先要有用户,但质量问题越来越突出当用户增长时,为了解决这个问题,Testin现阶段提出这样的服务,专门解决这个问题。通过几万人的公共测试平台,PM(测试项目经理)会帮助设计方案,包括写测试,然后分发给很多测试人员。之后PM会总结,包括bug,然后会有测试报告。适配测试功能测试没有问题后,临近发布时就会出现问题。中国有很多手机型号和制造商,包括小米、三星和华为。每个品牌都有很多型号。以前小米只有一款,而现在小米有小米1、2、3等近十款机型。这时候各种机型的版本划分就会越来越严重。比如,一个APP虽然可以在小米4上运行,但在魅族手机上却无法运行。魅族4手机的屏幕分辨率与其他手机不同。如果你关注手机,就会知道魅族的Pro有点不一样。他们使用的MIU是他们自己制作的。华为也做了一个,包括vivo和OPPO。虽然功能没有问题,但是适配却成了一个很严重的问题。适配的问题是因为版本分裂,屏幕尺寸不同,手机型号不同,Rom不同,都会带来各种问题。如果要自己解决,一般开发组怎么办?他会买四五台手机,自己用小米,团队里有三星,然后试试看自己的APP能不能运行。但是,目前市场上的手机大约有千余台,中国是世界上机型最多的国家。即使能在小米1上运行,小米2、小米3也未必能运行。很多人用iPhone,iPhone4能跑,iPhone5不一定能跑。所以Testin有适配测试的服务。Testin如何适应?很像公测,Testin连接了一个类似云测平台的东西,下面挂着很多手机,一部一部都是真机。开发者通过Testin的网站向Testin提交APP,Testin将这些APP发送到仓库中的4000多台真机上运行。Testin有自己独特的技术和自动化脚本,APP来到Testin的适配平台,通过这个脚本在所有手机上自动安装、运行、卸载。***能不能安装,第二能不能卸载,第三能不能正常执行基本功能。目前,Testin的适配平台累计运行了约7800万次自动化测试。Testin定期对国内一些主流机型进行统计,然后采购,再把新的放到机房,供所有开发者使用。应用和手游性能监控所有功能和配置都测试完了,应用就可以高枕无忧了吗?当然不是,Testin发现不管你怎么测试,不管用什么样的自动化手段,还是有很多问题没有真正被发现。在APP用户这边,你可能会看到各种各样的问题,因为你不知道用户的网络情况,是不是假手机等等。于是Testin推出了CrashMaster,并在APP上线前将CrashMaster的SDK嵌入到APP中。这个SDK的功能是什么?开发者将自己的APP添加到我们的SDK中后,Testin对每个APP都有一个crash背景。这个后台会抓取客户端在使用APP过程中出现的所有崩溃、闪退、异常情况。之后进行备份。1、代码级定位崩溃APP异常崩溃后,Crashmaster可以监测到导致问题的代码位置,开发者可以根据Crashmaster提供的信息进行修改。2、NDK错误捕获NDK错误,比如Android手机,使用了很多第三方库,比如腾讯或者百度都有第三方SDK,大部分是C写的,是动态库。动态库本身会产生异常,就是NDK错误。这称为本机错误,主要是C++错误。崩溃大师会抓取第三方的所有问题,很多第三方平台本身就会导致程序崩溃闪退。3、用户一对一定位用户端崩溃死机,开发者无法知道用户身份。当用户在闪退后反馈问题时,他们可能只是在评论中发泄情绪。一般他们不会解释他们的型号是什么,网络情况如何等等。崩溃大师可以显示崩溃客户端的ID,特别是对于O2O公司,或者以手机号为ID的公司,可以给用户打电话查询问题。4、手游引擎支持Crashmaster支持国内的cocos2D-X和Unity3D两种手游引擎,也是类似于SDK的第三方工具。基于这个引擎,开发者会使用几种脚本语言来编写,一种脚本语言叫做Lua,另一种叫做JavaScript。基于这些脚本语言产生的异常,Crashmaster可以通过SDK服务进行捕获。APP应用案例移动APP开发者将需求提交给Testin。在整个开发周期,从功能开发到发布再到上线,Testin都会对开发者的APP进行全程跟踪。Testin的公测服务已经服务于E-bagwashing、高德和一些公司。适配测试服务是Testin最早、持续的业务。65%的国内移动开发者基本使用Testin适配测试服务。Testin的CrashMaster于2014年8月开发,Bate版本于9月推出。到现在已经三个半月了,国内比较大的游戏基本都是崩坏大师的用户。比如全民枪战、钓鱼达人、老爹三国、保卫胡萝卜、德纳海贼王,大部分都是游戏。在国内应该是第三方SDK中的,用户基数可以排到前十。崩溃大师服务,1.7.2版本即将上线。从2014年9月到现在,已经迭代了30多个版本,大概一周一个版本,到现在应该有30多个了。CrashMaster的SDK包很小,只有30K,稳定性毋庸置疑,能抓的东西更多。目前已有上千个APP使用其服务。CrashMaster合并了异常捕获。上报crash异常时,不是一一上传,而是合并在一起,分类上报,方便开发者区分。异常原因(程序没有崩溃但是功能失效)和崩溃(导致程序崩溃),这种上报的方式可以为用户减少流量,让用户APP的流量不会暴涨由于SDK。Crashmaster1.7.2版本,crash+适配全新升级,Testin将原有适配与Crashmaster现有功能深度融合,使得适配功能也能准确定位很多底层错误,让适配功能更加精准。CrashMaster目前提供本地服务,同时也做了海外英文版,现已发布。Testin与CocosTouch达成战略合作。TouchNorthAmerica团队与Testin以CrashMaster为基础,共同进行海外运营推广,为北美及其他海外国家的更多开发者提供服务。结论TestinCloudTest是一个服务驱动的团队。------徐坤Testin以技术为基础,以服务为核心,为开发者提供提升APP品质的服务。Testin的创始团队均来自研发背景。过去,Testin认为技术改变了一切,甚至迷信地认为所有问题都可以通过自动化来解决。大概过了三年,比如功能测试,我终于发现有些问题是不能完全通过自动化来解决的,因为只有人才能知道是对是错,所以我推出了一个众包测试平台,可以解决的问题技术上,比如自动抓取crash可以让技术更加精准和透明,然后帮助开发者做crash统计让识别率更高。所以技术是Testin的基础,但最终交付给用户的是服务。Testin对客户的价值应该是Testin帮助开发者发现开发者自己发现不了的问题。这就是徐坤眼中的特斯汀。

猜你喜欢