TESTES
O que são e para
que servem?
DIANA UNGARO ARNOS
Desenvolvedora web backend @ Dafiti/GFG
Instrutora @ Caldo Gouveia
OBJETIVOS DO HANGOUT
Ter uma visão geral sobre vários tipos de teste
Entender a importância dos testes unitários
durante o desenvolvimento
Entender o que são testes de software
O QUE SÃO TESTES?
E por que testamos?
1
QUANDO NÃO TESTAMOS...
O QUE SÃO E PARA QUE SERVEM
◦ Procurar e encontrar bugs
◦ Evitam perda de dinheiro e
comprometimento de imagem
◦ Caixa branca ou caixa preta
TIPOS DE TESTE2
Caixa Branca
◦ Acesso ao código
fonte
◦ Projetado de
acordo com
estrutura do
componente
TIPOS DE TESTE
Caixa Preta
◦ Sem acesso ao
código fonte
◦ Baseado nos
requisitos
funcionais
TIPOS DE TESTE
Unitário (Teste de Unidade)
◦ Caixa branca
◦ Unidades inviduais de código (classes e métodos)
Integração
◦ Caixa branca / caixa preta
◦ Integração de componentes do sistema
◦ Identifica erros de interface entre módulos
Sistema
◦ Caixa preta
◦ Baseado nos requisitos do sistema
◦ Segue roteiros definidos em planos de teste
TESTES DE SISTEMA
Garantem que o sistema funciona como um todo.
Alguns dos mais conhecidos entre desenvolvedores:
Aceitação
Utilizado em equipes ágeis.
Donos do produto aceitam ou não
alguma funcionalidade
implementada.
Funcionais
Testam os casos de uso.
Baseados nas especificações de
negócio.
Performance
Testes de carga, stress, estabilidade e
inclusive o fuzz testing (teste do
macaco louco)
Segurança
Garante que os dados sejam acessados
de maneira segura somente por quem é
autorizado.
Pen testing.
TESTES UNITÁRIOS3
TESTES UNITÁRIOS
Grande Objetivo:
Garantir o retorno esperado em todos os casos possíveis
◦ Caminho Feliz
◦ Fluxos Alternativos
◦ Fluxos de Exceção
TESTES UNITÁRIOS
O que é um teste unitário?
TESTES UNITÁRIOS
Quais vantagens isso me traz?
◦ Manutenção mais fácil do código
◦ Refatoração sem medo
◦ Obriga melhor aplicação da programação
orientada a objetos
◦ Serve como documentação
TESTES UNITÁRIOS
Erros mais comuns
◦ Comunicação com banco de dados
◦ Utilizar recursos de rede
◦ Utilizar sistema de arquivos
◦ Necessitar de alterações no ambiente
TESTES UNITÁRIOS
Boas Práticas
◦ Cada teste verifica só um comportamento
◦ Um teste não deve depender do resultado de
outro
◦ Testar apenas métodos públicos
◦ Usar testes parametrizados sempre que possível
◦ Indicar no nome do teste o que está sendo testado
e o resultado esperado
Obrigada!
PERGUNTAS?
@dianaarnos
diana.arnos@gmail.com
www.dianaarnos.com

Testes O que são e para que servem? - LadyTalks

  • 1.
    TESTES O que sãoe para que servem?
  • 2.
    DIANA UNGARO ARNOS Desenvolvedoraweb backend @ Dafiti/GFG Instrutora @ Caldo Gouveia
  • 3.
    OBJETIVOS DO HANGOUT Teruma visão geral sobre vários tipos de teste Entender a importância dos testes unitários durante o desenvolvimento Entender o que são testes de software
  • 4.
    O QUE SÃOTESTES? E por que testamos? 1
  • 5.
  • 6.
    O QUE SÃOE PARA QUE SERVEM ◦ Procurar e encontrar bugs ◦ Evitam perda de dinheiro e comprometimento de imagem ◦ Caixa branca ou caixa preta
  • 7.
  • 8.
    Caixa Branca ◦ Acessoao código fonte ◦ Projetado de acordo com estrutura do componente TIPOS DE TESTE Caixa Preta ◦ Sem acesso ao código fonte ◦ Baseado nos requisitos funcionais
  • 9.
    TIPOS DE TESTE Unitário(Teste de Unidade) ◦ Caixa branca ◦ Unidades inviduais de código (classes e métodos) Integração ◦ Caixa branca / caixa preta ◦ Integração de componentes do sistema ◦ Identifica erros de interface entre módulos Sistema ◦ Caixa preta ◦ Baseado nos requisitos do sistema ◦ Segue roteiros definidos em planos de teste
  • 10.
    TESTES DE SISTEMA Garantemque o sistema funciona como um todo. Alguns dos mais conhecidos entre desenvolvedores: Aceitação Utilizado em equipes ágeis. Donos do produto aceitam ou não alguma funcionalidade implementada. Funcionais Testam os casos de uso. Baseados nas especificações de negócio. Performance Testes de carga, stress, estabilidade e inclusive o fuzz testing (teste do macaco louco) Segurança Garante que os dados sejam acessados de maneira segura somente por quem é autorizado. Pen testing.
  • 11.
  • 12.
    TESTES UNITÁRIOS Grande Objetivo: Garantiro retorno esperado em todos os casos possíveis ◦ Caminho Feliz ◦ Fluxos Alternativos ◦ Fluxos de Exceção
  • 13.
    TESTES UNITÁRIOS O queé um teste unitário?
  • 14.
    TESTES UNITÁRIOS Quais vantagensisso me traz? ◦ Manutenção mais fácil do código ◦ Refatoração sem medo ◦ Obriga melhor aplicação da programação orientada a objetos ◦ Serve como documentação
  • 15.
    TESTES UNITÁRIOS Erros maiscomuns ◦ Comunicação com banco de dados ◦ Utilizar recursos de rede ◦ Utilizar sistema de arquivos ◦ Necessitar de alterações no ambiente
  • 16.
    TESTES UNITÁRIOS Boas Práticas ◦Cada teste verifica só um comportamento ◦ Um teste não deve depender do resultado de outro ◦ Testar apenas métodos públicos ◦ Usar testes parametrizados sempre que possível ◦ Indicar no nome do teste o que está sendo testado e o resultado esperado
  • 17.

Notas do Editor

  • #4 só uma introdução Para quem não conhece muito sobre testes
  • #6 se você não se preocupa com testes
  • #7 ENCONTRAR = testar provocando erros, não só buscando o caminho feliz se o produto sai com bug, pega mal e dá mais trabalho para refazer caixa branca = vendo código caixa preta = sem ver código BDD codificado = caixa preta