Dê uma olhada no pepino e selênio. Eles não satisfazem todas as suas necessidades, mas eles chegam perto. Eu usei Selenium e é um pouco doloroso, mas o trabalho é feito, enquanto eu ouvi coisas muito boas sobre Pepino.
Executamos alguns webapps comerciais voltados para os clientes. O cronograma de lançamento para eles é regular, mas sempre há preocupações sobre testes de alterações, patches e atualizações. Parece que o teste de aceitação é promovido para o desenvolvimento de contratos em vez de "Commercial Off The Shelf". O teste de aceitação vale a pena por algo que já pagamos? E se assim for, há algo disponível com um olho para:
Eu estaria interessado também se alguém tivesse uma solução mais automatizada, mas para aplicativos Web front-end, nada supera um testador humano com uma lista de verificação de testes para trabalhar em cada plataforma, navegador e versão a ser suportada. Há muitas variáveis na maneira como os navegadores processam HTML, CSS e executam JavaScript para confiar em testes de front-end para uma ferramenta automatizada. O BrowserCam é útil para esse tipo de trabalho.
Acho que depende muito do que o fornecedor está oferecendo e da confiança que você tem em seu produto. Por exemplo, você realmente precisa testar a funcionalidade em todos os navegadores relevantes? Eles não têm um departamento de QA?
Em alguns casos, uma explicação manual, quando relevante, é a mais rentável. Você pode escrever scripts e realmente passá-los, de modo que todos que tiverem uma participação só tenham que fazer um pouco de trabalho.
Em outros casos, onde você não tem confiança no departamento de QA do fornecedor, ou há uma personalização significativa envolvida, seus próprios testes automatizados certamente serão necessários se você não quiser que seus clientes vejam um problema . Então, realmente depende de quanto você está disposto a investir no aspecto robusto. Quanto mais robusto, mais programação e mais trabalho é para fazer os testes. Quanto mais point-click-record, menor o esforço para fazer o teste inicial, mas mais esforço para manter.