Forum OpenACS Improvement Proposals (TIPs): TIP #3: (Approved) Automated Testing strategy for OpenACS 5.0.0

In order to increase the coverage, visibility, and effectiveness of automated testing, we should do the following:
  • Link automated testing from the admin pages
  • Put automated testing results and links on the default index page for new installs
  • Create a skeleton framework of tests, including at least one test for every module and tests at every level of depth (SQL tests, API tests, .tcl tests, page contract tests, and HTML tests)
  • Create a means for developers to contribute new automated tests for any package.

I propose that we begin this by emphasising the existing automated-test package for the OpenACS 5.0.0 release, including doing as many of the above items as possible. I propose that we then integrate tclwebtest or similar functionality into automated-test and the stock OpenACS install in the next major release after 5.0.0.

I have a concern about putting the test results on the index page. This conflicts with another goal of mine, which is to make a default OpenACS install useful to people who want to run a CMS, groupware, .LRN, or vanity site.

I think this suggests that we should have different distributions for people wishing to develop with/for OpenACS, and for people wishing to just run an OpenACS site.

/Lars

Perhaps we should use the install.xml feature to set things up differently for toolkit developers and site developers, then, to meet Lars's objection?

Joel's proposal is a long-term one (we won't have HTML tests until we integrate tclwebtest, for instance) but the sooner we start the better.  Collaboraid's been writing automated tests for some of the work they've done in the past few months.

This task item needs a champion, and I think the TIP process assumes that the poster is by default the champion for any TIP  opened up.  That puts Joel on the hot-seat to coordinate our getting started on this task ... right, Joel? :)

Don, could you make the install.xml feature documentation (if it exists) available?

Thank you,

Randy