【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

移动 app 云测试平台的对比与分析

  • 2016-05-17
  • 本文字数:3220 字

    阅读完需:约 11 分钟

我们都知道在测试移动 app 时最耗时的是在各种测试设备进行测试, 因为不论是安卓还是 iOS 都已经碎片化了。而云测试看似是解决这一问题的有效途径。因此选择哪种云测试平台来协助测试人员进行各种测试就成为首要问题。

我们先来看看云测试平台通常都提供哪些功能和服务。

主流的云测试平台都支持对原生 native,混合 hybrid 和 Web app 的测试,这些测试包括:

  1. 兼容测试 通过在多种测试设备上安装/卸载和运行被测 app,遍历 app 的每个界面,主要检查 app 是否会报错或者崩溃。有些云测试平台还会对每个页面进行截图并进行对比。
  2. 脚本测试 通过运行云测试平台工具进行录制的或者使用自动化测试框架编写的自动化脚本,实现模拟用户操作的目的,并且减少手动测试时间。
  3. 性能监控和分析 利用 Android SDK 提供的借口,云测试平台可以检测移动 app 的耗电量,CPU 等资源占用率,使用的流量等信息。有些云测试平台还提供自己的 SDK,整合在 app 中可以提供更为准确的性能指标和信息,包括线上 app 的性能信息以及崩溃信息等。
  4. 手动测试和人工测试 云测试平台的手动测试是指租用云测试平台的特定设备,测试人员手动登录设备进行测试。而人工测试则是将测试需求告知云测试平台的专业测试人员,雇佣他们临时作为自己的测试人员进行测试。
  5. 持续集成 不少提供脚本测试的云测试平台都同时提供对持续集成(Continuous Integration)环境的支持。

此外不少国内云测试平台还提供以下功能:

  • 安全测试

  • 内测托管分发

  • 众包测试

我们再来看看各种云测试平台对于上述功能和服务的支持情况。

由于国内外的云测试平台使用环境等因素的不同,我们分别对国内外主流的几个云测试平台进行对比。

国外主流的云测试平台:

(点击放大图像)

图 1 - 国外主流的云测试平台对比

从上图我们可以看到一些特点:

  1. 在测试设备的数量上,Xamarin Test Cloud 和 Sauce Labs 都是非常有优势的,虽然 Xamarin Test Cloud 统计的是测试设备的数量,而 Sauce Labs 是平台的数量;

  2. 亚马逊自己的 FireOS 只被自己的云测试平台支持,在国内我们也能看到类似的例子;

  3. 所有的云测试平台都支持 app 测试,但是只有 TestDroid 支持游戏测试;

  4. 对于国内云测试平台提供的人工测试,安全测试,内测分发和众包测试,国外这些云测试平台都是不支持的,需要结合别的工具和框架进行使用。不过对于手动测试,Sauce Labs 和 Perfecto 这两个云测试平台支持租用测试设备进行手动测试;

  5. 对于云测试基础功能的兼容测试,以及脚本测试,崩溃分析和持续集成,这些云测试平台都是支持的;

  6. 只有 Xamarin Test Cloud,TestDroid 和 AWS Device Farm 支持性能监控;

  7. 对于脚本测试所使用的移动 app 自动化测试框架,每个平台都不甚相同:

  • Xamarin Test Cloud 支持 Calabash(iOS 和 Android)和自己的 Xamarin.UITest;

  • TestDroid 支持很多框架,包括支持 iOS 的 Calabash,appium,UI Automation 和 Jasmine,以及支持 Android 的 Calabash,appium,Espresso,Robotium 和 uiautomator;

  • Sauce Labs 支持自己的开源框架 appium;

  • Google Cloud Test Lab 则支持 Espresso,Robotium 和 Robo test;

  • AWS Device Farm 也支持很多框架,包括支持 iOS 的 Calabash,appium,UIAutomation 和 XCTest,以及支持 Android 的 Calabash,appium,JUnit,Espresso,Robotium 和 uiautomator。

  1. Xamarin Test Cloud,TestDroid 和 Sauce Labs 都有自己的移动 app 测试脚本录制工具,分别是:Xamarin Test Recorder,TestDroid Recorder 和 appium inspector。

