Er, I blame him, him and hiiim, oh and that little voice inside my head…
We’re developing some code for a client. There’s a standalone server, which we’ve completed, and a small stub of code that allows the client’s existing system to talk to our new server in place of the old thing they used to talk to…
This morning I stubbed out the new stub and put together a test harness project. Unfortunately, due to the way the client’s code is coupled it could prove difficult to test the new stub…
Earlier I said “I’ll probably keep the code for now, but it’s not the code I’d have written first if I was working from a test. I wouldn’t need it yet… I may never need it in production…” I lied. It’s in CVS if I need it, so why keep it cluttering up the code when I don’t need it…
Way back in June I was playing around with OBEX. I’ve had a quiet day today and went back to the code to progress it a little more (a client is making interested noises so I need to get back up to speed again). The code I wrote in June was before I’d become test infected…
The first thing to do, of course, was to add a test harness and a mock object library to the OBEX library.
We’ve just booked up with the Warren Smith Ski Academy again for another week of training in Saas-Fee. Not until early next season though :( But it’s the first trip booked… Now, where and when to go this season…
I’ve noticed that quite a few blogs I read have turned off comments and trackbacks and removed all trace of any previous comments/trackbacks. I realise that the comment spam problem is a pain but I find that I treat blogs without comments/trackbacks as “less reliable sources”…
I guess it depends on the theme of the blog content. Blogs that are just someone’s random thoughts and dont have an agenda probably don’t really need comments or trackbacks, after all, who cares what other people have to say on the topic.
I had one of those “Doh!” moments yesterday. In summary, always put the performance monitoring code in early, looking at a program’s vital signs as a jiggly graph can show up all kinds of unexpected things…
The work on the gateway server that I’m currently building for a client has been going well but yesterday I had a weirdness develop. Very rarely a test would fail because the server would fail to respond to a request.
One of the people I email’s corporate mailer has started to bounce my mail with the following message:
*mx.example.com[xxx.xxx.xxx.xxx] said: 554 You have been blocked
by a DNS blacklist, please see:- http://www.openrbl.org/ (in reply to MAIL FROM command)* So I wander over to www.openrbl.org and type in my domain name and it tells me REJECT: invalid ip-address or non-resolvable hostname: jetbyte.com…
Now, it’s true that jetbyte.com doesn’t have an ip address, but it has a perfectly valid MX record… Shouldn’t OpenRBL be checking that the MX record is valid rather than checking that the domain has an ip?
I’m writing some tests where I need to log calls to function for the test log so that I can make sure the function is called in the expected way when the test runs. The logging version of the object under test derives from the object and adds the logging functionality and calls the object under test to do the work. Of course, for this to work, the functions that I’m interested in can’t be private.
Barry suggests that to do meaningful performance tests you need to know a bit out the way the thing that’s under test operates.
I guess he has a point given his reason for performance testing was to compare a new version of the thing under test with an older version of the same thing…
Personally, I’d be tempted to leave the poorly performing tests in the test harness. Then add some comments about why these particular situations are unlikely to show up as real usage patterns and why the object under test performs poorly in these particular situations.