Pensando em  Qualidade de Software
Pauta Quality Assurance X Quality Control Um modelo de qualidade Custos de falhas por fase Conceitos gerais de teste Principais tipos de teste Bug X Defeito Perfil de um bom testador Conclusão
Parte 1 – Alinhando Conceitos
Quality Assurance X Quality Control Garantia  da qualidade é baseada na validação de um processo. Controle  da qualidade focam na descoberta de defeitos específicos
Quality Assurance X Quality Control A garantia da qualidade é orientada a  prevenção . O controle da qualidade é orientado a  detecção.
Quality Assurance X Quality Control As atividades são definidas no  início  do ciclo de desenvolvimento de software As atividades de teste são iniciadas no  final  do ciclo de desenvolvimento de software
Quality Assurance X Quality Control Garante que você está fazendo certo e da  maneira certa Garante que o resultado do seu trabalho é o esperado,  conforme os requisitos
GCQ planejamento do projeto e o acompanhamento de resultados uso dos métodos e ferramentas padronizadas na organização; estabelecimento e a monitoração de estratégias de testes revisão dos artefatos produzidos pelo processo de desenvolvimento
GCQ busca de conformidade com os padrões de desenvolvimento de software implantação de medições associadas a projeto, processo e produto busca de uma melhoria contínua no processo de desenvolvimento de software
Modelo de Qualidade Funcionalidade Adequação ao uso, Conformidade com os requisitos, Segurança de Acesso, ... Confiabilidade Maturidade, Tolerância a falhas, recuperabilidade Usabilidade Inteligibilidade, operacionalidade, atratividade, ...
Eficiência utilização de recursos, comportamento em relação ao tempo, ... Manutenibilidade Modificabilidade, testabilidade, analisabilidade, estabilidade, ... Portabilidade capacidade para substituir, adaptabilidade, … Modelo de Qualidade
Custos de Falhas por Fase de Desenvolvimento Bug encontrado durante o  desenvolvimento Bug encontrado durante a  homologação Bug encontrado em  produção
Conceitos Gerais de Teste de Software O teste de software é a última oportunidade de descoberta de um erro antes da entrega do produto O sucesso do teste depende de uma boa definição estratégica A etapa de testes é a única que possui a visão destrutiva, para entregar a aplicação construtiva;
Principais Tipos de Teste Teste unitário Teste Cruzado Teste funcional Teste de Regressão Sanity Test Teste Automatizado Teste de Usabilidade Teste de Aceitação Teste de Segurança
Teste Unitário Testa o menor dos componentes de um sistema de maneira isolada Testa uma unidade lógica, por exemplo, métodos, classes, ou mesmo um objeto Temos um plugin para o Eclipse chamado “Cobertura”, que mostra qual a porcentagem de cobertura do seu projeto.  Atualmente o 8P tem menos de 1% de cobertura
Teste Cruzado Um analista testa o código feito por outro analista Deve ser feito nas situações: a) Nova funcionalidade b) Manutenção de uma funcionalidade c) Quando um operacional requer teste d) Após a correção de um bug
Teste Funcional Verifica a aceitação dos dados, do processamento, a resposta a esse processamento e a implementação apropriada das regras de negócio Deve ser feito nas mesmas condições que o teste cruzado
Teste de Regressão Garante que não surgiram novos defeitos em componentes já testados Atualmente é feito manualmente É executado sempre que uma funcionalidade alterada pode gerar riscos para o restante da aplicação
Sanity Test É executado sempre em produção após a subida de uma nova versão Garante que a nova versão não impactou a versão atual Deve ser feito logo após a subida
Teste Automatizado É uma ótima ferramenta para facilitar (ou até banir) a regressão Hoje em dia temos o Selenium Uma vez o esforço gasto com automatização de scripts, reduz o esforço de regressão
Teste de Usabilidade Normalmente feito por internautas que não conhecem a aplicação. Podemos adaptar o conceito dentro dos nossos sprints
Teste de Aceitação (UAT) Executado geralmente pelos clientes É importante que o cliente não tenha interferência quando estiver fazendo os testes
Teste de Segurança Existe ferramentas para verificar a segurança de um site Muito importante para projetos do tipo BBB, que sofrem fraudes
Bug  X  Defeito Bug  é todo problema causado por falha na lógica de programação; Defeito  é todo não-atendimento de um requisito ou de uma expectativa do cliente;
Um bom testador deve ser ... Criativo Crítico Criterioso Detalhista Investigativo Bem comunicativo Organizado Motivado Persistente Intuitivo
E além de tudo ... Precisa gostar do que faz para encontrar o máximo de bugs possíveis antes de a aplicação ir para produção
Dúvidas, críticas, sugestões  ???
Agenda Técnicas para cada tipo de teste Plano de qualidade e sugestões
Obrigada

