pensando em qualidade de software

Post on 30-Jun-2015

736 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 ...

CriativoCríticoCriteriosoDetalhistaInvestigativo

Bem comunicativoOrganizadoMotivadoPersistenteIntuitivo

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

top related