Teste de aceitação

Ei galera tenho uma aplicação web jsf e uma aplicação desktop em java gostaria de saber como devo começar a fazer os testes de aceitação sobre a minha aplicação no que puderem me ajudar agradeço!

Fala Carlos_ds_jar!

Então, como os testes de aceitação são os testes realizados por último no projeto, seria mais prático
ver com o time de QA pra saber qual seria a estratégia, já que é mais um “teste de usuário”.
Conceito:
http://www.wthreex.com/rup/process/workflow/test/co_accte.htm

Ou seja, na minha visão (e pelo menos como aplico) é mais uma estratégia do time, relacionada a prazos,
produtos, etc.
Fugi da dúvida?

Até mais!

Nessa sua metodologia estranha aí :slight_smile:

O resto da galera ? que faz mais questao de entregar software funcionando direito do que seguir uma papelada escrita por burocratas ? prefere escrever os testes ao mesmo tempo que a implementacao :wink:

Carlos, o que especificamente vc esta procurando? Ferramentas de teste ou uma estrategia pra fazer a coisa toda funcionar?

Como esta a sua integracao continua?
A galera esta escrevendo testes unitarios? Integracao? Funcionais? Performance?
Tem analistas de qualidade (QAs) na sua equipe? O que eles sabem / fazem?

ola alexandre, obrigado pela resposta!

vc ou alguem tem algum exemplo aí que mostre a execução de testes de aceitação passando desde a definição de cenario de teste até a validação do resultado final?

Olá cv!
Valeu pela correção!

Na verdade me expressei mal, o teste de aceitação seria a última parte no processo de testes.
Onde trabalho temos os Testes Unitário, de Integração e por último os testes de aceitação com alguém de QA.
Como o processo é iterativo, não é realizado ao final do desenvolvimento e sim ao final da iteração.

Até mais!

Nessa sua metodologia estranha aí :slight_smile:

O resto da galera ? que faz mais questao de entregar software funcionando direito do que seguir uma papelada escrita por burocratas ? prefere escrever os testes ao mesmo tempo que a implementacao :wink:

Carlos, o que especificamente vc esta procurando? Ferramentas de teste ou uma estrategia pra fazer a coisa toda funcionar?

Como esta a sua integracao continua?
A galera esta escrevendo testes unitarios? Integracao? Funcionais? Performance?
Tem analistas de qualidade (QAs) na sua equipe? O que eles sabem / fazem?[/quote]
Caro cv, gostaria de uma estratégia de fazer a coisa toda funcionar e se possível alguma ferramente que me euxilie nesse processo!

Carlos_ds_jar
Foi como o cv falou. Na verdade esse processo envolve outras “boas práticas” no caminho.
Ainda sou novato tb no processo, mas tive a sorte de ter por um bom tempo a consultoria da Caelum
e foi mostrado o que seria o desenvolvimento, sem toda aquela burocracia, como o cv falou.

Testes unitários, Testes de integração, Integração Contínua, maior integração do usuário final no time, etc
fazem parte do processo.
Este é o modo que estamos trabalhando (ora correta, ora incorretamente) mas que está funcionando muito bem!
Aí depende de como está o seu caso, se você já adotou algum tipo de estratégia.

Até mais!

Carlos_ds_jar
Sobre uma possível estratégia, acho que é mais fácil(sem generalizar) em projetos novos.
Tive a oportunidade recentemente de começar um projeto novo com as boas práticas
e também continuei dando manutenção em outro sistema (e também em outra linguagem).

Achei bem complicado trabalhar por exemplo com Testes Unitários em um projeto legado, fazer
Integração Contínua, etc.
Peguei algumas dicas interessantes com o Guilherme Silveira, outras com o Rafael Silveira mas
mesmo assim encontro dificuldades.

Basicamente nos projetos em produção uso JUnit+Hudson+Ant+SVN+etc e nos projetos
pessoais comecei (tardiamente) a usar GIT.
Imagino que o seu cenário esteja em um projeto legado certo?
Posso falar como faço mais ou menos e nada como o cv também dando algumas dicas de como ele faz
atualmente com projetos legados sem Testes, Integração Contínua, etc.

