We've used WeBWorK for our placement test at the University of Michigan for the past couple of years. We have about 7000 students who take the test in the course of the summer. Our test is based on the old pencil-and-paper test that we used to use before we moved on-line; when we first implemented the on-line version we did some evaluation that indicated that student scores on the on-line test were slightly higher than those on the pencil-and-paper test, but that students also did slightly better in the courses into which they were placed. The test is taken by students before they come to campus (theoretically, at least). I should add that the placements are strongly advisory, but don't actually have "teeth": a student can place into precalculus and then sign up for calculus III and the only thing that will stop her/him is her/his advisor. Our test only distinguishes betweeen placement into precalculus or calculus.
Specifically on the topic of the MAA tests, I think it would make sense to talk with the MAA about porting their tests to WeBWorK. I don't know what their attitude about the placement test content is, nor what their agreement with MapleSoft requires.
For anyone who is interested, some additional details about our placement testing setup follow.
- Account creation: we finally have things in place so that by the time students need to be able to take the placement test they have their University login. We authenticate through the central login server, so we just create (approximately 6700) student logins in the placement course at the beginning of the summer, and those students who don't actually enroll just never show up with actual test data.
- Data recovery: I have a script that plows through the WeBWorK database to get test results. Because of the number of students we're working with, I store results in a GDBM database for every student I find so that on the next run I only have to look up new tests in the WeBWorK database. This is far, far faster than sorting through WeBWorK for every student. The script then creates a data file in the format needed by the people who actually generate placement results and send them do advising. The file(s) is(are) then dumped in a directory where they can log in to get the data.
- Incomplete tests: It's worth noting that if students don't hit "submit" before their time expires, they don't have a test score on record. It is, however, possible to get their last answers from the course answer_log. Because it involves sorting through a (potentially large: even after truncation in June, my answer log for this summer is over 180MB) this is not a fast operation. This is another reason I keep the cache of student results to avoid lookups.