OpenACS/.LRN should have extensible regression testing to prevent changes to break other unnoticed parts of the system.
Nobody likes upgrading a system and getting new errors that weren't there before.
I'm using WWW::Mechanize because it works really well and it's maintained and extensively used in regression testing.
I already have a quick script to install OpenACS/.LRN from scratch only using the web interface (as a human with the browser would do).
You can find it here: http://e-lane.org/pub/openacs_assessment_regression_tests
It's not polished but it works quite well.
Some said to use TCL Webtest. But many people including me totally NOT like it 😉
The links to the perl WWW::Mechanize:
http://search.cpan.org/~petdance/WWW-Mechanize/
Web Testing with HTTP::Recorder (so you just have to browse the site to get a test script)
http://www.perl.com/pub/a/2004/06/04/recorder.html
There are other options like:
http://httpunit.sourceforge.net/ (also with http://junit.sourceforge.net/)
http://htmlunit.sourceforge.net/
HttpUnit seems to also have javascript and that would ease some things I can't totally test with WWW::Mechanize. But not having javascript it not a big problem and you also need to test pages with javascript disabled so you can also test servers checks and not only javascript client checks.
More about Web Testing in this slashdot discussion:
http://ask.slashdot.org/askslashdot/02/09/13/1724254.shtml
Some past references:
.LRN can now be installed automatically with the help of tclwebtest (I can't get the scripts. Anybody knows where to get them?)
https://openacs.org/forums/message-view?message_id=50346
Do you also feel that OpenACS/.LRN needs some real regression testing?
What do you suggest?