Assert(js) Speaker Series: why building a robust testing and deployment infrastructure is important
On Feb 22, 2018 I will be giving a talk about Detox at Assert(js) Conf in San Antonio, TX. Following my CFP acceptance, I was requested to answer a few questions as part of the Assert(js) Speaker Series.
Assert(js): How do you convince management or clients that testing is important ?
I’d like to take server development at Wix as an example for this question. Today, our server developers rely solely on automated tests, there is zero manual QA in the release process. A developer commits changes, these changes run on CI, executing that project’s test suite, test suites of projects depending on that change are also being triggered, and if everything is green, it can be pushed to production. Wix deploys to production over 150 times a day. This confidence is a result of serious commitment to testing, building robust testing and deployment infrastructure. We want to reach the same level of confidence with our mobile stack as well…
Wix’s mobile team grew from 8 to ~40 people in the past 21 months. One of our main objectives is to create a “zero manual QA” process for our mobile app, same as we do with our servers. We put lots of resources into defining testing methodologies, building testing infrastructure (such as Detox) and using all that when developing new product features. We believe these actions will eventually help us grow our mobile teams to 100 or even 150 developers while maintaining high development velocity.
A big part of Wix’s mobile infrastructure is open source, you can find a few good examples on how these projects are being tested and maintained, allowing us to sleep better at night.
Detox: Our home brewed End to End testing framework for mobile apps. We use Detox across the different modules of the Wix app. Detox itself is a TDD project running a comprehensive E2E suite to test Detox’s own API on each commit. We also test React Native Navigation using Detox…
A post I wrote about Detox deals a lot with the history of the mobile release process in Wix, and why we invest a lot in testing today.
Assert(js): How would you convince a developer to start including testing in their workflow?
For conference talk details visit https://www.assertjs.com