36. The project name is inspired by the
Matrix’s Bluepill
36
Project Bluepill
37. Objective-c code base on top of
CoreSimulator and other Apple
frameworks
Running tests in paralle via multiple
simulators
Automatically packing tests into groups
with similar running time
Retrying when simulator hangs or
crashes.
37
Project Bluepill
Revolutionized
How many of you release your app once per month/week/day?
----- Meeting Notes (3/1/17 09:56) -----
background
-> scale of the team
-> continuous delivery in the past and now
However, we release IFF all regression tests pass. But in reality that is not the case. Same as in school xxx. Errors in homework
As we approach the release day (cut-off date). It is exponential.
Bad quality -> open RC
PM have to carefully plan their features (miss one -> screw up) brainstorm.
Mobilize
Vertical teams
Consistent UI and same vision for the all platforms
Production quality app to internal -> Code compilation, testing, ipa validation -> 3 hours
Get rid of manual testing
Make sure the app produced by the continuous delivery has a high quality -> higher crash-free rate, high production quality
Past -> unit test
Now -> test pyramid
All views are rendered based on the models, layout test framework helps exhaust all input strings to make sure xxx
Man -> manual, machine -> automation
Why chose KIF -> no others and kif is fast and no ruby
Talk more about this in stability section
KIF is not enough
Slow / Verbose and most importantly stable
Monitor crash rate in background
Without provisioning files
With enough test coverage and dogfooding, we achieved a super reliable continuous delivery pipeline.
How many of you are using Swift in your company?! Intrepid bold
But we were brave Longer, crashes, no incremental build
Latest Swift and Xcode is troublesome and most big companies refuse to onboard Swift as their primary language INCLUDING APPLE
By end of this exercise, we ended up with 1h release build time and 20 minutes local dev time
20 minutes is not fast enough for local dev! What can we do next?? Hardware!