demoiselle / behave

Demoiselle Behave
https://www.frameworkdemoiselle.gov.br/dbehave/
29 stars 53 forks source link

Exportação de casos de teste JUnit/Selenium a partir das histórias #485

Open trsilva opened 6 years ago

trsilva commented 6 years ago

Olá,

Seria possivel exportar ou gerar casos de teste JUnit/Selenium autosuficientes a partir do framework (isto é, casos de teste que possam ser executados de maneira independente do framework) usando os cenários já especificados nos arquivos-texto das histórias?

juliancesar commented 6 years ago

@trsilva, em teoria é possível! Só não entendi a motivação da funcionalidade? Pois pelo que entendi o produto final seria um projeto (provavelmente Maven) que tivesse os comandos Selenium puros contendo todas as desvantagens que esta abordagem trás.

trsilva commented 6 years ago

Oi, Julian! Obrigado pelo retorno!

A motivação é poder utilizar uma ferramenta que faz análise de qualidade dos casos de teste. Essa ferramenta roda com um projeto Maven, mas precisa receber como um dos parâmetros de entrada todos os casos de teste em uma classe de teste do JUnit.

juliancesar commented 6 years ago

@trsilva, de que ferramenta esta falando? Pois normalmente as ferramentas de testes unitários levam em consideração a cobertura de testes com relação ao código e por não termos ligação alguma das histórias com o código esta métrica ficaria furada, a não ser que seja uma simples contagem de quantidade de casos de teste.

trsilva commented 6 years ago

@juliancesar, é uma ferramenta acadêmica que avalia casos de teste através de análise de mutantes. O foco é um aplicações Ajax/Web, então, além dos casos de teste JUnit/Selenium, ela recebe como parâmetros de entrada a URL e os arquivos Java Script da aplicação.

juliancesar commented 6 years ago

Entendi, então será necessário um trabalho em cima do parser JBehave para tentar "converter" as frases em instruções do Selenium, posso ajudar no suporte ao desenvolvimento.

O primeiro passo é entender o funcionamento do DBehave com relação a execução dos Steps, após isso será necessário criar um mapeamento o algo do gênero para encontrar qual é o comando Selenium que ele irá executar.

trsilva commented 6 years ago

Você vê a princípio alguma solução (mesmo que provisória) mais óbvia/imediata como, por exemplo, tentar "regravar" os testes durante a execução usando o Selenium IDE ou algo do tipo?

juliancesar commented 6 years ago

@trsilva, não consigo pensar em nada concreto de imediato, essa solução do Seleneium IDE pode ser tentada, outra possibilidade seria tentar logar as ações do selenium tentando encontrar algum modo debug do WebDriver.