SlideShare uma empresa Scribd logo
1 de 101
Baixar para ler offline
Teste de Software
   Victor Hugo Germano
        Aula - 01

                         CTAI SENAISC
Eu? Quem?
Victor Hugo Germano
http://malditacomedia.blogspot.com
Por que testar?
Apresentação do Curso
Teste! Teste! Teste! Teste!




Apresentação do Curso
Teste! Teste! Teste! Teste!
 Ferramentas de Teste




Apresentação do Curso
Teste! Teste! Teste! Teste!
 Ferramentas de Teste
 Metodos e Processos




Apresentação do Curso
Teste! Teste! Teste! Teste!
 Ferramentas de Teste
 Metodos e Processos
 Exercícios de Fixação




Apresentação do Curso
Teste! Teste! Teste! Teste!
 Ferramentas de Teste
 Metodos e Processos
 Exercícios de Fixação
    Profissionalismo



Apresentação do Curso
Objetivos


• Discutir nosso papel
• Apresentar os princípios
• Descrever estratégias de Planejamento
• Entender a automação de testes
Teste de Software
IEEE Standard 829 for Software Test Documentation
• Plano de Testes
• Especificação de Arquitetura de Teste
• Especificação de Casos de Teste
  • Identificadores para Especificação de Casos de Teste
  • Itens a serem testados
  • Especificação de Entrada
  • Especificação de Saída
  • Necessidades de Ambiente
  • Requisitos especiais de processos
  • Dependências internas para casos de Uso
• Especificação do Procedimento de Testes
• Relatório de Comunicação de Item testado
• Log de Teste
Vale a Pena?
Teste de Software
Teste de Software

Percepção de Valor não imediata
Teste de Software

Percepção de Valor não imediata

 Não garante Qualidade Total
Documentação de Teste
Documentação de Teste

Qual o custo de Manutenção?
Documentação de Teste

Qual o custo de Manutenção?

Qual o impacto na velocidade?
Documentação de Teste

Qual o custo de Manutenção?

Qual o impacto na velocidade?

 Quanta inércia será gerada?
Documentação de Teste

Qual o custo de Manutenção?

Qual o impacto na velocidade?

 Quanta inércia será gerada?
  Stakeholders concordam?
O que fazer?
O que fazer?



Questionar-se
Documentação de Testes
Documentação de Testes

  Produto ou Ferramenta?
Documentação de Testes

  Produto ou Ferramenta?

Qual a dinâmica do mercado?
Documentação de Testes

  Produto ou Ferramenta?

Qual a dinâmica do mercado?

   Encontrar defeitos ou
  evitar que eles ocorram?
Qualidade
Reduzir Riscos
Reduzir Riscos
Evitar que erros ocorram!
Reduzir Custos
Reduzir Custos
Eliminar Desperdícios!
Exercício 1

   Grupos de 2 - 3 pessoas

 Quais são os seus desafios na
adoção de Políticas de qualidade
     e Testes de software?
Exercício 1I


Sistema de Avaliação de Alunos

         Objetivo
Criar um conjunto de testes
Execício 1I

•
Durante o semestre são dadas três notas;

•
A nota final é obtida pela média aritmética das notas dadas
   durante o curso;

•
É considerado aprovado o aluno que obtiver a nota final
   superior ou igual a 60 e que tiver comparecido a um mínimo
   de 40% das aulas.

•
Deve ser possível para este sistema:

•
Calcular a nota final de cada aluno, a maior e a menor nota da
   turma, bem como a média da turma.

•
Calcular o total de alunos reprovados

•
Calcular a porcentagem de alunos reprovados por freqüência
Testar para encontrar
       defeitos?
Processo
Evolucionário
Processo
Evolucionário
 Desde o início do
 desenvolvimento
Processo
   Evolucionário
     Desde o início do
     desenvolvimento

     Evolução dos testes
ligada à evolução do Sistema
Processo
   Evolucionário
     Desde o início do
     desenvolvimento

     Evolução dos testes
ligada à evolução do Sistema


  Adaptável e Incremental
Tipos de Teste
Caixa Branca
Testes Unitários
Testes Unitários

Testam um único componente
Todos os demais são simulados
Testes Unitários

Testam um único componente
Todos os demais são simulados


 JUnit / JMock / Easymock
Testes Unitários
public void addValor(int valor) {
  this.saldo += valor
}
public void getSaldo() {
  return this.saldo;
}

@Test
public void verificaCalculoDoSaldo() {
  Conta conta = new Conta(200);
  conta.addValor(100);
  assertEquals(300, conta.getSaldo());
}
Testes de Integração
Testes de Integração

Testam integração entre componentes
Testes de Integração

Testam integração entre componentes
    Codigo+BD / Codigo+Web
Testes de Integração

Testam integração entre componentes
    Codigo+BD / Codigo+Web

  JUnit / DBUnit / HsqlDB / Fit
