New Little Book
I've been posting more on LinkedIn these days. Short little nuggets about TDD that people really seem to respond to. It's all out there if you want to read it, just look for my name on LinkedIn....
View ArticleTDD Mark 3, part 2
I realized recently that this had been written, but never published. Part 1 was, but never this second part. Not sure how that happened. Maybe I needed a test. :) Anyway, here it is. Part three is...
View ArticleThe 6 Do's and 8 Skills of Development
This post is not about TDD per se, but rather a context in which TDD can demonstrate its place in and contribution to the value stream. This context has to do with the 5 things that we must accomplish...
View ArticleTDD: Specifying the Negative
One of the issues that frequently comes up is "how do I write a test about a behavior that the system is specified not to have?" It's an interesting question given the nature of unit tests. Let's...
View ArticleTest-Driven Development in the Larger Context: Pt 4. Synergy
Having established the differences between ATDD and UTDD, how are they the same? Why are they both called “TDD” collectively? Tests ensure a detailed and specific, shared understanding of behavior. If...
View ArticleTDD Mark 3, part 2
I realized recently that this had been written, but never published. Part 1 was, but never this second part. Not sure how that happened. Maybe I needed a test. :) Anyway, here it is. Part three is...
View ArticleTest-Driven Development in the Larger Context: Pt 3. Automation
Both ATDD and UTDD are automatable. The difference has to do with the role of such automation, how critical and valuable it is, and when the organization should put resources into creating it....
View ArticleTest-Driven Development in the Larger Context: Pt 2. Cadence
<!--[if gte mso 9]><![endif]--><!--[if gte mso 9]> Normal 0 false false false EN-US X-NONE X-NONE<![endif]--><!--[if gte mso 9]>
View ArticleTest-Driven Development in the Larger Context: Pt 1. Audience
<!--[if !mso]> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} <![endif]--><!--[if gte mso...
View ArticleTest-Driven Development in the Larger Context: TDD & ATDD (Introduction)
Introduction A question that often arises in our consulting and training practices concerns the relationship between Test-Driven Development (TDD) and Acceptance-Test-Driven Development (ATDD). Which...
View ArticleTDD: Testing Behavior in Abstract Classes
<!--[if !mso]> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} <![endif]--><!--[if gte mso...
View ArticleMagic Buttons and Code Coverage
This will be a quickie. But sometimes good things come in small packages. This idea came to us from Amir's good friend Eran Pe'er, when he was visiting Net Objectives from his home in Israel. I'd like...
View ArticleTDD and Design: Frameworks
Increasingly, in modern software development, we create software using components that are provided as part of a language, framework, or other element of an overall development ecosystem. In...
View ArticleTDD and the "6 Do's and 8 Skills" of Software Development: Pt. 1
This post is not about TDD per se, but rather a context in which TDD can demonstrate its place in and contribution to the value stream. This context has to do with the 6 things that we must accomplish...
View ArticleSpecifying The Negative in TDD
One of the issues that frequently comes up is "how do I write a test about a behavior that the system is specified not to have?" It's an interesting question given the nature of unit tests. Let's...
View ArticleStructure of Tests-As-Specifications
(Please note: this post is being revised... expect improvements to be made) A big part of our thesis is that TDD is not a testing activity, but rather a specifying activity that generates tests as a...
View ArticleTDD and Its (at least) 5 Benefits
Many developers have concerns about adopting test-driven development, specifically regarding: It's more work. I'm already over-burdened and now you're giving me a new job to do. I'm not a tester. We...
View ArticleTDD and Defects
We've said all along that TDD is not really about "testing" but rather about creating an executable form of specification that drives development forward. This is true, and important, but it does not...
View ArticleWelcome Max Guernsey
Max has joined Net Objectives, as some of you may know, as a trainer, coach, and mentor. We've been friends with Max for a long while, and he has been a contributor to this blog and to the progress of...
View ArticleTDD and Asychronous Behavior: Part 2
<!--[if !mso]> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} <![endif]--><!--[if gte mso...
View Article