时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

移动端和 Web 端测试覆盖策略

  • 2017-06-27
  • 本文字数:2408 字

    阅读完需:约 8 分钟

Eran Kinsbruner 认为,测试团队需要将测试工作与应用程序在不同销售区域市场的使用模式进行匹配,以满足消费者在所有数字媒介上都能流畅使用应用程序的期望。他制定了一套以数据为驱动对移动终端进行测试覆盖的方法和指标,通过综合考虑设备特性(如上市时间、屏幕参数)和一些测试相关准则来得到不同设备型号和操作系统的测试组合。

Eran Kinsbruner 作为 Perfecto Mobile 公司的移动业务布道者,在 2017 年春季的在线测试大会上发表了题为“根据业务情况建立合适的移动测试实验室”的演讲。InfoQ 正在通过访谈记录、摘要和文章的方式对大会的内容进行报道。

InfoQ 在 Eran Kinsbruner 演讲结束后对他进行了采访,探讨如何制定移动终端测试覆盖策略。

InfoQ:为何测试覆盖如此重要,为什么我们应该关注测试覆盖?

Eran Kinsbruner:当前数字媒介的复杂程度是前所未有的。桌面浏览器如 Chrome 和 Firefox 每个月都会发布公测版本或正式版本,而移动设备和操作系统版本也以同样的节奏不断地推出市场。每次新版本发布不仅仅会给实验室带来挑战,需要开发和测试团队对其进行针对性测试,识别回归测试内容并保持测试能够通过,而且还会引入新的特性和功能。现状是,消费者希望在所有数字媒介上都能流畅地使用应用程序功能,无论是移动智能手机、平板电脑、桌面浏览器还是物联网设备(IOT)。为了满足客户的期望,开发团队需要一个时时更新的测试实验室,以匹配不同销售区域市场的使用模式。倘若忽视测试覆盖,会影响客户口碑和市场竞争力。

InfoQ:如何衡量移动终端测试覆盖程度?

Kinsbruner:移动终端测试覆盖程度很难衡量,这就是为什么我制定了一套基于市场使用情况分析的方法,从不同角度看待市场上的移动设备。

要衡量移动终端测试覆盖程度,需要通过分析客户使用情况挑选出在应用程序销售区域使用人数最多的前 30 款移动设备。同时确保该列表中包含不同操作系统版本和设备上市时间(最新的、最受欢迎的、旧版的)的充分排列组合。

对于 iOS,我们认为当前有 3 个操作系统版本(iOS 10、iOS 9 代表旧版、iOS 11 Beta)应该包含在前面提到的待测移动设备列表中。问题是有些设备只支持 iOS9.3.5 或更早的系统版本(iPhone 4S、iPad Mini),一旦 iOS11 正式版推出,iPhone 5、5C、iPad 4 支持的操作系统也将停留在 iOS 10。对于 Android,情况就更复杂了。开发人员开发应用程序时必须跟进最新的操作系统版本,而要运行最新版本就必须使用 Nexus 或 Pixel 设备。其余的 Android 操作系统则遍布不同的 OEM 厂商且流行程度也各有不同。虽然三星和 LG 等厂商一直试图跟上 Google 的步伐,但也直到最近才在他们的高端设备上支持 Android 7.0——而这时距离 Android 7.0 发布已经过了将近六个月。为了更好地衡量和维护对市场上移动终端的覆盖程度,我制定了一套分为基础、增强和扩展三部分的 3 层方法论,并为每个销售区域制定了一个包含 32 款移动设备的列表。这些列表是基于前面所说的方法制定的,即综合考虑设备特性(如上市时间、屏幕参数)和一些测试相关准则来得到不同设备型号和操作系统的测试组合,基于数据驱动测试的方法对移动终端进行测试覆盖。该列表包括当前使用较多的移动设备和操作系统、旧版本的设备和操作系统,还有基于市场调研结果将来可能会流行的新平台。按照这个列表进行测试得到的结论对于开发人员和测试人员来说都是非常有意义的。

InfoQ:如何尽可能全面地测试终端用户体验?

Kinsbruner:提升用户体验的唯一方法,是尽可能地模拟用户真实使用环境、用户使用应用程序数据的过程和用户的基本面貌。应用程序开发人员应该要能根据分析结果和应用程序用户故事定义一套终端用户基本面貌,如:

  • 个人信息(性别、年龄段等)
  • 位置信息
  • 基于位置的网络情况(所支持地区的主要运营商)
  • 后台应用程序
  • 电池电量使用情况

一旦开发团队设置好上述条件,这将成为完美的测试配置,根据上面提到的方法选择合适的测试设备列表后就可以在这些移动设备上对应用程序执行真正的用户体验测试。

InfoQ:对于应该选择哪些移动设备和操作系统版本进行测试,你有哪些建议?

Kinsbruner:我强烈建议使用与市场数据相关的现有分析结果(如上述报告和列表),并坚持每季度对这些数据进行验证和修正。此外,我坚信凡事预则立,因此我也建议创建新的或利用已有的移动终端市场日历对即将发布的设备、操作系统版本或浏览器等进行预测。在上述报告中,我提供了自己创建的移动端和 web 端的日历,其中还包括操作系统版本的使用情况,可以指导用户何时应该将测试切换到最新的重要操作系统版本上。对于测试覆盖最重要的是要了解用户、了解市场,并确保测试实验室能够尽可能的模拟用户和市场。

