When starting to build a fresh product it is obvious these days that it needs to be tested, integrated and delivered continuously.
BUT, as time passes, and the complexity of the product grows, it is becoming more and more challenging to reliably do so.
In this talk Gil will share the real-life evolutionary/revolutionary process that was done at ravello systems over the past 3 years, which allows ravello to rapidly innovate, while sharing lessons and conclusions learned the hard way..
We will go over infrastructure and tool-chain considerations and discuss the various test flavors used in Ravello:
Server/Hypervisor(!?)/Web UI/thick-client testing, upgrade testing, feature toggle testing, performance and stress testing, configuration management testing and disaster/failure tests.
We will also discuss some common dilemmas such as when to mock/simulate and when to run full integration tests, boundaries between unit, integration and system tests, as well the cultural impacts of being a test-driven organization.