Your SlideShare is downloading. ×
0
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Applying BDD in refactoring
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Applying BDD in refactoring

718

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
718
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Applying Behavior Driven Development in Refactoring<br />Hong Jun<br />Software Development Engineer @ Amazon<br />
  • 2. Where we started… <br />10+ years old legacy system<br />Complicated business logic<br />Messy code, without unit tests<br />Lost the requirement/specification<br />The 90+% members of the current team are the new hire<br />
  • 3. Where do we want to get to?<br />Simplify, more maintainable<br />Better quality, testable<br />Continues integration<br />Able to deploy everyday<br />
  • 4. Make the things as easy as possible!<br />
  • 5. Integration Pipeline<br />
  • 6. Build Server<br />
  • 7. How about integrate them?<br />Scenarios<br />Scenarios<br />Design and implement Test Cases<br />Business Logic/Story<br />deploy<br />Design and implement the module<br />Verify<br />Scenarios also provide an invaluable regression test suite.<br />
  • 8. End to end, black box testing <br />functional, white box testing<br />
  • 9. Automated Test Architecture<br />
  • 10. Real Example<br />
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Continuous Deployment<br />
  • 17.
  • 18. Incremental Delivery<br />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.<br />
  • 19. Throughput Throttling<br />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. <br />
  • 20. Incident Recovery<br />When the incident happen, the process about the type message involving the issues could be switched back to the legacy part automatically.<br />
  • 21. Now, we can get there safely.<br />Here we go!<br />
  • 22. http://weibo.com/hongjun<br />armyhj@gmail.com<br />

×