I definately prefer announced.
At my school, the test is a big social event and people come from all around. Sometimes they come from out of state or even out of country. Even if you are not testing you should come and support your fellow classmates. Sometimes we go out to lunch or dinner afterwards, but sometimes not. The point is that we try to act as family and enjoy eachothers company, while trying to appreciate the struggles we have gone through in the spirit of learning.
Our school encourages getting someone to mentor you as you train for the test. This gives you a good month or two of good one on one time. So announcing tests in advance gives you an opportunity to bond with this person. We Also hold practice tests to help eachother gauge where we are in our training. Testing is not necessary or anything, but it is definately part of the experience.
Plus its always fun to see the higher belts get thrashed around. The higher the belt test, the more likely the testee is to get slapped in the face
. But thats the price of advancing I suppose.
Suppose I better get back to studying for finals.