Escolar Documentos
Profissional Documentos
Cultura Documentos
ENGENHARIA DE SOFTWARE
Níveis de teste e
Desenvolvimento dirigido a testes
Níveis de software
Teste de
unidade
Teste de
sistema
Teste de
componentes
(integração)
Teste de unidade
• Ex: testar as classes de objeto
‐ Testar todas as operações associadas ao objeto
‐ Definir e verificar o valor de todos os atributos
associados ao objeto
‐ Colocar o objeto em todos os estados possíveis
(simular todos os eventos que causam mudanças de
estado)
Teste de unidade
Sommerville (2011)
Teste de unidade
Sommerville (2011)
Teste de componente (integração)
Sommerville (2011)
Teste de componente (integração)
• Tipos de interface que podem conter
defeitos:
‐ Interfaces de parâmetro
‐ Interfaces de memória compartilhada
‐ Interfaces de procedimento
‐ Interfaces de passagem de mensagem
Teste de sistema
Sommerville (2011)
Desenvolvimento dirigido a testes
• TDD – Test-Driven Development
‐ Ideia de “test-first”
‐ Surgiu como parte de métodos ágeis (XP)
• Pode ser aplicado em engenharia de software “tradicional”
‐ Intercalação de testes e implementação de código
‐ Desenvolvimento de código incremental em conjunto
com teste para esse incremento
Desenvolvimento dirigido a testes
Sommerville (2011)
Desenvolvimento dirigido a testes
• Benefícios
‐ Melhor entendimento do código
‐ Cobertura mínima de código pelo teste
‐ Teste de regressão automatizado
‐ Depuração simplificada
‐ Documentação indireta do sistema
• Limitação
‐ Não elimina necessidade de “teste de sistema” posterior
Bibliografia base
• I. Sommerville, Engenharia de software, 9a ed.,
Pearson, 2011.
• S. L. Pfleeger, Engenharia de software: teoria e
prática, 2a ed., Pearson, 2004.
• E. Medeiros, Desenvolvendo software com UML
2.0: definitivo, Pearson, 2004.