Testes com JUnit
Introdução à práticas de testes utilizando JUnit
~whoami?
● Pedro Hos
● Banco de Dados @ Fatec SJC em 2012
● Software Maintenance Engineer @ Red Hat
● Organizador @ JUG Vale desde 2012
● Idealizador & Dev @ SJC Digital
Por que testar?
1. Melhor entendimento do produto em desenvolvimento;
2. Reduz falhas;
3. Detectar “bug” antes do cliente;
4. Mantes sistema estável;
5. Manutenção mais fácil;
6. Trabalho colaborativo mais seguro;
7. Garantir entrega;
8. Podemos automatizar os testes;
9. ?
10. etc.
Tipos de Teste
● Testes Unitários;
● Testes de Integração;
● Testes de Interface / Testes de Usabilidade;
● Testes de Performance;
● Testes de Segurança;
● ?
● etc.
O que são Testes Unitários?
● Testar a menor parte do código;
○ Função/método
● Fazer mais de um teste por método;
● Passando pelos seus diversos comportamentos;
● O teste unitário vem antes do desenvolvimento da
task;
● Um teste unitário deve falhar primeiro.
JUnit is a unit testing framework for the Java programming language.
JUnit has been important in the development of test-driven development
(TDD) - Wikipedia
Pequena introdução: TDD - test driven development
NOVA
TAREFA
CRIAR TESTE
PARA A
TAREFA
CODIFICAR
FAZER
REFACTORING
Passou nos testes?
SIM: NOVA
TAREFA
NÃO: REVISAR
CODIGO
Códigão - Calculadora de Médias
● Aluno:
○ Nome
○ Notas
● Calculadora de médias:
○ Deve calcular a média de notas de um aluno no ano;
○ As notas são dadas por trimestre;
○ As notas devem seguir a seguinte fórmula:
■ (N1 + N2 + N3 + N4) / 4
opa, quero uma
nova feature!
Nova Feature
● Quero acrescentar ou retirar um ponto do aluno
conforme a regra abaixo:
● Se a maior nota for:
○ De 00 a 04: -1 ponto na média;
○ De 05 a 07: 0 pontos na média;
○ De 08 a 10: +1 ponto n média.
Testes com JUnit

Testes com JUnit

  • 1.
    Testes com JUnit Introduçãoà práticas de testes utilizando JUnit
  • 2.
    ~whoami? ● Pedro Hos ●Banco de Dados @ Fatec SJC em 2012 ● Software Maintenance Engineer @ Red Hat ● Organizador @ JUG Vale desde 2012 ● Idealizador & Dev @ SJC Digital
  • 3.
    Por que testar? 1.Melhor entendimento do produto em desenvolvimento; 2. Reduz falhas; 3. Detectar “bug” antes do cliente; 4. Mantes sistema estável; 5. Manutenção mais fácil; 6. Trabalho colaborativo mais seguro; 7. Garantir entrega; 8. Podemos automatizar os testes; 9. ? 10. etc.
  • 4.
    Tipos de Teste ●Testes Unitários; ● Testes de Integração; ● Testes de Interface / Testes de Usabilidade; ● Testes de Performance; ● Testes de Segurança; ● ? ● etc.
  • 5.
    O que sãoTestes Unitários? ● Testar a menor parte do código; ○ Função/método ● Fazer mais de um teste por método; ● Passando pelos seus diversos comportamentos; ● O teste unitário vem antes do desenvolvimento da task; ● Um teste unitário deve falhar primeiro.
  • 6.
    JUnit is aunit testing framework for the Java programming language. JUnit has been important in the development of test-driven development (TDD) - Wikipedia
  • 7.
    Pequena introdução: TDD- test driven development NOVA TAREFA CRIAR TESTE PARA A TAREFA CODIFICAR FAZER REFACTORING Passou nos testes? SIM: NOVA TAREFA NÃO: REVISAR CODIGO
  • 8.
    Códigão - Calculadorade Médias ● Aluno: ○ Nome ○ Notas ● Calculadora de médias: ○ Deve calcular a média de notas de um aluno no ano; ○ As notas são dadas por trimestre; ○ As notas devem seguir a seguinte fórmula: ■ (N1 + N2 + N3 + N4) / 4
  • 9.
  • 10.
    Nova Feature ● Queroacrescentar ou retirar um ponto do aluno conforme a regra abaixo: ● Se a maior nota for: ○ De 00 a 04: -1 ponto na média; ○ De 05 a 07: 0 pontos na média; ○ De 08 a 10: +1 ponto n média.