Testes de Integração
@Test
public void testAddUsuarios() {
    GerenteUsuarios gerente = new GerenteUsuarios();
    int numUsuarios = gerente.getNumeroUsuarios();
    gerente.addUsuario(new Usuario(“Rocco”));
    int novoNumUsuarios = gerente.getNumeroUsuarios();
    assertEquals(novoNumUsuarios,(numUsuarios+1));
}
Testes de Aceitação
Testes de Aceitação

Testam uma funcionalidade,
estória ou um caso de uso
Testes de Aceitação

Testam uma funcionalidade,
estória ou um caso de uso


    JUnit / Selenium
Caixa Preta
Análise de Valor Limite

 Extrapolar os valores máximo e
 mínimo de uma funcionalidade


                Null
         Valores Negativos
            Listas Vazias
                 etc
Transição de Estado
   Entrada


Estado 1                 Estado 2
             Transição




               Saída
Transição de Estado

Ordem                    Ação
  1     Iniciar Edição de dados do Usuário “xpto”
  2     Modificar permissao de acesso para admin
  3                  Sair do Sistema
  4      Entrar no sistema como usuário “xpto”
  5      Verificar se menu admin está disponível
Testes de Sintaxe

 Entrada de Dados

  Campos Numéricos
Campos RG / CPF / CNPJ
       Máscaras
Testes de Desempenho

 O quão tolerante a falha?
      Simular falhas na rede
         Excluir objetos
  Múltiplos acessos Simultâneos
Testes de Caminho

                Objetivo
Executar todas as possibilidades do sistema
Testes de Integração



No final, se juntar tudo,
      funciona?
teste da instalação
teste da implantação
teste de desempenho
teste de compatibilidade com
outros sistemas
teste de conversão
teste da documentação
teste do backup
teste da recuperação
Exercício III



Matrícula Online
Execício III

•
O Aluno acessa o Site do Curso com seu usuário e senha

•
Ao acesso a sessão especial de quot;Pedido de Matrículaquot;, ele
   pode iniciar o processo de solicitacao

•
Ele entao seleciona as disciplinas. Como cada uma das
   disciplinas possui pré-requisitos, ele deve ser impedido de
   matricular-se numa disciplina que não possua pré-requisitos
   necessários

•
Todo aluno deve possuir, no máximo, 30 créditos

•
Disciplinas podem ter entre 1 e 8 créditos

•
Após fazer a solicitação, um comprovante é apresentado ao
   usuário contendo um boleto bancário para o pagamento das
   taxas de matrículas referentes às disciplinas solicitadas. (Cada
   disciplina custa R$ 10,00)
Testes Unitários
Testes Unitários
Não será Teste Unitário se:
Testes Unitários
      Não será Teste Unitário se:

• Se conecta a um banco de Dados
• Utiliza a rede
• Utiliza o sistema de arquivos
• Não é executável individualmente
• Precisa de uma configuração do Ambiente
Testes Unitários
Testes Unitários

Objetivos: Um único cenário testado
Testes Unitários

Objetivos: Um único cenário testado

           Independentes
Testes Unitários

Objetivos: Um único cenário testado

           Independentes

 Contidos: Não afetam outros testes
Testes Unitários

Objetivos: Um único cenário testado

           Independentes

 Contidos: Não afetam outros testes

   Rápidos: Execução instantânea
Testes Unitários
A forma básica para testes é a seguinte:
• Crie um objeto e coloque-o em um estado conhecido
• Invoque um método, o qual retorne um resultado real
• Crie um objeto representando o resultado esperado
• Invoque assertEquals(resultadoEsperado, resultadoReal)
para confirmar se a implementação está correta.
Testes Unitários
             Exercícios

             Crie uma lista
          Adicione um Valor
Verifique se o valor está contido na lista
Testes Unitários
   Organização
Testes Unitários
       Organização

Separados do Código de Produção
        Juntos ao código
      Em pacotes separados
Testes Unitários
               Exercícios


Deve ser possível sacar valores de uma Conta
Testes Unitários

Removendo Duplicações nos testes

             @Before

             @After
Exercício IV

Sistema de controle de Estoque

             Objetivo
Criar testes unitários para o sistema
Controle de Estoque


       Adicione Itens ao Estoque ( nome)
           Remova Itens do Estoque
            Liste Itens em Estoque
Itens não devem estar repetidos (lançar exceção)
Benefícios
TDD
3 Leis do TDD
3 Leis do TDD


Escreva um teste que falhe
3 Leis do TDD


Escreva um teste que falhe

   Faça o teste passar
3 Leis do TDD


Escreva um teste que falhe

   Faça o teste passar

        Refatore
Motivação
Motivação


Confiabilidade
Motivação


Confiabilidade

Testabilidade do Sistema
Motivação


Confiabilidade

Testabilidade do Sistema

Dificuldade em adicionar mudanças
Exemplo Prático
Encontrar o número de dias entre
   um dado Dia e a data atual:
        Hoje: 22/04/2009

    20/04/2009: “2 dias atrás”
  8/04/2009: “2 semanas atrás”
                     http://dojofloripa.wordpress.com

Mais conteúdo relacionado

Mais procurados

Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
crc1404
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
paulo peres
 

