AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

移动端和 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:002293
用户头像
蔡芳芳 InfoQ 总编辑

发布了 813 篇内容, 共 591.1 次阅读, 收获喜欢 2808 次。

关注

评论

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

南宁等级测评机构有几家?分别是哪几家?

行云管家

等保 南京 等级保护 等级

【等保小知识】过等保后可以收到哪些资料?

行云管家

等保 等级保护 过等保

物联网平台选型葵花宝典:盘点开源、SaaS及通用型平台的优劣对比

AIRIOT

物联网 物联网平台选型 平台选型

百度APP iOS端内存优化-原理篇

百度Geek说

ios 内存 企业号 2 月 PK 榜

优秀实践案例征集火热开启,快来投稿!

Apache RocketMQ

消息列队

Apipost自动化测试功能概述

不想敲代码

自动化测试 测试自动化 apipost

使用 QuTrunk+Amazon Deep Learning AMI(TensorFlow2)构建量子神经网络

亚马逊云科技 (Amazon Web Services)

深度学习 量子计算

记录一次还算优雅的代码设计

京东科技开发者

线程 cpu 优雅 代码设计 企业号 2 月 PK 榜

统一观测丨如何使用Prometheus 实现性能压测指标可观测

阿里巴巴云原生

阿里云 云原生 Prometheus 压测

有了 ETL 数据神器 dbt,表数据秒变 NebulaGraph 中的图数据

NebulaGraph

数据库 大数据 数据处理 图数据库

状态机的概念与设计

timerring

FPGA

【活动报名】re:Invent - AI 应用助力企业构建数字战略

亚马逊云科技 (Amazon Web Services)

云原生技术在容器方面的应用

统信软件

容器 云原生 云服务

Apifox 1 月更新 | 将接口调试做到「极简」的新模式上线

Apifox

Apifox API

OpenHarmony 3.2 Beta多媒体系列——视频录制

OpenHarmony开发者

OpenHarmony

从一个Demo说起Zookeeper服务端源码

宋小生

zookeeper

给 Databend 添加 Aggregate 函数 | 函数开发系例二

Databend

成熟的自动化运维平台是怎样练成的?

嘉为蓝鲸

自动化运维 嘉为蓝鲸

直播预告丨 立即解锁 ALB Ingress 高级特性

阿里巴巴云原生

阿里云 容器

新思科技解读2023年软件安全行业六大趋势

InfoQ_434670063458

新思科技 软件安全

使用 NineData GUI 创建与修改 ClickHouse 表结构

NineData

MySQL 分布式数据库 Clickhouse Dbeaver NineData

兴业证券打造更“自然”的数字人,火山语音提供技术支持

科技热闻

GaussDB(DWS)现网案例:collation报错

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

直播预约|数据库掌门人论坛召开,共谋中国数据库生态发展新路径

镜舟科技

数据库 大数据 开源

OpenInfra峰会议程已公布,特色主题演讲,百余场专题会议等你来参与!

极客天地

聊一聊,我对DDD的关键理解

阿里技术

DDD

基于 Kubernetes 的企业级大数据平台,EMR on ACK 技术初探

阿里巴巴云原生

阿里云 容器 云原生

MASA Stack 1.0 发布会讲稿 —— 产品篇

MASA技术团队

.net 云原生 MASA MASA Blazor

火山引擎DataLeap:3个关键步骤,复制字节跳动一站式数据治理经验

字节跳动数据平台

大数据 数据治理 数据研发 实际应用 企业号 2 月 PK 榜

提升软件质量?为什么不试试华为云CodeArts Check

华为云开发者联盟

云计算 华为云 企业号 2 月 PK 榜 华为云开发者联盟

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