Testing Web Interfaces

In this morning's meeting, I told the Hippo students that we're going to do analysis & estimation on four things, then (probably) only build three (maybe even two):
  1. refactor Trac to separate the model from the controller (right now, the database interaction code is stirred into the who-what-where-when logic);
  2. add support for multiple projects (Victor Ng pointed out that this is a big task, as it involves major architectural work);
  3. add some kind of group communication mechanism (probably mailing list or bulletin board---instructors don't like NNTP newsgroups much, and blogs aren't the right way to arrange for someone to bring TimBits to a meeting); and
  4. build some infrastructure for testing Trac's web interface.
Two students (Sean Dawson and Kristin Kerr) worked on testing infrastructure for the Java version of Hippo last term, and their final report includes a good summary of available tools. By coincidence, Titus Brown's blog had an entry today on "Testing Web Sites". It pointed at the Python Browser Poseur (PBP) web site, and at webunit, both of which I'm going to have students look at. If any readers know of other Python-friendly tools for testing web sites, I'd be grateful for mail.