Archive for February, 2008

Feb 27 2008

FitNesse.NET workshop in London

Published by gojko under fitnesse,news

If you live in or near London, come down to Skills Matter on March 27th for an intensive two hour FitNesse workshop to share experiences and discuss best practices. Participation is free (I think that upfront registration is required).

See http://skillsmatter.com/net-tdd-fitnesse/pcd/5013 for more details.

No responses yet

Feb 25 2008

When TDD goes bad

Published by gojko under articles

Last week, at the London .NET User Group meeting, Ian Cooper talked about Test-driven development, focusing on both good and bad practices. I’m a big fan of learning from anti-patterns and mistakes of other people, so the second part of his session was very interesting to me. Here is a short list of things that Ian identified as symptoms that TDD has gone bad in a project, along with my comments: Continue Reading »

8 responses so far

Feb 18 2008

The wrong way to do a shopping cart

Published by gojko under articles

The print-on-demand service that I’ve chosen for my book has a fairly nice web user interface with lots of Ajax code. Generally, that web application is one of the best aspects of doing business with them. That’s why I was surprised to find a rather amateurish flaw in their shopping cart. Here is the screenshot:

Notice the “do not click Place Order more than once” message. Someone has obviously identified that customers have been clicking more times than needed, but offering a warning message is not the way to solve the issue. In fact, such a message is a huge warning signal that something is wrong.

I’m pointing out this case in particular because it is one of the most frequent problems I’ve seen in Ajax sites, and one so easy to avoid. The proper solution is incredibly simple: always disable the form as the first step of asynchronous processing. It is very easy to block the “Place Order” button before an Ajax call goes out to the server, and doing so would technically prevent anyone using a proper browser to place the same order twice. For high volume sites, like this one, I always recommend implementing some sort of double-order analytics on the server just in case, because exceptions do happen, but just a simple JavaScript command to disable that button would save everyone a lot of trouble.

18 responses so far

Feb 14 2008

How to test AJAX sites with FitNesse and Selenium RC

Published by gojko under fitnesse

It’s been almost a year since I wrote Automating web tests with FitNesse and Selenium, offering an idea how FitNesse can be used to implement a nice customer-friendly mini-language for user interface testing. Since then, that article has been one of the most popular, if not the single most popular, article on this web site. I have helped several clients improve and integrate their UI testing based on the ideas in that article, expanding and improving the mini-language, especially for AJAX testing. Here is what I’ve learned about that in the last year. Continue Reading »

33 responses so far

Feb 08 2008

FitNesse and F#

Published by gojko under fitnesse,news

I’m a great fan of Cory Foy’s blog — I learned how to use FitNesse from his articles. He is experimenting with FitNesse again. Read his post on how to write fixtures in F#, Microsoft’s new functional language, on cornetdesign.com.

No responses yet

Next »