Where do types come from?

Posted on by Matthias Noback

In essence, everything is a string.

Well, you can always go one layer deeper and find out what a string really is, but for web apps I work on, both input data and output data are strings. The input is an HTTP request, which is a plain-text message that gets passed to the web server, the PHP server, the framework, and finally a user-land controller. The output is an HTTP response, which is also a plain-text message that gets passed to the client. If my app needs the database to load or store some data, that data too is in its initial form a string. It needs to be deserialized into objects to do something and later be serialized into strings so we can store the results.

Quick Testing Tips: Testing Anything; Better Than Testing Nothing?

Posted on by Matthias Noback

"Yes, I know. Our tests aren't perfect, but it's better to test anything than to test nothing at all, right?"

Let's look into that for a bit. We'll try the "Fowler Heuristic" first:

One of my favourite (of the many) things I learned from consulting with Martin Fowler is that he would often ask "Compared to what?"

  • Agile helps you ship faster!
  • Compared to what?


Often there is no baseline.

-- Daniel Terhorst-North

Quick Testing Tips: Self-Contained Tests

Posted on by Matthias Noback

Whenever I read a test method I want to understand it without having to jump around in the test class (or worse, in dependencies). If I want to know more, I should be able to "click" on one of the method calls and find out more.

I'll explain later why I want this, but first I'll show you how to get to this point.