写点什么

LinkedIn Bluepill:开源的大规模 iOS UI 测试工具

  • 2017-01-25
  • 本文字数:790 字

    阅读完需:约 3 分钟

LinkedIn 软件工程师 Keqiu Hu 在官方博客上介绍了该公司的Bluepill。Bluepill 使得开发人员可以在单一机器上用多种模拟器运行iOS UI 测试,目标在于提供稳定的测试工具和可扩展的测试。

LinkedIn 提出的“ 3x3 理念”设定目标为每日三次发布,实现“在代码提交与对成员可用之间不超过三个小时”。作为该理念的重要组成,Bluepill 给出了两个高度可取的特性

  • 测试平台的稳定性,主要针对 Xcode iOS 模拟器的“古怪问题”,这些问题会使测试由于模拟器自身问题而非代码问题导致失败。据 LinkedIn 统计,他们所运行的测试中有 2% 就属于这种情况。
  • 测试的可扩展性。测试的并行运行可同时覆盖多种模拟环境,可扩展性从根本上提供了这种能力。

Bluepill 借助于 CoreSimulator 解决稳定性和可扩展性问题。CoreSimulator 是 Apple 的一种未公开架构,它具有创建不同类型的设备模拟器、选择运行时版本、处理模拟器提供的通知等功能。Hu 提到,使用 CoreSimulator 实现了将 Bluepill 从 Xcode 模拟器中隔离出来,并使 Bluepill 可并行使用多种模拟器运行测试。这里 Xcode 模拟器是一种随每次 Xcode 的更新而不断进化的黑盒。

在最简单的用例中,可使用如下命令运行 Bluepill:

./bluepill -a ./Sample.app -s ./SampleAppTestScheme.xcscheme -o ./output/这个命令将会启动四个模拟器,此外还有一些可以用来定制测试环境的选项,包括使用模拟器的数量、运行时环境、失败测试时允许重试的次数、测试被卡住时的等待时间等。

Bluepill 采用 BSD-2 许可在 GitHub 上开源提供。对于不打算自己从源代码构建的开发人员,Bluepill 也提供了二进制版本

查看英文原文: Bluepill is LinkedIn’s Open-source Tool for iOS UI Testing at Scale


感谢冬雨对本文的审校。

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

2017-01-25 18:003723
用户头像

发布了 227 篇内容, 共 81.3 次阅读, 收获喜欢 28 次。

关注

评论

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

一定要过等保吗?过了等保是不是非常安全?

行云管家

网络安全 等保 堡垒机 等级保护

三分钟永久激活WebStorm、PHPStorm、PyCharm、IntelliJ IDEA等JetBrains系列IDE

echeverra

pycharm webstorm IntelliJ IDEA PHPStorm

勒索软件即服务与IAB产业浅析

腾讯安全云鼎实验室

安全攻防 勒索病毒

云管理软件哪家好?有哪些功能?咨询电话多少?

行云管家

云计算 云服务 云平台 云资源 云管理

Linux应该怎么学?《Linux一学就会》教你如何学习Linux

侠盗安全

Linux linux运维 云计算架构师

成为弹唱高手的秘诀!看这一篇就足够!

懒得勤快

Vue进阶(幺捌贰):父子组件元素获取、方法互相调用

No Silver Bullet

Vue 组件通信 11月日更

恒源云(GPUSHARE)_云GPU服务器如何使用 JupyterLab?

恒源云

深度学习

同城本地生活信息服务软件开发你知道多少?

风行无疆

编解码再进化:Ali266 与下一代视频技术

阿里云CloudImagine

阿里云 音视频 视频编码 视频编解码 视频云

【云图说】DRS数据对比——带您随时观测数据一致性

华为云数据库小助手

GaussDB 华为云数据库 华为云DRS

Python Qt GUI设计:信号与槽的使用方法(基础篇—7)

不脱发的程序猿

Python qt PyQt GUI

墨天轮国产数据库沙龙 | 胡彦军:华为GaussDB迁移工具解密

墨天轮

数据库 华为云 GaussDB 国产数据库

浅谈网络性能之端到端业务质量分析

鲸品堂

运营商

SphereEx 中文开源社区正式开站!精美礼品等你来拿

SphereEx

开源社区 ShardingSphere SphereEx Apache ShardingSphere 中文开源

自定义View:如何实现双击点放大图片控件

Changing Lin

11月日更

模块三作业

Geek_1d37ea

架构训练营

2022第十五届北京国际智慧城市、物联网、大数据博览会

InfoQ_caf7dbb9aa8a

数据基础设施支撑电力人工智能:新能源集控智能管理

EMQ映云科技

人工智能 物联网 电力

全能文件恢复软件推荐

淋雨

数据恢复

【重磅官宣】UDC2022:解码Z世代、力造科技潮生活

科技热闻

(文末福利)云上论剑,谈谈如何构建新的数据系统技术体系

Zilliz

数据库

恒源云(GPUSHARE)_云GPU服务器如何使用 TensorBoard?

恒源云

深度学习

JDK的第三个LTS版本JDK17来了

程序那些事

程序那些事 11月日更 jdk17 java17

校招 C++ 大概学习到什么程度?

博文视点Broadview

Selenium修改HTTP请求头三种方式

FunTester

测试 HTTP selenium FunTester UI自动化

手写自定义迭代器,秒懂迭代器底层原理

Tom弹架构

Java 架构 设计模式

识别AI换脸!百度这项技术夺冠了!

百度开发者中心

AI

Flink Sort-Shuffle 实现简介

Apache Flink

大数据 flink 实时计算

在线问诊系统功能以及快速发展的意义

风行无疆

LinkedIn Bluepill:开源的大规模iOS UI测试工具_移动_Sergio De Simone_InfoQ精选文章