写点什么

如何解决移动 App 上架前的最后一公里?

  • 2015-12-14
  • 本文字数:2352 字

    阅读完需:约 8 分钟

和传统的人工测试相比,自动化测试具备包括节省时间和人力成本,提高效率,增加应用场景分析等等在内的优势。所以说,目前很多初创团队想要组建自己的专业测试团队应该不是明智的选择,在大的趋势下,众多移动 App 云测试平台拔地而起,在很大程度上已经能够帮助 App 开发团队解决测试上的瓶颈。百度移动云测试中心(MTC)不仅提供“自动化 + 人工 + 问卷调查”的测试组合拳之外,还有专业的人工测试专家团队帮助开发者解决移动测试上的难题。

12 月 12 日,在由百度开发者中心主办、InfoQ 协办的以“移动应用云测试,让你的 App 高深可测”为主题的百度技术沙龙活动中,来自百度开发者中心的移动测试专家就分享了百度在移动应用云测试的相关成果和进展,以及能为当下移动应用开发热潮做哪些实质性的推进。演讲嘉宾分别是百度众测和MTC 团队产品负责人施佳樑、百度平台测试部高级项目经理顾昕彪,以及MSG 手机百度平台化测试部测试架构师辛建康。

移动测试行业现状及解决方案

当前行业里移动App 的开发门槛越来越低,App 的种类和质量很难成正比。那么如何定义一款好的App 呢?施佳樑说,当然是要具备用户体验高、有逼格、没有Bug、稳定性和兼容性都很高、用户量大、能赚钱等等特性才好呢。但是说起来简单做起来难,整个成型过程离不开长期积累下来的“流程、工具和标准”的固定模式,而这些东西能够帮助开发者以比较低的成本、较高的效率开发一款满意的APP。

其次施佳墚还提到了,测试最终就是成本、效率和风险的权衡。目前移动App 测试可以分为开发自测、专业QA 测试、众包用户测试和真机自动化测试这几个类型。当然,这几种测试方式各有利弊,既有不同类型组合完成的,也有直接外包出去的测试方式。根据公司大小以及资金多少来确定使用哪一种测试方式。

最后一点施老师提到的关于监控,App 开发完、测试完发布以后,这个事情远远没有结束,更多的是要关注用户在使用产品当中到底能否正常使用,APP 在使用中的性能怎样,这些都是应用性能管理(APM)需要涉及的指标。

App 质量漫谈:“人工 + 自动 + 问卷”组合拳

来自百度平台测试部高级项目经理顾昕彪首先跟大家分享了移动应用市场迅猛发展的现状:移动应用占比上升,移动数据流量接近 60%;4G 用户成倍增长,4G 网络渗透率超过 20%;Android 平台优势明显,智能设备普及率上升等等。这些数据完全表明一个 App 的质量直接影响其口碑、宣传效果和发展,而兼容性、性能表现和崩溃率更是 App 质量的直观体现。一些数据也从侧面反映出测试团队的窘境:缺设备、缺技术、缺人。在设备、管理等硬件条件跟不上的情况下,光靠小团队自身的测试能力建设很难满足 App 快速迭代的需要。

这个时候的一些小团队就需要考虑使用云服务,来解决测试方面的难题。百度 MTC 拥有自己的质量积累,通过测试以及数据上的移动应用质量标准,通过不同的维度对外部 APP 进行自动化测试。MTC 的杀手锏“自动化+人工测+问卷调查”所具备的优势包括支持 Android 和 iOS,覆盖 10000+ 主流终端机型,1000+ 测试专员,能够为百度 140 多条移动应用产品线提供长期稳定的测试服务。同时顾昕彪也提到,App 质量本身分为 VE(验证)和 VA(确认)两个方面,仅仅靠自动化测试只能提高部分测试的效率,并不能完全替代人在测试里的作用。很多 App 虽然功能正确,但并未真正满足用户的需求,导致他们的发展受到了阻碍。为此,百度 MTC 专门提供了人工测试和问卷调研服务,通过用户的真实反馈为开发者提供有效的判断依据。

移动插件系统的质量保证

随着移动互联网一步步向各个传统行业渗透,移动化互联网的产业需求正前所未有的侵袭而来。由于业务线的融合,来自企业内部和外部的业务接入,如何快速有效的集成接入,内外部开发人员一致的协同开发,实现这一系列点需求的同时,又能对主 APP 安全保证,质量把控,这就需要移动平台插件化开发模式来解决这一问题。

辛建康也介绍了插件系统目前遇到的质量挑战:宿主兼容性(类冲突、崩溃 handler 注册、公共 SDK 使用冲突)、性能 & 兼容性(稳定性问题、多进程、OS 兼容性)和业务效率(对接插件方多,测试能力参次不齐;插件化模块 Bug 多,稳定性问题频出…)。面对这些质量挑战,解决方案肯定是有的,通过云监控收集,利用线上强大的分布式参数系统存储大量用户日志,将已配好的 code 在某一时间把日志抠出来就完成整个动态模块或者插件的下发。通过 MTC 这种非常强大的动态线下测试,可以保证用户基本功能在线下测试阶段是 OK 的。