Abraços!

ei alex tem algum exemplo de documentação dos testes de aceitação que possa me enviar?

Pessoal também estou estudando como desenvolver e automatizar os meus testes de aceitação.

Nas minhas pesquisas al’ém do Selenium eu achei interessante o FitNesse: http://fitnesse.org/FrontPage

Alguém ai conhece as duas ferramentas e pode fazer comparativos?

[quote=PedroTOliveira]Pessoal também estou estudando como desenvolver e automatizar os meus testes de aceitação.

Nas minhas pesquisas al’ém do Selenium eu achei interessante o FitNesse: http://fitnesse.org/FrontPage

Alguém ai conhece as duas ferramentas e pode fazer comparativos?[/quote]

Conheco bem Fit/FitNesse e cheguei a escrever uns tecos do Selenium… e sim, sao ferramentas otimas, mas que se completam (uma faz os testes rodar, outra simula um usuario do browser).

Carlos_ds_jar, eu comecaria comprando um bom livro e tomando tempo pra me familiarizar com as ideias dele antes de sair experimentando loucamente com alguma ferramenta. Claro, usando ferramentas pra validar o que se esta aprendendo no livro, mas nao saia dando murro em ponta de faca a toa… gente bem mais esperta ja parou pra documentar os erros e acertos, e nao tem motivo pra nao pagar uma graninha num livro como o Agile Testing:

Sobre o exemplo de documentacao de testes de aceitacao, da uma olhada na documentacao do Cucumber: http://cukes.info

Boa sorte! :wink:

CV, obrigado pela resposta.

Mas isso eu já tinha em mente minha dúvida surgiu a procura de um norte em relação a criação dos testes.

No momento eu estou utilizando o próprio selenium IDE para gravar meus “macros (Metadados)” dos testes para depois importar os mesmos dentro da IDE utilizando o JUnit para executá-los.

Porém também estou estudando a ideia de escrever e automatizar os testes utilizando o FitNesse em sintax wiki.

Ainda não conheço muito bem o FitNesse e tenho encontrado alguns problemas ao utilizar o selenium IDE, você acha que vale a pena investir no estudo da utilização do FitNesse ou provávelmente encontrarei os mesmo problemas que eu tenho com o selenium IDE?

Selenium IDE foi uma puta burrada. Nao use essa merda :slight_smile:

A ideia eh que a linguagem do Selenium eh simples o suficiente pra um bom testador poder simplesmente usar uma linguagem de script pra escrever os testes. Ai, os testes automatizados viram codigo de verdade e vc pode aproveitar todas as coisas boas que uma linguagem de programacao de verdade tem pra oferecer: refactoring, condicionais, loops e capacidade de abstracao decente.

O “codigo” que o Selenium IDE gera nao tem nada disso, e vira um macarrao gigante MUITO rapido. Sai fora disso, para de achar que ta ganhando tempo ao usar um truque desses e programa de verdade :wink:

O comentario acima tb se aplica. FitNesse eh bom, mas pra outro caso: quando vc quer tornar os testes faceis de ler/editar por um PO / Cliente. Por baixo, ainda precisa de alguem programando e criando abstracoes, simplificando e refatorando o tempo todo. Fica lindo, mas a equipe precisa se esforcar pra caralho pra manter o conjunto de abstracoes consistente.

Em meu projeto atual, usamos Fitnesse com uma extensão que permite a definição dos testes de aceitação usando o estilo Given / When / Then, usado pelo Cucumber, JBehave e outros. O cliente adorou quando apresentamos para ele e estamos usando a todo vapor para representar cenários mais complexos.

Pensamos em usar o Cucumber, mas ninguém da equipe sabia muito de Ruby e não queríamos adicionar outra linguagem no projeto. Pensamos também em usar o JBehave, mas gostamos mais da idéia de usar um Wiki para editar e executar os testes. No fim das contas, ficamos com o Fitnesse e programamos uma extensão para ele entender Given / When / Then.