Desenvolvimento
Dirigido por Testes




* Parte do conteúdo gentilmente cedida por
Base2 Tecnologia e PHPrime Training
Testes de Software
●   Desenvolvimento Dirigido por Testes
    ●   Prática de métodos ágeis que visa aumentar a
        qualidade de software
    ●   “Qualidade” é a medida de excelência de um
        produto
    ●   A qualidade de um produto está relacionada a
        satisfação do usuário desse produto
Testes de Software
●   Maior Qualidade implica
    ●   Satisfação do Cliente
    ●   Melhoria do posicionamento da organização no
        mercado
    ●   Redução de custos com suporte e manutenção
    ●   Economia de dinheiro e desgaste com retrabalho
    ●   Maior lucratividade
Testes de Software
Testes de Software
●   Regra de Meyers – custo aumenta 10x a cada iteração
Testes de Software
●   Quanto Testar ? Custo x Qualidade
Testes de Software
●   Teste de Software → processo de verificar se
    o software se comporta conforme especificado
    por meio de ambiente controlado
●   Debug → processo para encontrar, analisar e
    remover causas dos defeitos em um software
●   Comportamento e o Resultado esperado são
    definidos na Especificação do Software
Testes de Software
●   Tipos de Testes
Testes de Software
●   Princípios de Testes de Software
    ●   Testes não garantem ausência de defeitos;
    ●   Testes exaustivos são impossíveis;
    ●   Testes devem começar o mais cedo possível;
    ●   Defeitos tendem a estar concentrados;
    ●   Paradoxo do pesticida;
        –   Super defeitos imunes ao “testecida”
    ●   Testes dependem do contexto;
    ●   O software sem defeitos pode não ser útil. -
        Dependem da qualidade das Histórias
Testes de Software
●   Processo de Testes
Testes de Software
●   Principais Entradas
    ●   Especificação do Software:
        –   Histórias de Usuários, Requisitos; Regras de Negócios;
            Casos de Uso; Domínio de Campos.
    ●   Produto de Software
        –   Versão do software apta a ser testadas
        –   Apta: Instalável, Utilizável, “critério mínimo”.
    ●   Qualidade Esperada do Produto!
Testes de Software
●   Principais Saídas
    ●   Plano de Testes;
    ●   Especificação (Desenho) dos Testes;
    ●   Scripts de Testes
        –   Banco, Robô;
    ●   Relatório de Incidentes;
    ●   Relatório de Fechamento.
Testes de Software
●   Modelo de Procedimento de Teste
Testes de Software
●   Modelo de Caso de Teste
Testes de Software
●   Testes em Metodologias Ágeis é uma prática
    fundamental que:
    ●   Garante qualidade
    ●   Favorece Refatoração
    ●   Favorece Design Simples
    ●   Permite documentar menos
    ●   Ajuda a especificar o software
    ●   Permite a integração contínua
Testes de Software
●   Desenvolvimento Dirigido por Testes:
    ●   Caso de teste criado antes do software ser
        desenvolvido
    ●   Software é criado para passar no teste.
        –   Faz parte do conceito de “Pronto”
    ●   Deve ser automatizado
    ●   Cliente na equipe apoia na especificação do teste
Testes de Software
●   Custo de Testes. Automatizado x Manual

Qualidade de Software - Desenvolvimento dirigido por testes

  • 1.
    Desenvolvimento Dirigido por Testes *Parte do conteúdo gentilmente cedida por Base2 Tecnologia e PHPrime Training
  • 2.
    Testes de Software ● Desenvolvimento Dirigido por Testes ● Prática de métodos ágeis que visa aumentar a qualidade de software ● “Qualidade” é a medida de excelência de um produto ● A qualidade de um produto está relacionada a satisfação do usuário desse produto
  • 3.
    Testes de Software ● Maior Qualidade implica ● Satisfação do Cliente ● Melhoria do posicionamento da organização no mercado ● Redução de custos com suporte e manutenção ● Economia de dinheiro e desgaste com retrabalho ● Maior lucratividade
  • 4.
  • 5.
    Testes de Software ● Regra de Meyers – custo aumenta 10x a cada iteração
  • 6.
    Testes de Software ● Quanto Testar ? Custo x Qualidade
  • 7.
    Testes de Software ● Teste de Software → processo de verificar se o software se comporta conforme especificado por meio de ambiente controlado ● Debug → processo para encontrar, analisar e remover causas dos defeitos em um software ● Comportamento e o Resultado esperado são definidos na Especificação do Software
  • 8.
    Testes de Software ● Tipos de Testes
  • 9.
    Testes de Software ● Princípios de Testes de Software ● Testes não garantem ausência de defeitos; ● Testes exaustivos são impossíveis; ● Testes devem começar o mais cedo possível; ● Defeitos tendem a estar concentrados; ● Paradoxo do pesticida; – Super defeitos imunes ao “testecida” ● Testes dependem do contexto; ● O software sem defeitos pode não ser útil. - Dependem da qualidade das Histórias
  • 10.
    Testes de Software ● Processo de Testes
  • 11.
    Testes de Software ● Principais Entradas ● Especificação do Software: – Histórias de Usuários, Requisitos; Regras de Negócios; Casos de Uso; Domínio de Campos. ● Produto de Software – Versão do software apta a ser testadas – Apta: Instalável, Utilizável, “critério mínimo”. ● Qualidade Esperada do Produto!
  • 12.
    Testes de Software ● Principais Saídas ● Plano de Testes; ● Especificação (Desenho) dos Testes; ● Scripts de Testes – Banco, Robô; ● Relatório de Incidentes; ● Relatório de Fechamento.
  • 13.
    Testes de Software ● Modelo de Procedimento de Teste
  • 14.
    Testes de Software ● Modelo de Caso de Teste
  • 15.
    Testes de Software ● Testes em Metodologias Ágeis é uma prática fundamental que: ● Garante qualidade ● Favorece Refatoração ● Favorece Design Simples ● Permite documentar menos ● Ajuda a especificar o software ● Permite a integração contínua
  • 16.
    Testes de Software ● Desenvolvimento Dirigido por Testes: ● Caso de teste criado antes do software ser desenvolvido ● Software é criado para passar no teste. – Faz parte do conceito de “Pronto” ● Deve ser automatizado ● Cliente na equipe apoia na especificação do teste
  • 17.
    Testes de Software ● Custo de Testes. Automatizado x Manual