写点什么

如何解决移动 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 打造最专业的测试流程,对于初创团队来说是一件事半功倍的好事。

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

发布了 181 篇内容, 共 100.6 次阅读, 收获喜欢 207 次。

关注

评论

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

枪手博弈 - 在强者的世界,弱者的生存法则

石云升

博弈论 28天写作 枪手博弈

三分钟快速掌握 maven插件

田维常

maven

不要用+""代替强转

BerryMew

Docker真的被Kubernetes放弃了吗?

蔡超

Docker Kubernetes 云原生

龙归科技 |企业办公自动化的未来

龙归科技

工信部:推动区块链等与工业互联网的融合技术研究

CECBC

大数据

【TF2系列笔记】Day01:在VSCode中创建开发环境

IT蜗壳-Tango

七日更 TF2

精选算法面试-数组(二分查找)

李孟聊AI

面试 算法 数组 28天写作

HBase 底层原理详解(深度好文,建议收藏)

五分钟学大数据

大数据 HBase

醒醒!Python已经支持中文变量名啦!

Python猫

Python

京东搜索排序在线学习的 Flink 优化实践

Apache Flink

flink

【Mysql-InnoDB 系列】锁定读

程序员架构进阶

MySQL innodb 锁机制 28天写作

区块链未来三年内将广泛落地

CECBC

区块链

“直男”审美?不存在的!来看看 “攻城狮”对一款IoT App的UI改造吧!

IoT云工坊

android App 物联网 IoT sdk

Kubernetes介绍篇:是什么?为什么要用?

xcbeyond

Docker Kubernetes 容器 28天写作 Kubernetes从入门到精通

图解 | 原来这就是网络

编程 网络 计算机

案例研究之聊聊 QLExpress 源码 (五)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

DevSecOps:好处和挑战

啸天

敏捷开发 运维自动化 DevSecOps 应用安全

RocketMQ中的事务消息

废材姑娘

RocketMQ

【计算机内功修炼】五:从小白到高手,你需要理解同步与异步

码农的荒岛求生

异步 同步 回调函数

TRX智能合约系统开发案例详解

全网独家首发!—份破解大厂面试官千层套路的算法+数据结构笔记!真是太TM重要了

比伯

Java 架构 面试 程序人生 算法

Spring Boot 中的MVC支持

武哥聊编程

Java mvc springboot SpringBoot 2 28天写作

智慧building之一 智能家居

张老蔫

28天写作

玩一玩Linux常见命令第二篇

程序员的时光

程序员 28天写作

一周信创舆情观察(1.4~1.10)

统小信uos

运维大规模ES集群的思考和实践

京东科技开发者

数据库 elasticsearch 数据分析

【小菜学网络】MAC地址详解

fasionchan

网络编程 网络协议 TCP/IP

区块链:行业应用即将“引爆”

CECBC

区块链

币值管理机器人系统开发|量化交易系统开发

W13902449729

币值管理机器人系统开发 量化交易系统开发

量化交易系统开发软件源码

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