InfoQ:如何改进移动端和 web 端的测试?

Kinsbruner:为了加快发布速度、增强创新性和竞争优势,你需要实现自动构建,自动化应尽可能涵盖工作流程中的各项测试,如功能测试、用户体验测试、性能测试等,并更快速地将结果反馈给开发人员。测试实验室应该保证移动终端的最佳覆盖程度,同时保证自动构建过程可以在无人值守的情况下正常运行,以确保流程的流畅性。每一次代码变更都应该触发一定级别的测试在部分平台上执行,同时返回给开发人员的结果必须可靠且有一定的预见性,以便开发人员做出正确的决策。技能和工具套件显然是整个测试过程的重要组成部分,而这些需要根据应用程序功能、团队技能等进行选择。如今的移动端测试环境中存在各种开源测试框架,而这些框架之间又有很大的区别,与此同时测试计划经常包含一些复杂的测试场景(如前面所说的用户体验测试),因此测试团队可能需要利用多个框架来实现整个测试计划的自动化,或者先进行全面分析后再决定匹配度最好的测试框架。

查看英文原文 Strategy for Mobile and Web Test Coverage


感谢张卫滨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-06-27 19:002435
用户头像
蔡芳芳 InfoQ 总编辑

发布了 819 篇内容, 共 615.8 次阅读, 收获喜欢 2822 次。

关注

评论

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

解读阿里云刚发布的《AI 原生应用架构白皮书》

阿里巴巴云原生

阿里云 云原生

云栖2025 | 阿里云开源大数据发布新一代“湖流一体”数智平台及全栈技术升级

阿里云大数据AI技术

大数据 flink 阿里云 EMR Dataworks

ETL调度最佳实践:避免高峰期任务冲突与资源争抢

谷云科技RestCloud

数据处理 数据传输 ETL 任务调度 数据集成平台

代码之美-代码整洁之道

京东科技开发者

在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名益智游戏框架需求探索

qife122

游戏开发 AI技术

经典2048游戏:数字合并的益智挑战

qife122

JavaScript 益智

30天Python编程挑战 - 从零基础到全栈开发

qife122

Python 全栈开发

工业管理 项目管理经验总结(13)

万里无云万里天

项目管理 工业 工厂维护

喜报|枫清科技荣获2025网易未来大奖「AI智能体创新企业TOP10」

Fabarta

华为开发者空间云开发环境(容器)操作指导

华为云开发者联盟

容器云 华为开发者空间

荣耀携手腾讯电子签打造智能合同流水线,准确率提高20%

极客天地

聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾

阿里巴巴云原生

阿里云 云原生 函数计算

工业管理 项目管理经验总结(12)

万里无云万里天

项目管理 工业 工厂运维

Azure测试计划中的全新测试运行中心

qife122

软件测试 测试管理 Azure DevOps

华为开发者空间-云主机镜像制作与复制分享功能指导

华为云开发者联盟

镜像 云主机 华为开发者空间

RestCloud × 物流行业:让货物追踪更精准,让供应链协同更高效

谷云科技RestCloud

供应链 数据传输 集成平台 ipaas tms

递归算法实践--到仓合单助力京东物流提效增收

京东科技开发者

FreeBSD包管理器pkg使用指南:轻松列出可升级软件包

qife122

包管理 freebsd pkg命令 系统升级

构建易受攻击的AWS DevOps环境:CloudGoat场景实践

qife122

云安全 AWS安全

让每次语音唤醒都可靠,公牛沐光重构可观测体系

阿里巴巴云原生

阿里云 云原生 Arms

Maven编译报错

刘大猫

人工智能 云计算 大数据 算法 物联网

Amazon Q Developer扩展安全漏洞分析与修复指南

qife122

网络安全 VS Code扩展

嘉为蓝鲸DevOps工作台:信息按需聚合查看,自定义卡片开发上架灵活扩展

嘉为蓝鲸

DevOps 研发效能 研发效率 工作台 基础管理平台

阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施

阿里巴巴云原生

阿里云 云原生 agent

阿里云OpenLake及行业解决方案年度发布,助力千行百业Data+AI一体化融合

阿里云大数据AI技术

大数据 阿里云 OpenLake Agentic AI

开源鸿蒙“书同文”,星闪“车同轨”,美的家电大一统的启示

脑极体

AI

16岁极客少年的造浪之路:用 TRAE 撬动创业第一桶金

北京中暄互动广告传媒有限公司

低代码技术的扩展逻辑:从开发主体泛化到工程秩序的再生产

JeeLowCode低代码平台

低代码 低代码排名 低代码工具 低代码实现

华为开发者空间云开发环境部署OpenHands,解锁AI赋能的高效编程搭档

华为云开发者联盟

MaaS DeepSeek 华为开发者空间 OpenHands

RAG实践:一文掌握大模型RAG过程

京东科技开发者

嘉为蓝鲸CMeas研发效能洞察平台:在线编辑表字段格式,自定义度量打造DevOps专属分析模型

嘉为蓝鲸

DevOps 研发效能 数据管理 研发效能度量 研发效能洞察平台

移动端和Web端测试覆盖策略_方法论_Ben Linders_InfoQ精选文章