Você está na página 1de 12

AULA Nº 20

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.

Você também pode gostar