Sunday, 23 December 2007

Colour Blindness Simulator for Firefox 3

This is an extension for Firefox 3 made by Gnome which will place a filter over a web page to make it look like it is being viewed by a Colour Blind person.

LTDP Editor

I was having a read of the following blog post and it talks about a gui editor for LDTP. This will really open up LDTP as it will allow recording of scripts. As previously you would need to use something like Accerciser which to sniff the objects in the application and then manually build the script up from there.

Testing Links

Just came across this which is a blog that has a list of links to a whole heap of articles on the web about testing.

Sunday, 5 August 2007

Continuing on from TAP towards a database

Well TAP (Test Anything Protocol) does log well and is easy to parse into some type of report. That is all good but what happens when you want to record results across multiple test runs, across threaded harnesses, across a cluster of boxes or multiple test harnesses. Yes you can store all the tap log files in a directory but there are problems with searching and sorting finding out when something was last run. To start managing it you are going to have to do some major grepping and sorting, so you might as well put it in a database so can get at the results with SQL.

TAP is generic and can easily any test result to it as it is generic but covers off all the data you really need. So when designing the database need to make it generic like TAP so you can use it with any testing application, but there is also need to make it extensible so can tailor to what/how you are testing. The extending should be done so you can all the pre-existing reports etc. without any breakage and also have one central database that can be storing all the results for multiple applications and/or harnesses without them stepping on each others toes.

I am thinking the best way to do the extensibility is via setting up child tables as means the queries/reports running on the default tables will continue to work. Having child tables is better then just adding more columns to the database because you won't get lots and lots of null columns depending on what test harness is being run.

Seeing I am currently writing a test harness at work at the moment I am thinking about storing the results and making reports, so this is really going through my mind at the moment. I am thinking I might look to see if there is some type of standard database that can use that already has some reporting stuff written. Just thinking about Mozilla's Litmus will have its database somewhat covers this so might give that a look.

Monday, 30 July 2007

TAP - Test Anything Protocol

TAP is a really cool idea. A log format for the logging of test results coming out of some automated process. It has some great benefits:
  • Really easy for a human to read with tail -f. Hate trying to read XML or some format that is designed for computers to parse easily
  • It is also really easy to to write a parser for it. Just some easy string splitting and you have the data out ready to write to an HTML page or something.
  • Also with the parsing don't need to wait for everything to finish as with something like XML it is only well formed once the whole thing is complete. As some tests runs may take hours or even days. If you are running for that long you really want some type of results along the way so you know that everything is going alright.
I have been playing with a writing a testing framework at work. I am using TAP for the logging the results. TAP is logging the results ok; but I am hitting some limitations in it.
  • Well my testing app is threaded so keeping the TAP log to spec is not easy. So I am currently logging each thread to a separate log file. In this app it isn't actually to bad as each thread is testing a separate input file so having the results is alright as it make some sense. And when making the report it is easy enough to just iterate through all the log files in a directory to make a nice little report.
  • Another thing is it is quite generic and missing things that I would like:
    • Run time. It would be nice if there was a way to mark run time in the file somehow so it is always in the same place or can regex find it in a common way.
    • Also need a way to link it back to a master test plan. How to link a number in TAP to a test in a test script or something. Thinking making a reporting matching the test execution to the test scripts in a requirements in a test matrix style type thing.
    • Also how do you get logging of results across test runs. As some tests might get run in one test execution and not tested in another one. Need some way of bringing all this together.
    • Also searching of the results and generating reports is a bit hard.
So TAP good at logging there and then. But thinking about long term storage, resulting and traceability matrix type stuff need something more substantial and extensible so can add more data than just the generic stuff. All this has to to be done so the extensibility doesn't break the the generic so can use a basic report generator even when have custom data. So that leave me thinking inheritance and databases suspect that is another blog post. Need to do some more thinking first.


Mozilla wants to spin Thunderbird off. My first thought was how can they do that I hate them etc. But sitting around and thinking about it it may be a smart move ... if done right. The main competition is Exchange/Outlook. Currently TB only hits the email side of Outlook. Using Exchange/Outlook at work it provides so much more. Exchange/Outlook provides you with the full PIM thing and integration between your work mates. Using a solution at client site that doesn't Exchange/Outlook it just doesn't work so well. You don't get emails saying that someone is booking time in your calendar and it doesn't remind you that you have a meeting to go to by default. And this client's system doesn't sync with my phone. From my phone I want to see my address book and I want to know when I have an appointment and also want to be able to book new meetings.

So with this spinning off they need to sit down and hook up with some other people and give us the full experience. Lighting is giving us the Calendar, so we just need the server side from somewhere to hook it all together. And some work from the phone to get it talking to my phone via bluetooth and not not just on WIndows but also on Ubuntu. So one will hope that this seperate can give them the freedom to go down this route.

So how will this help the home user well it give TB a market who will pay for support and development.

As to how it revolutionise the web well. Suspect it will push IMAP and iCal so the server and client are tied together but can interchange and also will bring better bluetooth support to Linux, It will also make the phone manufactures think about an OS other than Windows.

So I am wishing the Thunderbird people all the best and hopefully I will be using TB at work as my production PIM in the near future.

Hi there


So who am I? Well I am Test Analyst at large New Zealand IT firm. I have a particular interest in the use of open source and automation. My favorite reason for automation is "I'm lazy and why should I do something when I can get a computer to do it for me. Especially when said computer can do it more often, quicker and more accurately?"

And like most other blogs what I say here is me and is nothing to do with who I work for.