综合来看,对于国外的云测试平台,如果侧重的是测试设备的覆盖程度,选择 Xamarin Test Cloud 和 Sauce Labs 会更合适;如果需要测试 FireOS 设备,那就选择 AWS Device Farm;如果侧重的是脚本测试中支持的语言和框架,那就可以选择 TestDroid 和 AWS Device Farm;如果是进行游戏测试,只能选择 TestDroid;如果要远程连接测试设备进行手动测试,那就需要选择 Sauce Labs 和 Perfecto;如果在测试过程中需要同步监测性能,就不能选择 Sauce Labs 和 Google Cloud Test Lab。

国内主流的云测试平台:

(点击放大图像)

图 2 - 国内主流的云测试平台对比

从上图我们也可以看到一些特点:

  1. Testin 云测支持的测试设备数量最多,达到了 600 部 Android 和 70 部 iOS 终端的数量;但是和 Xamarin Test Cloud 以及 Sauce Labs 支持的设备数量还是有不少差距的;

  2. 和亚马逊类似,阿里的 YunOS 也只有阿里 MQC 才能支持;

  3. 和国外的云测试平台很类似,这四个国内云测试平台也都支持 app 的云测试,而不支持游戏测试;只有 Testin 云测支持游戏测试;

  4. 对于云测试基础功能的兼容测试,国内主流云测试平台都是支持的;

  5. 这四个国内云测试平台也都支持崩溃分析,不过对于性能监控,却只有百度 MTC 支持,而且百度 MTC 的深度性能测试中还可以做竞品 app 的性能对比;

  6. Testin 云测和百度 MTC 不支持手动测试;

  7. 只有阿里 MQC 不支持人工测试;

  8. 只有 Testin 云测不支持安全测试;对于支持安全测试的云测试平台,也没有公布是如何进行安全测试的;

  9. Testin 云测支持内测分发和众包测试,阿里 MQC 支持众包测试,其它两个云测试平台对于内测分发和众包测试都不支持;

  10. 对于脚本测试,只有腾讯优测不支持;而对于测试工具和框架,各个平台的支持也不相同:

  • Testin 云测支持 Robotium,JUnit,淘宝的 Athrun 和 Testin SDK,其中只有 Testin SDK 支持 iOS 和 Android,其他框架都只支持 Android;

  • 百度 MTC 只支持通过自己的测试脚本录制工具录制的脚本;

  • 阿里 MQC 支持 Robotium 和增强后的 appium,其中 appium 可以支持 iOS 和 Android;

  1. Testin 云测,百度 MTC 和阿里 MQC 都提供了自己的测试脚本录制工具,分别是 itestin 录制回放工具,百度 MTC 录制回放工具和易测;

  2. 国内云测试平台都没有提及持续集成,不过从笔者的了解看来,Testin 云测和阿里 MQC 应该是都支持的。

对于国内云测试平台,如果需要覆盖更多的测试设备或者需要测试游戏亦或需要内测分发,只能选择 Testin 云测;如果需要测试 YunOS 设备,那就需要选择阿里 MQC;如果需要进行性能监控和竞品对比,那就选择百度 MTC;如果要远程连接测试设备进行手动测试,那就需要选择腾讯优测和阿里 MQC;如果需要雇佣云测试平台的专业测试人员,就不能选择阿里 MQC;如果需要进行安全测试,就不能选择 Testin 云测;如果需要进行众包测试,那就选择 Testin 云测和阿里 MQC;如果要进行脚本测试,就不能选择腾讯优测,对于百度 MTC 也不推荐。

相信通过对比这些云测试平台提供的功能和服务,以及它们各自的特点,读者在选用云测试平台时有了更多的依据。希望大家在使用这些信息作为依据时,综合考虑这些云测试平台的特点,同时可以使用它们提供的免费试用进行尝试,以便验证是否真的适合自己的 app。

P.S. 以上云测试平台提供的功能及服务,截止于 2016 年 3 月 20 日。

作者简介

