Technical Debt

In this article I want to talk about a term that I think is just brilliant: technical debt! The term technical debt makes an analogy: it considers the use of quick, but poor, technical solutions to store up a form of debt. As with more conventional forms of debt, the immediate problem is solved, but Read more…

Object Characteristics

In this article I want to look at the essential characteristics that objects have, namely those of state, behaviour and identity. This article follows on from my my What is an Object? article of a while ago, when I offered the following definition of what an object is: An object is a physical manifestation of Read more…

Why Unit Test?

I’ve written a few articles about unit testing on this blog, but so far they’ve been about how to go about doing so and what supporting libraries/frameworks are available. Now I want to look at why unit testing is a good idea. In particular, this article will focus on the business perspective. Many software developers Read more…

Unit Test Frameworks

At the end of my previous article Pros and Cons of Using the C assert Macro for Unit Testing in C/C++ I promised to follow up with an article summarising the popular unit testing libraries/frameworks. In this article I will give that summary: For the .NET languages there is NUnit. Although the source code is Read more…

Pros and Cons of Using the C assert Macro for Unit Testing in C/C++

This is a short follow-up to my recent article A Very Simple Introduction to Unit Testing. In that article I described the development of a very simple unit test for a very simple C++ class. To do this I used the C/C++ assert() macro, saying the following about it: "…although assert wasn’t originally intended for Read more…