segunda-feira, 24 de novembro de 2008

Documentação viva com Teste de Software II

Oi pessoal,

Eu já fiz um post sobre este tema, mas vamos complementar o post já existente.

Post original (Documentação viva com Teste de Software): http://blogdoabu.blogspot.com/2008/10/documentao-viva-com-teste-de-software.html

[Exemplo 4] – [Cartão de Historia]

Como um cliente, quero ter os comentários referentes aos livros consultados, para que eu possa saber a opinião de quem já leu

[Testes] - Template: [ação] [resultado] [objeto]

Mostrar comentário realizado para livro
Mostrar mais de um comentário realizado para o livro
Mostrar inexistência de comentário para um livro
Visualizar marcador de mais comentários que o valor maximo permitido para visualização para o livro

[1]

Os testes ficam...

#Mostrar comentário realizado para livro
def test_mostra_comentario
end

#Mostrar mais de um comentário realizado para o livro
def test_mostra_varios_comentarios
end

#Mostrar inexistência de comentário para um livro
def test_livro_sem_comentario
end

#Visualizar marcador de mais comentários que o valor maximo
#permitido para visualização para o livro

def test_visualiza_marcador_comentario
end

[2]

Podemos observar que para cada método de teste implementado existe o texto do teste realizado

Podemos melhorar a documentação, trocando o texto do teste realizado por um cenário de execução, os mesmos utilizados em Casos de Uso.

Exemplo

#Mostrar comentário realizado para livro
def test_mostra_comentario
end

fica....

#O ator seleciona a funcionalidade de visualizar o comentário
#O sistema identifica que o livro possui apenas um comentário
#O sistema recupera o comentário existente no livro
#O sistema apresenta o comentário existente do livro para o Ator

def test_mostra_comentario
end

[4]

Demais testes....

#O ator seleciona a funcionalidade de visualizar o comentário
#O sistema identifica que o livro possui dois comentários
#O sistema recupera o comentário existente no livro
#O sistema apresenta o comentário existente do livro para o Ator

def test_mostra_varios_comentarios
end

#O ator seleciona a funcionalidade de visualizar o comentário
#O sistema identifica que o livro não possui comentários
#O sistema recupera o comentário em branco do livro
#O sistema apresenta o comentário existente do livro para o Ator

def test_livro_sem_comentario
end

#O ator seleciona a funcionalidade de visualizar o comentário
#O sistema identifica que o livro possui vários comentários
#O sistema identifica em parametrização a quantidade máxima
#de comentários possíveis para um livro
#O sistema recupera o comentário existente no livro
#O sistema apresenta os comentários existente no livro para o Ator
#O sistema apresenta o símbolo de existência de mais comentários
#alem dos já mostrados para o Ator

def test_visualiza_marcador_comentario
end

[5]

Quando nos olhamos os testes referentes a comentários identificamos todos os requisitos de negocio que um Cartão teve como definição. Essas funcionalidades são os nossos testes, identificados e anotados em cada Cartão de Historia.

Desta maneira passamos a adotar os testes como uma forma de Use Cases, com os seus mais diversos cenários de execução.

Se um teste falha, pode ser que o código possui algum problema ou que a regra de negocio mudou.

Os testes são organizados como nosso modelo de domínio, onde domínios fortes levam os pacotes de trabalho e domínios menores são a implementação das regras de negocio que o nosso domínio possui.


Abraços a todos,


Abu

Nenhum comentário: