PFLB

自动Ui利记手机app

利记手机app的客户端是一个社交约会应用程序,在全球范围内的认可和存在超过100个国家.
它是一个非常成功的社交媒体应用,拥有数百万的订阅者和每天超过10亿的点击量, 客户的工程团队过去和现在都面临着在Android上发布定期软件更新的挑战, iOS, 和Web平台,同时保持高质量标准,以满足其常规用户.

每个版本的变更率急剧增加,而产品通过A/B利记手机app推出新想法,因此只有 手动功能利记手机app 不能满足两周发行.
In 2016, PFLB被要求与内部工程团队合作,建造当时是, 使用自动化ui利记手机app工具的本地利记手机app自动化解决方案——新引入的用于iOS的XCUITest库和用于Android的Espresso库.

只有手工利记手机app不能满足每两周发布一次的需求,因为更改的速率是 大幅增加 而新想法则通过A/B利记手机app进行推广.

有一个 计划中的项目?

自2008年以来,利记手机app一直致力于性能利记手机app项目.

给利记手机app写信,了解利记手机app的团队能为您做些什么.

垂直分频器
离合器徽章来源
2019年欧洲利记手机app奖徽章
Techreviewer 2022徽章来源
CTA性能利记手机app

结果是:

  • 大约20%的功能利记手机app用例是自动化的
  • 完全回归时间缩短了约30%
  • 自动化客户端分析几乎在每个版本中都能找到P0/P1的bug(手动利记手机app非常耗时)

在利记手机app的团队开始与开发者进行CI战斗之前,利记手机app似乎已经取得了成功.
让利记手机app来看看一个典型的CI架构:

带有预合并利记手机app的CI(经典案例):
  • 带有应用程序代码库的GitHub仓库
  • 詹金斯CI
  • 每个PR及其连续提交触发了对PR分支的检查链,其中包括但不限于代码编译, 单元利记手机app, 代码样式验证
  • 上面描述的检查正在阻止PR合并-如果上面列出的检查之一失败, 在这个问题解决之前,PR部门不会合并到主要的开发部门.  

挑战:

为Android/IOS存储库添加UI自动化利记手机app,以与其他检查编译一起运行, 单元利记手机app, 对每个Pull Request进行lint处理

问题:

01

UITests由于其性质可能是薄的. 不稳定可能取决于许多因素——设备上的USB连接、互联网连接

02

应用程序中不断的UI更改会导致UITest失败,并需要在利记手机app代码中不断更新

03

因为利记手机app使用的是原生利记手机app框架(Espresso, XCTest)用于编写快速可靠的iOS和Android UI利记手机app, 这些利记手机app与应用程序的代码驻留在同一个存储库中. 因此,当开发者进行PR并中止其中一个或多个利记手机app时, 更改利记手机app或排除坏利记手机app将需要提交或另一个PR. 因此,所有的检查都需要再次运行,这非常耗时. 不只是开发人员被阻碍了,而且也被激怒了,因为他可能会改变UI流程,这使得UI Test对这种变化做出反应(假阳性)。不高兴和激怒的开发人员显然会反对以合并前的方式运行UI利记手机app,并会争取移动UI Test到合并执行后.

利记手机app协调器

检疫

利记手机app用例数据(Jira, Testrail)

自动化UI利记手机app利记手机app协调器

远程利记手机app包含/排除

最新利记手机app的完整列表

解决方案:

利记手机app协调器—用于在CI中管理利记手机app的框架.

1.

在不更改源代码的情况下启用/禁用特定自动化利记手机app的能力. 如果由于开发人员变更或其他原因导致利记手机app失败, 可以从主利记手机app池中快速禁用一个来解除阻塞CI. 编配器可以同时使用Unit和uitest!

2.

隔离是利记手机app协调器的另一个功能. 新添加的利记手机app在添加到CI利记手机app池之前必须连续通过10次. 同样的规则也适用于更新/固定的利记手机app. 这样的特性消除了CI的单薄性!

用例:

01

由于UI更改,在CI中利记手机app失败. 开发人员受阻,虽然他没有明确刹车利记手机app. 自动化团队或开发人员自己将从test Orchestrator的web门户禁用利记手机app,同时为自动化团队打开一个新的Jira任务来处理利记手机app修改.

检疫

自动UI利记手机app隔离

02

由于开发人员在Pull Request中引入的实际错误,利记手机app失败. 在检查了一个新bug之后,产品团队决定在下一个sprint中修复它. 开发人员或QA工程师将执行以下操作:

a.

开发人员或QA工程师从test Orchestrator网站门户禁用利记手机app,并链接Jira bug以供参考.

b.

当缺陷被修复时, 利记手机app的状态得到更新,并移动到隔离作业进行验证.

结论:

回顾这个项目所做的所有工作,利记手机app可以肯定地说它是成功的. 尽管要处理不断变化的应用程序,并且在非常紧迫的截止日期前工作, 利记手机app不仅成功地编写和运行了多个利记手机app用例, 但是也要认识到过程中变更的需要和重要性,并随后提出一个解决方案,消除与利记手机app自动化相关的许多问题.

所有这些都帮助利记手机app的团队认识到详细规划的重要性, 特别是在项目的早期阶段. 除了, 在一个跨越不同时区的跨国团队中工作,特别是在紧迫的截止日期前,利记手机app都有机会使用敏捷方法工作,并专注于为客户提供最终产品的质量. 在做这些事情的过程中, 利记手机app不仅帮助交付了更好的产品或改进了一些指标, 但利记手机app的团队也在努力学习和成长.