有参会者提问说,如果宿主和插件在同一个进程内,插件异常怎么才能不影响宿主?辛建康回答说,插件本身性能问题不大,关键是为什么插件可以承担宿主做不到的事情。因为很多技术手段不能放在宿主里,放在宿主里可能有性能问题、稳定性问题就会造成大面积的问题。但是插件系统下,最大的问题是在于使用不当导致崩溃,可性能比较好,崩溃的时候里面有一套自我恢复系统,当发现有崩溃或者很多监控报警时,跟异常相关的监控会直接推动对应插件回滚,退化到 H5,所以安全稳定性上是没有问题的,同时尽可能的保证用户体验。

写在最后

像谷歌、苹果、微软等一些大的互联网公司都是非常重视移动应用测试的,百度在这一方面的投入相对也是巨大的,正如前面所提到的,MTC 主要是针对包括人工、自动化、性能、监控的广义测试为开发者开发 App 必须的工具,这也是为了更好迎合市场的需求。在最后的圆桌论坛上,有参会者问到由于手机系统和网络状况的不同,如何减少对测试结果的影响程度?顾昕彪回答说,MTC 很早以前就已经开始关注并着力解决这样的问题,在产品诞生之前每个移动端产品都有可能会面临这种问题,主要归咎于手机型号和网络强度等原因。MTC 平台则会做一些在信号很差、电量低之类条件下的模拟测试,为 App 打造最专业的测试流程,对于初创团队来说是一件事半功倍的好事。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2015-12-14 01:251947
用户头像

发布了 161 篇内容, 共 71.2 次阅读, 收获喜欢 195 次。

关注

评论

发布
暂无评论
发现更多内容

springboot+vue+activiti,在线编辑器,快速开发平台

金陵老街

Java Vue 工作流 springboot Activiti

盲盒星球系统开发

(王经理)专业app小程序开发

RocketMQ-学习记录

春秋易简

云行、数治、慧用 打造直抵基层的数字化高速公路

浪潮云

云计算

架构设计系列一 架构方法论的入门

nydia

架构学习

七月速递:人脸特征值同步私有化部署包发布、EdgeBoard车辆分析软硬一体方案助力交通管理智能化

百度大脑

人工智能 EdgeBoard 软硬一体

02. 到底什么是人工智能

数据与智能

人工智能

小公司实施系统为什么也容易失败?

明道云

易灸灸系统开发

(王经理)专业app小程序开发

联邦计算能力,让企业异构数据源数据合作畅通无阻

星环科技

异构数据 联邦计算

初学架构师养成の微信业务架构分析&学生管理系统架构

Yina🌝很浪🌊

架构

北鲲云超算平台如何帮助高性能计算行业提供解决方案

北鲲云

Go 与 C++ 的对比和比较

恒生LIGHT云社区

c++ 编程语言 Go 语言

女巫面具软件开发

(王经理)专业app小程序开发

赋能生态,合力同行!博睿数据成为光合组织成员单位

博睿数据

优雅的故障处理:快速创建 Pulsar 重试队列

Apache Pulsar

消息队列 Apache Pulsar StreamNative

技术实践|网易云信 IM SDK 服务高可用技术方案

网易云信

后端

强大的OCR技术+多元的用户场景 口碑型App白描的开发之路

百度大脑

人工智能 OCR 视障

存储大师班 | ZFS存储池块管理与事务模型

QingStor分布式存储

文件存储 分布式存储

Python实现发送邮件(实现单发/群发邮件验证码)

Python研究者

8月日更

宝安机关食堂支持数字人民币刷脸支付

CECBC

fil挖矿收益如何?fil挖矿一天可以挖多少?

区块链 分布式存储 IPFS fil挖矿 filecoin收益

为什么要了解复杂科学?

石云升

8月日更

现货量化策略系统开发,量化软件开发

13530558032

数字资产多链钱包搭建,区块链多币种钱包

13530558032

fil挖矿步骤教程是什么?fil挖矿规则是什么?

fil挖矿步骤教程是什么 fil挖矿规则是什么

fil矿机什么时候开始挖?fil矿机能挖多久?

fil矿机能挖多久 fil矿机什么时候开始挖

Java内存问题从工具到诊断平台

徐敏

Java 监控 垃圾回收 故障诊断

读书笔记-《数据密集型应用系统设计》-概论

KayTin

一周信创舆情观察(8.16~8.22)

统小信uos

能不能征服初恋,就看这个架构了!!!

人工智能~~~

如何解决移动App上架前的最后一公里?_语言 & 开发_Lucien_InfoQ精选文章