1 of 27

Flank

Test sharding on Firebase Test Lab

Matthew Edwards

matt@bootstraponline.com

2 of 27

Agenda

  • Flank
    • Intro
    • Features
    • Roadmap
    • Community
  • Q & A

3 of 27

Flank

Massively parallel Android and iOS test runner

4 of 27

Flank History

  • April 2017
    • Walmart Labs - Flank Java
    • gcloud dependency

5 of 27

Flank History

  • May 2017
    • bootstraponline contributes to Flank Java

6 of 27

Flank History

  • June 2017
    • bootstraponline creates Flank Kotlin
    • Calls FTL APIs directly

7 of 27

Features

  • Test sharding
  • YAML compatible with gcloud
  • Cost reporting
  • Stability testing
  • HTML report
  • JUnit XML

8 of 27

Test Running

flank

gcloud

9 of 27

Android Sharding

10 of 27

iOS Sharding

11 of 27

flank.ios.yml

gcloud:

test: ./EarlGreyExample.zip

xctestrun-file: ./EarlGreyExample.xctestrun

xcode-version: 10.1

device:

- model: iphone8

version: 12.0

locale: en

orientation: portrait

flank:

testShards: 2

12 of 27

$ flank ios run

$ gcloud firebase test ios run flank.ios.yml:gcloud

13 of 27

flank.yml

gcloud:

app: ./app-debug.apk

test: ./app-debug-androidTest.apk

device:

- model: NexusLowRes

version: 28

flank:

testShards: 2

14 of 27

$ flank android run

$ gcloud firebase test android run flank.yml:gcloud

15 of 27

Cost Reporting

16 of 27

Stability Testing

flank:

repeatTests: 100

17 of 27

JUnit XML

18 of 27

HTML report

19 of 27

Flank Roadmap

20 of 27

Smart Flank

  • Shard tests by time

flank/blob/master/docs/smart_flank.md ��flank/issues/399

21 of 27

Flank API

  • Flank client/server refactor

22 of 27

Download �Flank

23 of 27

Community

24 of 27

Flank iOS Usage

25 of 27

Flank Android Usage

26 of 27

Thanks to our users!

27 of 27

Ask me anything

matt@bootstraponline.com��#flank channel on Firebase Slack

https://firebase.community