Como deixar seus casos de testes vivos

Novo post "Como deixar seus casos de testes vivos”

No post, mostra como utilizar a técnica de BDD para deixar seus casos de testes vivos.

Confira aqui: https://caboquinhotester.wordpress.com/2015/09/16/como-deixar-seus-casos-de-testes-vivos/

Olá Rafael, tudo bom!

Não entendo muito de BDD, mas acho legal esta forma de documentar casos de teste com Given, When, Then…
Mas não consegui entender, através dos exemplos, como que esta forma de documentação é viva?
Entendo documentação viva como uma tal que quando altero o código, automaticamente é alterada a documentação. É isto mesmo? Poderia me explicar melhor?

Desde já agradeço!

Se você tiver casos de testes no TestLink, vai chegar um ponto onde, tem uma alteração na aplicação e é mais fácil fazer novos casos de testes do que alterar os já existentes. Quando você utiliza esse formato para criar os casos de testes, a documentação dos seus testes são os próprios testes, qualquer um pode alterar de forma colaborativa os cenários, quando essa alteração é feita na aplicação, seus testes vão falhar, pois teve uma alteração na aplicação e com isso você (ou seu time) vão ter que alterar os testes, com isso seus testes não vão ser um monte de casos de testes mortos que ficam no TestLink. Esses cenários são critérios de aceitação, seu cliente pode validar isso, como é uma linguagem natural e unificada todos conseguem entender e colaborar para qualidade no produto.

Entendi… então esses casos não são apenas texto, mas o próprio script de teste? Se sim, quais ferramentas posso utilizar? Aqui na empresa usamos um software próprio para gestão de projetos, testes, atividades, horas, etc… não utilizamos o TestLink. Para eu usar esta forma de documentação de testes/script de teste, do que eu precisaria?

@Bruno-Fernandes
Usar ferramentas que suportam BDD geram uma documentação viva porque a sua espeficicação (linguagem Gherkin - Given/When/Then) está atrelada ao código de teste, de forma que caso a especificação mude, os testes irão falhar. Na forma “tradicional” de especificações (Casos de Uso, etc), rapidamente o que você escreveu fica defasado, porque novas features estão sempre sendo desenvolvidas ou modificadas.

A ferramenta mais conhecida pra isso é o Cucumber, que tem versões pra várias linguagens de programação. Outras ferramentas conhecidas são o JBehave (Java), SpecFlow (C#), por exemplo.

Aqui na empresa usamos C#. Vou dar uma estudada neste SpecFlow :)

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.