pensando em qualidade de software

  • 1.
    Pensando em Qualidade de Software
  • 2.
    Pauta Quality AssuranceX Quality Control Um modelo de qualidade Custos de falhas por fase Conceitos gerais de teste Principais tipos de teste Bug X Defeito Perfil de um bom testador Conclusão
  • 3.
    Parte 1 –Alinhando Conceitos
  • 4.
    Quality Assurance XQuality Control Garantia da qualidade é baseada na validação de um processo. Controle da qualidade focam na descoberta de defeitos específicos
  • 5.
    Quality Assurance XQuality Control A garantia da qualidade é orientada a prevenção . O controle da qualidade é orientado a detecção.
  • 6.
    Quality Assurance XQuality Control As atividades são definidas no início do ciclo de desenvolvimento de software As atividades de teste são iniciadas no final do ciclo de desenvolvimento de software
  • 7.
    Quality Assurance XQuality Control Garante que você está fazendo certo e da maneira certa Garante que o resultado do seu trabalho é o esperado, conforme os requisitos
  • 8.
    GCQ planejamento doprojeto e o acompanhamento de resultados uso dos métodos e ferramentas padronizadas na organização; estabelecimento e a monitoração de estratégias de testes revisão dos artefatos produzidos pelo processo de desenvolvimento
  • 9.
    GCQ busca deconformidade com os padrões de desenvolvimento de software implantação de medições associadas a projeto, processo e produto busca de uma melhoria contínua no processo de desenvolvimento de software
  • 10.
    Modelo de QualidadeFuncionalidade Adequação ao uso, Conformidade com os requisitos, Segurança de Acesso, ... Confiabilidade Maturidade, Tolerância a falhas, recuperabilidade Usabilidade Inteligibilidade, operacionalidade, atratividade, ...
  • 11.
    Eficiência utilização derecursos, comportamento em relação ao tempo, ... Manutenibilidade Modificabilidade, testabilidade, analisabilidade, estabilidade, ... Portabilidade capacidade para substituir, adaptabilidade, … Modelo de Qualidade
  • 12.
    Custos de Falhaspor Fase de Desenvolvimento Bug encontrado durante o desenvolvimento Bug encontrado durante a homologação Bug encontrado em produção
  • 13.
    Conceitos Gerais deTeste de Software O teste de software é a última oportunidade de descoberta de um erro antes da entrega do produto O sucesso do teste depende de uma boa definição estratégica A etapa de testes é a única que possui a visão destrutiva, para entregar a aplicação construtiva;
  • 14.
    Principais Tipos deTeste Teste unitário Teste Cruzado Teste funcional Teste de Regressão Sanity Test Teste Automatizado Teste de Usabilidade Teste de Aceitação Teste de Segurança
  • 15.
    Teste Unitário Testao menor dos componentes de um sistema de maneira isolada Testa uma unidade lógica, por exemplo, métodos, classes, ou mesmo um objeto Temos um plugin para o Eclipse chamado “Cobertura”, que mostra qual a porcentagem de cobertura do seu projeto. Atualmente o 8P tem menos de 1% de cobertura
  • 16.
    Teste Cruzado Umanalista testa o código feito por outro analista Deve ser feito nas situações: a) Nova funcionalidade b) Manutenção de uma funcionalidade c) Quando um operacional requer teste d) Após a correção de um bug
  • 17.
    Teste Funcional Verificaa aceitação dos dados, do processamento, a resposta a esse processamento e a implementação apropriada das regras de negócio Deve ser feito nas mesmas condições que o teste cruzado
  • 18.
    Teste de RegressãoGarante que não surgiram novos defeitos em componentes já testados Atualmente é feito manualmente É executado sempre que uma funcionalidade alterada pode gerar riscos para o restante da aplicação
  • 19.
    Sanity Test Éexecutado sempre em produção após a subida de uma nova versão Garante que a nova versão não impactou a versão atual Deve ser feito logo após a subida
  • 20.
    Teste Automatizado Éuma ótima ferramenta para facilitar (ou até banir) a regressão Hoje em dia temos o Selenium Uma vez o esforço gasto com automatização de scripts, reduz o esforço de regressão
  • 21.
    Teste de UsabilidadeNormalmente feito por internautas que não conhecem a aplicação. Podemos adaptar o conceito dentro dos nossos sprints
  • 22.
    Teste de Aceitação(UAT) Executado geralmente pelos clientes É importante que o cliente não tenha interferência quando estiver fazendo os testes
  • 23.
    Teste de SegurançaExiste ferramentas para verificar a segurança de um site Muito importante para projetos do tipo BBB, que sofrem fraudes
  • 24.
    Bug X Defeito Bug é todo problema causado por falha na lógica de programação; Defeito é todo não-atendimento de um requisito ou de uma expectativa do cliente;
  • 25.
    Um bom testadordeve ser ... Criativo Crítico Criterioso Detalhista Investigativo Bem comunicativo Organizado Motivado Persistente Intuitivo
  • 26.
    E além detudo ... Precisa gostar do que faz para encontrar o máximo de bugs possíveis antes de a aplicação ir para produção
  • 27.
  • 28.
    Agenda Técnicas paracada tipo de teste Plano de qualidade e sugestões
  • 29.