Design Tech Talk Series Presents: OO Design for Testability
Sign in to YouTube
Sign in to YouTube
Sign in to YouTube
Uploaded on Oct 7, 2009
Google Tech Talk
October 6, 2009
ABSTRACT
Presented by Miško Hevery.
We design our code for performance, maintenance, simplicity, extensibility and other goals, but most of us do not think about testability as a design goal, yet verifying the correctness of our code is of great importance. What does it mean to have testable code, and what kind of trade offs does one have to think about when designing for testability. Turns out that testable code is well designed code, and it has many of the characteristics we search for such as low cohesion, separation of concerns, proper encapsulation and many others.
-
Category
-
License
Standard YouTube License
Loading...
Loading...
Loading...
Loading...
Loading...
-
20:59
Jim Coplien and Bob Martin Debate TDDby toalexsmail's channelFeatured
1,426
-
54:09
The Clean Code Talks - "Global State and Singletons"by GoogleTechTalks
56,861 views
-
37:57
The Clean Code Talks - Don't Look For Things!by Google Tech Talks
74,854 views
-
56:36
So You Want To Be A Programming Rock Star?by Google Tech Talks
56,020 views
-
1:00:18
How To Design A Good API and Why it Mattersby Google Tech Talks
174,336 views
-
81
videos
Play all
Tech Playlistby deecm22
-
55:27
How Cybercriminals Steal Moneyby Google Tech Talks
135,004 views
-
1:29:54
Think faster focus better and remember moreRewiring our brain to stay younger...by Google Tech Talks
402,884 views
-
54:23
80:20 rules! - Building software smarterby Google Tech Talks
36,017 views
-
1:11:14
Meaningful Innovation: Whether to Design or Evolve?by GoogleTechTalks
23,389 views
-
51:58
Life of a C++ Standardby Google Tech Talks
10,756 views
-
59:34
Automated Testing Patterns and Smellsby Google Tech Talks
42,305 views
-
38:25
"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"by GoogleTechTalks
125,973 views
-
Object-oriented programming
8,013 videos303
-
1:03:08
GTAC 2010: Flexible Design? Testable Design? You Don't Have To Choose!by GoogleTechTalks
4,731 views
-
1:06:01
Introduction to JavaScript and Browser DOMby GoogleTechTalks
63,471 views
-
54:43
Differential Synchronizationby Google Tech Talks
13,370 views
-
1:02:08
Agile Testingby Google Tech Talks
145,905 views
-
59:41
An Overview of the Coming C++ (C++0x) Standardby GoogleTechTalks
47,821 views
-
52:10
Google Faculty Summit 2009: Frontiers in Systems Researchby Google Tech Talks
19,516 views
-
50:48
Cooperation and Engagement: What can board games teach us?by Google Tech Talks
40,435 views
-
59:23
The Next Generation of Neural Networksby Google Tech Talks
276,668 views
Top Comments
neohubris 3 years ago
Misko thank you very much for doing these talks. Your clean code talks has helped my work tremendously.
Sign in to YouTube
Sign in to YouTube
Pablo Pera 3 years ago
Great talk!
Sign in to YouTube
Sign in to YouTube
All Comments (27)
Roberto Guerra 1 month ago
That is not the Law of Demeter. It is about types not dots.
Sign in to YouTube
Sign in to YouTube
Sumit Vyas 2 months ago
Awesome... For the 20 arguments problem the solution suggested is following SRP. Single Responsibility Principle takes care of simplifying the Object graph and code simplification.
Sign in to YouTube
Sign in to YouTube
ericcartmansh 8 months ago
at 23:04 wouldn't it make more sense to have the unit test create the Engine instance fakeEngine with getEngine() and pass in the engine factory and the model? Or is the call to getEngine assumed to be happening in the constructor of the Engine class?
Sign in to YouTube
Sign in to YouTube
Christian B 10 months ago
I've seen some videos from Miško Hevery. This helped me alot moving to the right direction.
Sign in to YouTube
Sign in to YouTube
vaulttech 1 year ago
I've searched for the other 3 talks (since this is the fourh) but I couldn't find them. Can someone please give me the link?
Sign in to YouTube
Sign in to YouTube
Grim Leaper 2 years ago
I meant LoginPage, sorry.
Sign in to YouTube
Sign in to YouTube
Grim Leaper 2 years ago
Well I think he refered to the latter case as "the class with singleton lifetime" and not a singleton (I noticed this ambiguity only when he talked about the Login_class). And he did not say it was problematic to test because it had singleton lifetime, he said it was problematic owing to it's dependencies, and therefore that particular class might have been better as short-lived class with different dependencies, that wouldn't force it to break the law of Demeter.Am I getting it right?
Sign in to YouTube
Sign in to YouTube
Erick Dovale 2 years ago
Very nice talk. A bit ambiguous with the term singleton. There is the singleton pattern as described in the Gof4 book which is the one that is problematic to test and there is the single instance of a class throughout the life of the application. There is nothing wrong with the latter IMO.
Sign in to YouTube
Sign in to YouTube
Sai Gudigundla 2 years ago
Thanks for the great presentation.
Sign in to YouTube
Sign in to YouTube
pereznels 2 years ago
Awesome presentation!
Sign in to YouTube
Sign in to YouTube