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.

Creating A Unit Testing Strategy


Published on

Unit testing is much more than JUnit, or what type of code we test. It's a process, and we need to think of it as such.

Published in: Software
  • Be the first to comment

Creating A Unit Testing Strategy

  1. 1. @gil_zilberfeld Unit testing strategy
  2. 2. @gil_zilberfeld Hello! I AM GIL ZILBERFELD @gil_zilberfeld
  3. 3. @gil_zilberfeld What is unit testing?
  4. 4. @gil_zilberfeld What is unit testing? And why does it need a strategy?
  5. 5. @gil_zilberfeld Brian Marick’s Testing Quadrants
  6. 6. @gil_zilberfeld Skills Planning Writing Designing Prioritizing Testing Reporting Refactoring And more…
  7. 7. @gil_zilberfeld The grand plan Where do we test? What kind of tests? What can give us the most confidence? What can we not test?
  8. 8. @gil_zilberfeld Ten steps to the epiphany
  9. 9. @gil_zilberfeld Prerequisites Source control Continuous integration Branching methodology Training
  10. 10. @gil_zilberfeld Which way to go? Test first or after TDD and BDD Which tools to use Skillz
  11. 11. @gil_zilberfeld Understanding the problem Slicing the stories Mapping test cases Risks Edge cases
  12. 12. @gil_zilberfeld Dealing with legacy code What are the risks Critical code Recurring bugs Preparatory refactoring
  13. 13. @gil_zilberfeld Designing a solution Where are the dependencies What will need mocking Remember to involve the testers
  14. 14. @gil_zilberfeld Design for testability Use ports and adapters Expose seams Avoid the evil singletons Use the SOLID principles
  15. 15. @gil_zilberfeld Test categorization What is a unit Test organization What can we run quickly Set the CI to run the different levels
  16. 16. @gil_zilberfeld Write the tests About time, isn’t it?
  17. 17. @gil_zilberfeld Review Code review Test review Documentation Definition of Done
  18. 18. @gil_zilberfeld Knowledge sharing … is knowledge caring Don’t keep what you’ve learned for yourself!
  19. 19. @gil_zilberfeld Unit testing? There’s a process for that!
  20. 20. @gil_zilberfeld Thanks! ANY QUESTIONS? You can find me at: @gil_zilberfeld