Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Designing with tests

7,363 views

Published on

Unit tests are great, they help a developer gain control over his code and catch bugs and regression issues.
Test Driven Development is a methodology that uses unit tests but it's not about writing unit tests - in fact the tests are only a design tool.
TDD is a methodology that solves problems in an iterative way, it's about emergent design that creates a maintainable solution.
In this session I'll talk about common mistakes and misconceptions, how to benefit from TDD and show how to design your code using unit tests.

The code for this talk can be found on GitHub: https://github.com/dhelper/DesignWIthTests

Published in: Software
  • Be the first to comment

Designing with tests

  1. 1. http://blog.drorhelper.com
  2. 2. Red Green Refactor
  3. 3. Red Green Refactor
  4. 4. Test Test Test Tests
  5. 5. is not
  6. 6. TDD is not about the tests It’s about Emergent Design
  7. 7. Phone rings User Accepts call User connects to call
  8. 8. And now for something completely different
  9. 9. underwater?
  10. 10. Sounds familiar?
  11. 11. Phone rings User Rejects call Call ends UserAccept Call Do Nothing
  12. 12. Phone rings User Accepts call Receive acknowledge from caller User connects to call
  13. 13. annoy
  14. 14. Phone rings User Accepts call Receive acknowledge from caller User connects to call
  15. 15. And most importantly
  16. 16. architect
  17. 17. Architecture is still needed functional requirements quality constraints principles http://www.codingthearchitecture.com/2014/02/19/software_architecture_provides_boundaries_for_tdd_bdd_ddd_rdd_and_clean_code.html
  18. 18. “ ” framework boundaries vision and guidance
  19. 19. Drives design – emergent design Help you stay on track Reduce distractions cost Enable change architecture
  20. 20. drorh@codevalue.net http://blog.drorhelper.com

×