Friday, March 28, 2008

ST101 - Software Testing 101

Professional Queue Managers/ and Product Reviewers, take Heed!

The latest post on my delicious:

images/red-kashmiri.png at master from kingdon's tues-crep — GitHub, can you tell without a password, that I think this soda tastes like crap?
... just posted
You are reading this page and you probably can't see it from here. I can't even remember if I included a portal into that bucket on this page. That's not good! Worse, I'm not sure from where I sit, with my saved passwords, if you can even view the product review in question...

Still, the important thing you should get out of my message is this: do not drink Red Kashmiri soda. The Red Kashmiri soda tastes like the ocean. It is made of salt and mixed spices, as well as a token quantity of sugar. Only a fool will drink the Red Kashmiri soda after that!

http://del.icio.us/yebyen/ post#3464

The second most important thing you should get out of this message, if you are a delicious user this will come as no surprise, there is no easy or reliable way to find post #3464! That is not a permanent link, and the facilities for permanent linking are reserved exclusively for permanent records, which could not usually be deleted or absconded with. A delicious feed is more like a queue than a base or a permanent record, and as I learned from MSDN article about immutable data structures (reference still not handy) ahem there are some immutable queues, but this is not a property of queues that you can count on finding every single day! Queues are sometimes immutable, sometimes indexed, in this case not either. Not exactly, the URL is an index or key.

In Delicious world, you can tell if a post is unique or not because it has a URL that distinctly identifies it from other posts; it is assumed here that the value is not in the 255 character summary and unlimited vocabulary of tags, and this is perhaps a foolhardy assumption. The URL is the meat of your HTTP request, and unless there are some special POST variables or unless the referenced website has a special dynamic nature like what is often found on news portal websites (and Delicious pages) you should have no trouble retrieving the same content with the same request URL.

Delicious posts can arrive in a queue many posts all at once, or a handful at a time, and fortunately it is possible to aggregate a day's posts in digest format. What does this mean? If I am posting many times in a day, or many times in a week, with multiple trains of thought, then after that you don't check your mail incoming from what I am sending every day, we are going to have a disconnect: that means either you are going to have a lot of catching up to do, or I'm going to have a lot of explaining to do, either way we will be taxed (my brain and yours) to get a meaningful report of what I've been doing.

I'm in a different office every week.

What does this mean to you? You've probably never been in touch with me on a daily basis. Probably only person who has been in direct contact with me every day for the last year is me. Does this mean that I can't tell you what I've been doing for a year running? Lord I hope not!

You shouldn't spend time on links that you have already reviewed, unless there is some expectation that there will be something to gain from revisiting that URL. How do you guarantee that behavior on a consistent, repeatable basis? I'll start with PlanetPlanet Feed Reader — currently evaluating output formats — and ReiserFS v4 — this one might be over the top.