Testes de aceitação

Tenho certa dificuldade ao escrever testes de aceitação em uma aplicação web… No meu caso trata-se de uma app desenvolvida em java com gwt, e tenho escrito alguns testes em ruby + watir webdriver.

Conseguir interagir com a aplicação (simular ações, capturar informações) não foi problema, minha dificuldade é como organizar os testes, que ferramentas utilizar (estou escrevendo os testes em cima do Test::Unit do Ruby), etc

Devo ter um único teste que testa um grande processo como um todo (ex: cadastrar produto -> lançar pedido -> emitir nota fiscal) ou o ideal é quebrar este processo em testes menores? Neste caso, posso roda-los em sequencia (ou seja, um teste depende do teste anterior) ou devem ser independentes como os testes de unidade?

A resposta ao seu problema pode ser a adoção de BDD (behavior driven development), bem como a organização modular de seus cenários de teste por grupo de funcionalidades ou EAP ou stories etc (dependendo do seu processo de desenvolvimento).