Mais procurados (20)

Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 

Semelhante a Ctai Teste De Software Aula 1

Test é para os fracos
Test é para os fracosTest é para os fracos
Test é para os fracos
Thiago Avelino
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
Aline Zanin
 

Semelhante a Ctai Teste De Software Aula 1 (20)

Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software
 
AppTesting
AppTestingAppTesting
AppTesting
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Introdução a testes unitários com jUnit
Introdução a testes unitários com jUnitIntrodução a testes unitários com jUnit
Introdução a testes unitários com jUnit
 
Apresentacao teste
Apresentacao testeApresentacao teste
Apresentacao teste
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Introdução a tdd
Introdução a tddIntrodução a tdd
Introdução a tdd
 
Test é para os fracos
Test é para os fracosTest é para os fracos
Test é para os fracos
 
Testes com python: como fazer uma refatoração segura
Testes com python: como fazer uma refatoração seguraTestes com python: como fazer uma refatoração segura
Testes com python: como fazer uma refatoração segura
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Testes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareTestes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de Software
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test Manager
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Será que testar é simples?
Será que testar é simples?Será que testar é simples?
Será que testar é simples?
 

Mais de Victor Hugo Germano

Trilha management 3.0 - arbejdsglaede v2 (1)
Trilha   management 3.0 - arbejdsglaede v2 (1)Trilha   management 3.0 - arbejdsglaede v2 (1)
Trilha management 3.0 - arbejdsglaede v2 (1)
Victor Hugo Germano
 

Mais de Victor Hugo Germano (20)

Expectativa ágil - Caipira Ágil 2017
Expectativa ágil - Caipira Ágil 2017Expectativa ágil - Caipira Ágil 2017
Expectativa ágil - Caipira Ágil 2017
 
O que não te contaram sobre entregar projetos Ágeis - TDC2017
O que não te contaram sobre entregar projetos Ágeis - TDC2017O que não te contaram sobre entregar projetos Ágeis - TDC2017
O que não te contaram sobre entregar projetos Ágeis - TDC2017
 
Agile coaching competency framework - TDC
Agile coaching competency framework - TDCAgile coaching competency framework - TDC
Agile coaching competency framework - TDC
 
5 disfunções de um time Scrum Day
5 disfunções de um time   Scrum Day5 disfunções de um time   Scrum Day
5 disfunções de um time Scrum Day
 
5 disfunções de um time - Devops Summit Brasil
5 disfunções de um time  - Devops Summit Brasil5 disfunções de um time  - Devops Summit Brasil
5 disfunções de um time - Devops Summit Brasil
 
Direto ao Ponto - DevOpsSummit Brasil
Direto ao Ponto - DevOpsSummit BrasilDireto ao Ponto - DevOpsSummit Brasil
Direto ao Ponto - DevOpsSummit Brasil
 
Métricas que importam Agile Brazil 2016
Métricas que importam   Agile Brazil 2016Métricas que importam   Agile Brazil 2016
Métricas que importam Agile Brazil 2016
 
Auto-gestão, negócios e produtividade - Agile Floripa 2016
Auto-gestão, negócios e produtividade - Agile Floripa 2016Auto-gestão, negócios e produtividade - Agile Floripa 2016
Auto-gestão, negócios e produtividade - Agile Floripa 2016
 
O Mundo dos OKRs
O Mundo dos OKRsO Mundo dos OKRs
O Mundo dos OKRs
 
Além da gestão tradicional
Além da gestão tradicionalAlém da gestão tradicional
Além da gestão tradicional
 
Democracia Organizacional - Linguagil 2015
Democracia Organizacional - Linguagil 2015Democracia Organizacional - Linguagil 2015
Democracia Organizacional - Linguagil 2015
 
Trilha management 3.0 - arbejdsglaede v2 (1)
Trilha   management 3.0 - arbejdsglaede v2 (1)Trilha   management 3.0 - arbejdsglaede v2 (1)
Trilha management 3.0 - arbejdsglaede v2 (1)
 
Democracia organizacional TDC 2013
Democracia organizacional TDC 2013Democracia organizacional TDC 2013
Democracia organizacional TDC 2013
 
Largamos o cucumber
Largamos o cucumberLargamos o cucumber
Largamos o cucumber
 
O futuro do agile - TDC 2011
O futuro do agile - TDC 2011O futuro do agile - TDC 2011
O futuro do agile - TDC 2011
 
O futuro do agile
O futuro do agileO futuro do agile
O futuro do agile
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Having fun with jabber bots
Having fun with jabber botsHaving fun with jabber bots
Having fun with jabber bots
 
Voce Tem Orgulho Do Seu Codigo
Voce Tem Orgulho Do Seu CodigoVoce Tem Orgulho Do Seu Codigo
Voce Tem Orgulho Do Seu Codigo
 
Trust - Diana Larsen at Agiles 2009
Trust - Diana Larsen at Agiles 2009Trust - Diana Larsen at Agiles 2009
Trust - Diana Larsen at Agiles 2009
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdfConcurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 

Ctai Teste De Software Aula 1