Automated Ui Testing

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

当产品通过A/B利记手机app推动新理念时,每次发行的变更率便会急剧上升 manual functional testing could not cater bi-weekly releases.
In 2016, 利记手机被要求与内部工程团队联合起来,构建当时的东西, 使用自动化ui利记手机app工具的本地利记手机app自动化解决方案-新引入的iOS的XCUITest库和Android的Espresso库.

只有手工利记手机app不能满足每两周发布一次的需求,因为更改的速率是这样的 increasing drastically while new ideas pushing via A/B tests.

 

Got a project in mind?

没有比利记手机更适合QA解决方案的地方了.
Drop us a line to find out what our team can do for you.

As a result:

  • ~20% of all functional test cases were automated
  • full regression time was reduced by ~30%
  • 自动化的客户分析几乎在每个版本中都能发现P0/P1漏洞(手动利记手机app非常耗时)

成功似乎已经实现,直到利记手机app的团队开始与开发人员进行CI战斗.
Let’s examine a typical CI architecture:

CI with pre-merge tests ( Classical Case) :
  • GitHub repository with app codebase
  • Jenkins CI
  • 每个PR及其连续提交触发对PR分支的检查链,其中包括但不限于代码编译, unit tests, code style validation
  • 上面描述的检查将阻塞PR合并——如果上面列出的检查中有一个失败, PR不会被合并到主要开发分支,直到这个问题被解决.  

Challenge:

为Android/IOS存储库添加UI自动化利记手机app,以与其他检查-编译一起运行, unit tests, lint on each Pull Request

Problems:

01

UITests due to its nature might be flaky. 不稳定可能取决于许多因素——设备上的USB连接、互联网连接

02

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

03

Since we are using native testing frameworks (Espresso, XCTest) for writing fast and reliable iOS and Android UI Tests, 这些利记手机app和应用程序的代码都在同一个存储库中. 因此,当开发者进行PR并终止一个或多个利记手机app时, 利记手机app中的更改或中断利记手机app的排除将需要提交或另一个PR. 因此,所有的检查将需要再次运行,这是耗时的. 不仅开发人员被阻塞,也激怒了因为他可能改变UI流使UI利记手机app反应这种变化(假阳性)不满和愤怒的开发者将明显反对pre-merge运行UI利记手机app的方式,争取将UI利记手机app后合并执行.

Test Orchestrator

Quarantine

Test Cases data (Jira, Testrail)

Automated-UI-testing-test-orchestrator

Remote test inclusion/exclusion

Complete list of up to date tests

Solution:

Test Orchestrator – a framework for managing tests in CI.

1.

启用/禁用特定自动化利记手机app的能力,而无需对源代码进行任何更改. If test is failing due to a developer change or other cause, 可以从利记手机app的主池中快速禁用一个,以解除阻塞CI. The orchestrator works both with Unit and UiTests!

2.

Quarantine is another feature of Test Orchestrator. 新添加的利记手机app必须连续通过10次,才能添加到CI利记手机app池中. The same rule applies for updated/fixed tests. Such feature eliminates flakiness in CI!

Use cases:

01

Test fails in CI due to UI changes. 显影剂被阻止了,虽然他没有明确的刹车利记手机app. 在为自动化团队打开一个新的Jira任务以处理利记手机app修改时,自动化团队或开发人员自己将从test Orchestrator的web门户禁用利记手机app.

Quarantine

Automated-UI-testing-quarantine

02

利记手机app失败,由于实际错误,开发人员引入了一个拉请求. 在检查了一个新的bug后,产品团队决定在下一个sprint中修复它. Dev or QA engineer would perform the following actions:

a.

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

b.

When the defect is fixed, 利记手机app的状态得到更新,并转移到隔离作业进行验证.

Conclusion:

回顾这个项目所做的所有工作,利记手机app绝对可以称之为成功. 尽管必须处理不断变化的应用程序和工作时间非常紧迫, 利记手机app不仅成功地编写和运行了多个利记手机app用例, 但是也要认识到过程中变更的需要和重要性,并随后提出一个解决方案,该方案消除了与利记手机app自动化相关的许多问题.

所有这些都帮助利记手机app的团队认识到详细规划的重要性, especially at the early stages of a project. In addition, 在一个跨越不同时区的跨国团队中工作,特别是在临近截止日期的时候,让利记手机app都有机会使用敏捷方法工作,并专注于为客户提供最终产品的质量. In doing all that, 利记手机app不仅帮助交付了更好的产品或改进了一些指标, but our team also managed to learn and grow as well.

Download
brochures

有关利记手机app提供的QA解决方案的更多信息,请参见利记手机app的手册

PL CSV SOLUTION

PL CSV SOLUTION

TEST AUTOMATION SERVICES

TEST AUTOMATION SERVICES

CASE STUDY: TOP 10 BANK AT

CASE STUDY: TOP 10 BANK AT

AGILE PERFORMANCE TESTING

AGILE PERFORMANCE TESTING

IVR LOAD TESTING SERVICES

IVR LOAD TESTING SERVICES

CASE STUDY TOP 10 BANK LT

CASE STUDY TOP 10 BANK LT

CASE STUDY RETAIL

CASE STUDY RETAIL

CASE STUDY GOVERNMENT

CASE STUDY GOVERNMENT

QA OUTSOURCING WHITEPAPER

QA OUTSOURCING WHITEPAPER

Latest posts from us

API Micro Focus ALM and Performance Center
API微焦点ALM和性能中心:性能利记手机app工程师的基础知识
How to avoid your financial application crash under load
How to Avoid Your Financial Application Crash Under Load
Performance Testing for Online Games and Game Servers
Performance Testing for Online Games and Game Servers
Performance Lab以独家移动应用开发利记手机赢得GoodFirms的认可
Performance Lab以独家移动应用开发利记手机赢得GoodFirms的认可
User manual for k6
性能和负载利记手机app与K6 -开源工具和云利记手机