黄勇 , ThoughtWorks 咨询师。在 10 年的 QA 相关领域的工作中,积累了丰富的对企业级应用和大型产品应用的测试和管理经验;近些年关注于移动 app 的测试和行业发展。合作组织和创办了北京软件质量大会 BQConf,始终关注于新的技术和业界趋势,不停汲取新的知识和实践,同时热衷于分享。著有《移动 app 测试的 22 条军规》,在 InfoQ 曾发表过《游戏化在保险项目中的实践》。


感谢张凯峰对本文的策划,感谢崔康对本文的审校。

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

2016-05-17 17:2816832

评论

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

流动性挖矿系统开发 lp矿池挖矿定制、双币模式质押挖矿

西安链酷科技

如何将极狐GitLab 漏洞报告导出为 HTML 或 PDF 格式或导出到 Jira

极狐GitLab

gitlab 安全 bug Jira 漏洞检测

文心一言 VS 讯飞星火 VS chatgpt (127)-- 算法导论11.2 2题

福大大架构师每日一题

福大大架构师每日一题

进击的代码之路:如何培养解决问题的架构思维?

互联网工科生

架构 架构师

数字先锋| 打造生态环境监测新范式,天翼云助力青海“生态之窗”数字化升级!

天翼云开发者社区

云计算 大数据

ER图:改变你数据库设计流程的神器!

Geek_09ea8e

ER图 实体关系图 数据库设计流程

GPT-4 变笨加剧,一个笑话讲八百遍;ChatGPT 之父剑桥演讲遭抵制丨 RTE 开发者日报 Vol.77

声网

如何使用商品详情API接口来获取想要的商品数据?

Noah

Util应用框架介绍

何镇汐

C# 后端 软件开发 开源框架’

SecureCRT for mac(终端SSH仿真工具)v9.4.1中文激活版

mac

securecrt 苹果mac Windows软件 终端SSH仿真工具

公链开发技术团队

西安链酷科技

公链开发

每个程序员都应该知道的六种负载均衡算法

树上有只程序猿

负载均衡

Util应用框架平台概述

何镇汐

C# 开源 后端 软件开发

无纸化登记二维码应用方案:扫码填写表单,信息收集无纸化

草料二维码

二维码 无纸化登记

云行| 天翼铸云,百业腾飞!天翼云为“数字茂名”建设注智赋能

天翼云开发者社区

云计算 大数据

开发搭建体育赛事直播系统平台源码解决方案,助于体育平台打造娱乐化IP

软件开发-梦幻运营部

区块链挖矿是怎么挖的?区块链挖矿有几种方式?

西安链酷科技

云算力挖矿源码

土地元宇宙类链游开发、区块链游戏开发

西安链酷科技

元宇宙游戏

公链开发技术和成本

西安链酷科技

公链开发

INFINI Labs 产品更新 | Agent 全新重构,优化指标采集,支持集中配置管理,支持动态下发等功能

极限实验室

console agent loadgen INFINI Labs 极限科技

突破性的多语言代码大模型基CodeShell:引领AI编程新时代

汀丶人工智能

人工智能 自然语言处理 多模态大模型

最全对比!8款UML图工具究竟哪个最适合你?

Geek_09ea8e

可视化 UML UML图工具

实施全面预算管理,夯实国有企业发展基础

智达方通

国有企业 全面预算管理

如何精通项目质量管理:主要内容+3大关键执行策略

PingCode

项目管理 项目质量管理

百万人才补贴!2024年国家级人才工程引进申报,入选资格保留2年

科兴未来News

人才补贴 海外博士 人才引进 回国发展

Util应用框架前端概述

何镇汐

C# 开源 后端 软件开发

Util应用框架概述

何镇汐

文心一言 VS 讯飞星火 VS chatgpt (127)-- 算法导论11.2 2题

福大大架构师每日一题

福大大架构师每日一题

云行| 速智未来 鹭岛展翼!中国电信天翼云推动数字厦门新跨越

天翼云开发者社区

人工智能 云计算 大数据

公链开发

西安链酷科技

公链开发 公链团队

pi币商城开发 公链项目开发 dapp开发公司

西安链酷科技

移动 app 云测试平台的对比与分析_移动_黄勇_InfoQ精选文章