写点什么

如何解决移动 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:252026
用户头像

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

关注

评论

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

4000字,详解Python操作MySQL数据库

爱好编程进阶

程序员 后端开发

2020年底跳槽面试5家大厂,最后收获拼多多Java岗offer,分享三面总结!

爱好编程进阶

Java 程序员 后端开发

2021年九月最新Java面试必背八股文,338道最新大厂架构面试题

爱好编程进阶

Java 程序员 后端开发

2021最新分享字节四面成功拿Offer!

爱好编程进阶

Java 程序员 后端开发

32 岁的我裸辞了,八年 Java 老鸟,只因薪水被应届生倒挂

爱好编程进阶

Java 程序员 后端开发

Java 从一个 List 中删除 null 元素

HoneyMoose

2021金三银四必备:“基础-中级-高级

爱好编程进阶

Java 程序员 后端开发

linux之秘钥登录

入门小站

Linux

Gitea 的简单介绍

HoneyMoose

pinpoint插件开发之二:从零开始新建一个插件

程序员欣宸

Java 分布式 4月月更

架构实战营作业四

库尔斯

#架构实战营

2020面试官会经常问到的三个并发工具类,你都知道吗?

爱好编程进阶

程序员 后端开发

2021最强面试笔记非它莫属:3000字Java面试核心手册(大厂必备

爱好编程进阶

Java 程序员 后端开发

阿里架构师耗时 176 天整理出来的 Java 独家面试题(10 万字面试总结)

Java架构追梦

程序员 java面试 后端开发

GitOps指南

俞凡

DevOps gitops

11-SpringSecurity:Session共享

爱好编程进阶

Java 程序员 后端开发

2020最新版Java学习路线图--妈妈再也不用担心我误删数据库被开除了

爱好编程进阶

Java 程序员 后端开发

手撕阿里 Spring 框架:AOP、IOC、注解、事务,带你统统拿下

Java架构追梦

Java spring 程序员

在 ABAP 技术栈里实施 Continuous Integration 的一些挑战

汪子熙

DevOps 持续集成 abap 5月月更 持续优化

2021最新一次Java面试,快手三面一轮游,如今已拿意向书

爱好编程进阶

Java 程序员 后端开发

网站开发进阶(一)Tomcat域名或IP地址访问配置详解

No Silver Bullet

tomcat 网站建设 5月月更

[Day31-04]-[二叉树]二叉树的堂兄弟节点

方勇(gopher)

LeetCode 数据结构和算法

高精度在线计时器(秒表)

入门小站

工具

C++类设计和实现的十大最佳实践

俞凡

c++ 最佳实践

在线Excel转JSON工具

入门小站

工具

[Day32]-[二叉树]二叉树中的最大路径和

方勇(gopher)

LeetCode 二叉树 数据结构和算法

决战摸鱼之巅:将vscode撸成可局域网联机对战的moba平台

gamedilong

前端 vscode nodejs Node 摸鱼

Sentinel集群限流探索

艾小仙

sentinel 分布式限流 集群

关于人才的招聘的一些看法(31/100)

hackstoic

团队管理 招聘

nginx配置系列(三)日志配置

乌龟哥哥

4月月更

架构训练 模块4作业

小马

「架构实战营」

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