Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Designing for Testability

Designing for Testability

UtahJSConf 2013

Do you dread writing tests? Are you frustrated with un-testable code? Wish you had confidence in your application?

What about "no pain, no gain"? Come learn design principles that will give you confidence in your code—without the pain.

Designing for testability means adhering to sound design principles. A core benefit of solid design is insight into the internal state and activities of your program. "Testable" doesn't mean you can easily achieve 100% code coverage—it means you can easily verify you've created the right program and then validate your program's correctness.

Learn the What, Why, and How of:

Abstraction
Decomposition
Design by Contract
Law of Demeter
Orthogonality
Single Responsibility
DRY
Logging

Beginners welcome. A must for intermediates. A great refresher for all.

http://www.pseudobry.com/talks/2013/utahjsconf/designing-for-testability/

Jason Dobry

May 17, 2013
Tweet

More Decks by Jason Dobry

Other Decks in Technology

Transcript