pensando em qualidade de software

29
Pensando em Qualidade de Software

Transcript of pensando em qualidade de software

Page 1: pensando em qualidade de software

Pensando em Qualidade de

Software

Page 2: 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

Page 3: pensando em qualidade de software

Parte 1 – Alinhando Conceitos

Page 4: pensando em qualidade de software

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

Page 5: pensando em qualidade de software

Quality Assurance X Quality Control

A garantia da qualidade é

orientada a prevenção.

O controle da qualidade é orientado a detecção.

Page 6: pensando em qualidade de software

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

Page 7: pensando em qualidade 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

Page 8: pensando em qualidade de software

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

Page 9: pensando em qualidade de software

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

Page 10: pensando em qualidade 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, ...

Page 11: pensando em qualidade de software

• 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

Page 12: pensando em qualidade de software

Custos de Falhas por Fase de Desenvolvimento

• Bug encontrado durante o desenvolvimento

• Bug encontrado durante a homologação

• Bug encontrado em produção

Page 13: pensando em qualidade de software

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;

Page 14: pensando em qualidade de software

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

Page 15: pensando em qualidade de software

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

Page 16: pensando em qualidade de software

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

Page 17: pensando em qualidade de software

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

Page 18: pensando em qualidade de software

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

Page 19: pensando em qualidade de software

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

Page 20: pensando em qualidade de software

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

Page 21: pensando em qualidade de software

Teste de Usabilidade

• Normalmente feito por internautas que não conhecem a aplicação.

• Podemos adaptar o conceito dentro dos nossos sprints

Page 22: pensando em qualidade de software

Teste de Aceitação (UAT)

• Executado geralmente pelos clientes

• É importante que o cliente não tenha interferência quando estiver fazendo os testes

Page 23: pensando em qualidade de software

Teste de Segurança

• Existe ferramentas para verificar a segurança de um site

• Muito importante para projetos do tipo BBB, que sofrem fraudes

Page 24: pensando em qualidade de software

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;

Page 25: pensando em qualidade de software

Um bom testador deve ser ...

CriativoCríticoCriteriosoDetalhistaInvestigativo

Bem comunicativoOrganizadoMotivadoPersistenteIntuitivo

Page 26: pensando em qualidade de software

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

Page 27: pensando em qualidade de software

Dúvidas, críticas, sugestões ???

Page 28: pensando em qualidade de software

Agenda

• Técnicas para cada tipo de teste• Plano de qualidade e sugestões

Page 29: pensando em qualidade de software

Obrigada