Teste de componente

Um componente pode depender de outro, quando isso acontece precisamos simular o funcionamento desses componentes, utilizando:

  • Drivers que simulam clientes do componente que será testado
  • Stubs/Mocks que simulam componentes que a unidade de testes depende
Abordagens
  • Top-down: mais stubs
  • Bottom-up: mais drivers
Ferramentas
  • JUnit: automatiza níveis dos testes
  • Mockito: emula componentes java, cria stubs/mocks
  • Emma: realiza análise da cobertura de testes

Teste de integração

Stubs e drivers substituem os componentes já desenvolvidos e testados. Não utiliza GUI para realização dos testes.

Abordagens
  • Big bang: espera todos os componentes ficarem prontos para testar integração
    • Arriscado
  • Incremental: assim que um componente fica pronto, testa integração com outros
    • Caro

Geralmente se faz uso do incremental testando integrações mais perigosas, dessa forma pode-se equilibrar:

  • Custo
  • Tempo
  • Qualidade

Principais categorias técnicas

Estáticas

Não executam o sistema, responsável por avaliar documentações através de revisões ou ferramentas, pode avaliar requisitos, diagramas, código-fonte

Dinâmicas

Caixa-preta

Sabemos quais as saídas esperadas para determinadas entradas, porém não sabemos o sistema é internamente

Caixa-branca

Os testes são feitos com base em informações sobre a estrutura interna, código-fonte, do sistema

Exploratório

Baseados na experiência do tester, foco na descoberta de problemas e depende da intuição do profissional, ele aprende enquanto testa