Software Design

Contract Tests

February 1, 2023

One of my favorite awesome talks of all time is Integrated Tests Are a Scam by J.B. Rainsberger. I must admit that the title has a clickbait vibe to it. However, I very muc...

Read more ...

The Testing Quadrant

June 15, 2022

Back in 2003, Brian Marick wrote an excellent article series about agile testing. There he described the concept of the Testing Quadrant. To my recollection this used to be a ...

Read more ...

Ignoring Tests

June 22, 2021

Most test frameworks out there have the capability to disable tests. This is usually done by adding some kind of annotation that instructs the test runner to ignore an individu...

Read more ...

Inside-Out and Outside-In TDD

June 16, 2020

Test-Driven Development is a discipline that exists for about two decades now. Unfortunately, to this very day, it is still not without controversy. Most professional developer...

Read more ...

Test Double Heuristics

June 3, 2020

In the previous blog post, we’ve talked about avoiding excessive specification of test doubles. This is just one in a series of “good practices” for using test doubles in solit...

Read more ...

Test Doubles

April 8, 2020

In the previous blog post, we’ve talked about indirect inputs and outputs when a unit test exercises a Subject Under Test. The examples shown previously demonstrate the use of ...

Read more ...

Indirect Inputs and Outputs

April 1, 2020

Previously we discussed what state and behaviour verification is about. Depending on the nature of the production code that we’re designing, we might decide to apply one approa...

Read more ...

Cascading Failures

March 18, 2020

In a previous blog post, we discussed the test pyramid and why it is a useful model to reason about a healthy mix of solitary and sociable tests. I mentioned that at t...

Read more ...

The Test Pyramid

November 7, 2019

In the previous blog post, we touched on two different categories of automated tests, namely solitary and sociable tests. We also mentioned that in order to build maintainable ...

Read more ...

A Taxonomy Of Tests

October 8, 2019

It’s more than fair to say that the terminology used in the world of automated tests can be a bit overwhelming. Software people have uncovered all sorts of tests in a wide vari...

Read more ...

Fast Feedback

September 3, 2019

Test-Driven Development is a discipline that exists for almost two decades now. Unfortunately, to this very day, it is still not without controversy. Most professional developer...

Read more ...

Debugability Considered Useful

January 3, 2019

Developers are lazy. There’s nothing new about that. We even pride ourselves on it. Sometimes being lazy is a good thing, but most of the time it’s not something we should brag ...

Read more ...

Blaming Mocks For Bad Design

December 18, 2018

A while back I stumbled upon this talk titled Built-in Fake Objects. After I’ve watched the first 20 minutes or so, I was so worked up that I almost threw away my iPad just out ...

Read more ...

All in the Name of DRY

September 25, 2018

A while back, I was doing a code review. At some point I encountered some constructs that I see quite often. While I was describing and building my case, I was thinking that I ...

Read more ...

Premature Abstraction

October 17, 2015

The first time I read the GoF book, I didn’t understand it. This was because I didn’t had a decent understanding of the principles of object-oriented programming at the time. A...

Read more ...

Ventilation of Thoughts

September 7, 2008

Earlier this week I went back to work after a refreshing (and very much needed) vacation. During this past week I participated in some interesting discussions that made me think...

Read more ...

The Onion Architecture

July 29, 2008

This is what I consider to be a good architecture for long-lived business applications and how I like to design them. Actually, our current and past two projects apply this desi...

Read more ...

It's the little things

July 17, 2008

A while ago, I wrote a blog post regarding Test Data Builders Refined. Earlier this week, I wrote a very simple base class that provides an implicit cast operator for the builde...

Read more ...

Test Data Builders Refined

April 26, 2008

Last year, I blogged about Test Data Builders here and here. I still use them heavily in my unit tests for creating objects with test data. Heck, I also use this pattern for flu...

Read more ...

On Windows Workflow and Biztalk

April 4, 2008

From each of these technologies I have a book laying around on my bookshelf somewhere. For WF, I have bought Essential Windows Workflow Foundation about 1 year ago. Since then, ...

Read more ...

Castle Dynamic Proxy

March 30, 2008

This blog has been silent for a while, and for good reason. Besides experiencing symptoms of writer's block,  I've also been playing around with a lot of new stuff (at least new...

Read more ...

Test Data Builder

December 23, 2007

A while ago, I blogged about using Test Data Builders as opposed to the Object Mother pattern. Here are some links to additional tips and tricks: Tricks with Test Data Builders...

Read more ...

Article on Dependency Injection

September 29, 2007

Mark Monster has written an excellent article on Dependency Injection in the newest .NET Magazine (it's no MSDN magazine, but hey, its free of charge). Nonetheless, there are tw...

Read more ...

Persistence Ignorance. Finally!

June 5, 2007

Daniel Simmons, talks about persistence ignorance and how it will be incorporated in next version(s) of the ADO.NET Entity Framework. In a previous post, I already mentioned the...

Read more ...

You're not alone

May 30, 2007

It seems that Jimmy Nilsson also has a lot of trouble with ASP.NET. As you know (or might not know), I'm not enjoying my experiences with ASP.NET either. Enough with the ASP.NET...

Read more ...

Build a solid core

April 8, 2007

Essential reading from Jean-Paul S. Boodhoo about building a solid core. This post contains a number of truths that I want to point out. Many developers need to spend more time...

Read more ...

Domain-Driven Design

March 7, 2007

I'm so much into Domain-Driven Design! I already read Applying Domain-Driven Design and Patterns and I just finished reading Domain-Driven Design: Tackling Compl...

Read more ...

What's Wrong with ASP.NET (bis)

February 3, 2007

Another perspective from Steve Eichert. He claims that developers are not leaving .NET because of what Rails is doing right, but instead because of what .NET is doing wrong. Per...

Read more ...

What's wrong with ASP.NET

January 30, 2007

While I was doing the dishes today, I was thinking about the programming model of ASP.NET and the fact that I don't like it (just as don't like doing the dishes). The model it u...

Read more ...

Maintainable code

January 26, 2007

A very nice post by Uncle Bob about rapid software development. We've all done it! Pulling together those quick & dirty hacks in order to meet our deadline. We've created so...

Read more ...

About

Thank you for visiting my website. I’m a professional software developer since Y2K. A blogger since Y2K+5. Author of Writing Maintainable Unit Tests. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Thinking and learning about all kinds of technologies since forever.

Contact information

(+32) 496 38 00 82

infonull@nullprincipal-itnull.be