PAGE 18/51
> feature freeze - 1st regress end
Unit tests
Component tests
E2E tests
Manual tests
1. Regression test suite
is run
2. Each unit performs
impact analysis
3. Each unit manually
tests its features
4. P0/P1 bugs are fixed
or features are
disabled
Slide 19
Slide 19 text
PAGE 19/51
> 1st regress end - 2nd regress end
Unit tests
Component tests
E2E tests
Manual tests
1. Regression test suite
is run
2. Impact analysis for
fixed bugs
3. Broken features are
disabled
Slide 20
Slide 20 text
PAGE 20/51
> 2nd regress end - staging
1.Roll out for 1% users
2.Automatically watch for
crashes & metrics
3.Hotfix if necessary
Slide 21
Slide 21 text
PAGE 21/51
> staging - release
1.Manual roll out
2.Anomaly detection
3.Hotfix if P0 bug
PAGE 23/51
30
200
700
860
Q1 Q2 Q3 now
> E2E Testing
Began automatisation in Q4'2017
Currently 860 UI test methods
3 devices
2610 tests in regress suite
PAGE 38/51
> Modular Architecture
How we use it
- Each module has its owner
- Demo apps out of the box
- Module lazy load
- Module quality checks: usage, contributors,
build time, etc
PAGE 41/51
App performance affects business
metrics.
> Hypothesis
Slide 42
Slide 42 text
PAGE 42/51
5% of daily audience, each group - 1%
- A,B - control groups
- C - +2s delay
- D - +4s delay
- E - +6s delay
> Experiments
Slide 43
Slide 43 text
PAGE 43/51
1. Performance affects bounce rate
2. Hygienic minimum - 4s
3. Most problems in regions
4. [Web] 1s of speed up -> 0,2-4% business
metrics
> Results
Slide 44
Slide 44 text
PAGE 44/51
> Avito - daily use service
Our target:
- Cold start - 1,5s
- Screen first paint - 0,1s
- Screen first interactive - 0,5s
- Scrolling - 60fps