Teste de UnidadE

Testando mais para testar menos

Helder Traci

  • Desenvolvedor Front-end - Lecom S/A
  • Sistemas de Informação - ITE

teste de software

teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos.

... investigação do software a fim de fornecer informações sobre sua qualidade ...

... utilizar o produto para encontrar seus defeitos.

Niveis de teste

testes de sistema

  • Tudo funcionando
  • Entrega de funcionalidades

testes end-to-end (E2E)

  • Testes reais automatizados
  • Testes de funcionalidades

testes de integração

  • Teste entre partes do sistema

testes UNIDADE

  • Teste feito na menor parte testável do sistema
  • Isolada do resto da aplicação
  • Rápido e poderoso

qual teste fazer?

  • Cada um tem sua vantagem e seu momento de aplicação
  • Manter uma quantidade certa de cada um

Modelos

  • Perda de informação
  • Retrabalho
  • Analise de imapctos

exemplo

TESTES DE SISTEMA

  • Smoke test

aplicando na pratica

Escrevendo um código testável

Inversão de controle - Ioc

  • Separar o 'o que' de 'quando'
perguntarNome()
lerEntrada()
perguntarIdade()
lerEntrada()
SE verificarSeDadosEstaoValidos()
ENTAO cadastrar()
SENAO exibirMensagemDeErro()
quandoPerguntarNome(lerEntrada)
quandoPerguntarIdade(lerEntrada)
paraVerificarValidade(verificarSeDadosEstaoValidos)
paraCadastrar(cadastrar)
quandoHouverErro(exibirMensagemDeErro)

Com IoC

injeção de dependência - Di

  • Baixo acoplamento
  • Gerenciar melhor o ciclo de vida dos objetos
  • Testabilidade

DDD

mock objects

  • Fake objects
  • Simular os dados

obrigado!

helder.traci@lecom.com.br

Made with Slides.com