1. Applying Behavior Driven Development in Refactoring Hong Jun Software Development Engineer @ Amazon
2. Where we started… 10+ years old legacy system Complicated business logic Messy code, without unit tests Lost the requirement/specification The 90+% members of the current team are the new hire
3. Where do we want to get to? Simplify, more maintainable Better quality, testable Continues integration Able to deploy everyday
7. How about integrate them? Scenarios Scenarios Design and implement Test Cases Business Logic/Story deploy Design and implement the module Verify Scenarios also provide an invaluable regression test suite.
8. End to end, black box testing functional, white box testing
18. Incremental Delivery The framework/plug-in structure that let us can deliver our features incrementally; for picked the features during runtime instead of during commit time, that will help us reduce code branching requirements, make our integration and delivery process faster.
19. Throughput Throttling Throughput Controller let the deployment same as the real production deployment structure that not only let us control the volume finer and easier, but also let us find some issues involving multi instances running parallelly (such as: resource concurrent access, load balance and etc.) possible.
20. Incident Recovery When the incident happen, the process about the type message involving the issues could be switched back to the legacy part automatically.