Upload
diana-ungaro-arnos
View
657
Download
3
Embed Size (px)
Citation preview
TESTESO que são e para que servem?
DIANA UNGARO ARNOSDesenvolvedora web backend @ Dafiti/GFGInstrutora @ 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 SISTEMAGarantem que o sistema funciona como um todo.
Alguns dos mais conhecidos entre desenvolvedores:AceitaçãoUtilizado em equipes ágeis. Donos do produto aceitam ou não alguma funcionalidade implementada.
FuncionaisTestam os casos de uso. Baseados nas especificações de negócio.
PerformanceTestes de carga, stress, estabilidade e inclusive o fuzz testing (teste do macaco louco)
SegurançaGarante 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