Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

24
Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS

Transcript of Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

Page 1: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

Seção de Qualidade de Software

BASE DE CONHECIMENTO EM TESTE DE SOFTWARE

GESTÃO DE DEFEITOS

Page 2: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

2

O QUE JÁ FOI VISTO1. Introdução ao processo de teste2. Processo de teste3. Ambiente de teste4. Análise de riscos5. Planejamento dos testes6. Elaboração do teste7. Execução dos testes

Page 3: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

3

VEREMOS...• Visão Geral• Erro X Defeito• Alguns princípios

• Conceito de Defeito• 11 tipos de defeito

• Processo de Gestão de Defeitos• 6 elementos-chave do processo de gestão

de defeitos• Exemplo do Processo

Page 4: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

4

1. VISÃO GERALQual a diferença entre ERRO e DEFEITO?

ERRO (engano): resultado de uma falha humana que produz resultados incorretos. Ex: Implementação errada de um algoritmo;

DEFEITO (bug): resultado de um erro num código ou documento, ocasiona anomalia ao tentar desempenhar sua devida função. Ex: cálculos incorretos;

Page 5: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

5

Príncípios do Processo de Gestão de Defeitos

• Evitar defeitos: testes desde o início do projeto de desenvolvimento;

• Minimizar os riscos: quanto menores forem os riscos, menores serão os defeitos;

• Integração entre as equipes: Boa comunicação e harmonia entre os envolvidos (daily);

Page 6: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

6

• Automação da gestão de defeitos: registro e acompanhamento dos bugs, facilita mudanças, reduz esforço (JIRA);

• Melhoria contínua: material coletado deve ser utilizado por todos, devs e testers, para otimizar o trabalho e garantir a melhoria contínua (retro);

• Nível de maturidade: seguir modelo, melhorar processos e alcançar níveis de maturidade (CMMI);

Page 7: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

7

2. CONCEITO DE DEFEITOO Defeito ocorre em função de algum desvio em relação ao requisito:• Defeitos decorrentes de falta de

concordância ou entendimento com a especificação do produto: as especificações dizem uma coisa e o software faz outra.

• Defeitos decorrentes de situações inesperadas, mas não definidas nas especificações do produto: o gestor ou usuário não definiu nada nas especificações, porém o software age de maneira inesperada em determinadas situações.

Page 8: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

8

Tipos de defeitos: 1. Defeitos de interface com o usuário

1. Defeitos de funcionalidade: sistema não faz o que é esperado

2. Defeitos de usabilidade: dificuldades de navegação3. Defeitos de desempenho: não atende com rapidez as

solicitações4. Defeitos de saída: resultado diferente do esperado

2. Defeitos introduzidos no tratamento de defeitos

1. Prevenção de defeitos: o programa não se protege de entradas imprevistas

2. Detecção dos defeitos: o programa não trata as indicações de defeitos resultantes de suas ações

3. Recuperação dos defeitos: mesmo detectando o defeito, o programa falha

Page 9: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

9

Tipos de defeitos: 3. Defeitos de limites: não consegue tratar ou trata

inadequadamente valores extremos (técnica do valor limite)

4. Defeitos de cálculos: efetua cálculo e produz resultado errado

5. Defeitos de inicialização ou fechamento: ausência de inicialização ou fechamento de rotinas, arquivos e etc.

6. Defeitos de controle de fluxo: declaração de variável erroneamente

7. Defeitos de manuseio ou interpretação de dados: quando um programa passa um grupo de dados para outro programa

8. Defeitos de condição de disputa: ocorre quando o programa espera uma resposta dos eventos A e B, sendo presumido que A sempre termina primeiro, mas B terminou primeiro

Page 10: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

10

9. Defeitos de carga: o programa não suporta um pico de serviço num determinado momento (estresse) ou uma carga alta de serviço por um tempo muito prolongado

10.Defeitos de hardware e software: incompatibilidades entre o programa e o ambiente onde é processado, o que gera falhas de comunicação entre ambos

11.Defeitos de controle de versões: falha no processo de gestão de configuração, versão de um programa é ligada a versões diferentes de outros componentes

Novos tipos de defeitos podem surgir em todo tempo, como o bug do ano 2000, onde o tamanho do campo ano era insuficiente para suportar a mudança do milênio.

Page 11: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

11

3. PROCESSO DE GESTÃO DE DEFEITOSOs elementos-chave do processo são: • Prevenção de defeitos; • Linha-de-base (baseline) a ser entregue; • Identificação do defeito;

• Solução do defeito; • Melhoria do processo; • Relatórios de gestão;

Page 12: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

12

• Prevenção de defeitos: encontrá-los o quanto antes, detectando-os no estágios iniciais do desenvolvimento. Alguns passos para prevenir:• Identificar os riscos críticos (requisitos, equipes,

ambiente, usuários, hardware, software) • Estimar os impactos esperados (custos e

consequências)• Minimizar os impactos esperados (eliminando os

riscos, e reduzindo sua probabilidade de tornar-se problema e seus impactos)

Page 13: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

13

• Linha-de-base (baseline) a ser entregue: marcos que estabelecem a transferência do produto de um estágio do processo de desenvolvimento para o próximo. O custo de efetuar mudanças em baselines e identificar/corrigir defeitos é muito mais caro.

Ex: Codificação e teste unitários

Page 14: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

14

• Identificação do defeito: um defeito é identificado quando é reconhecido pelo dev como defeito válido. Fundamental o menor tempo entre a apresentação do defeito e sua identificação. Etapas do processo de identificação: • Encontrar defeito (testes, revisões, produção – técnicas

estáticas, dinâmicas, operacionais)• Relatar defeito (o mais rápido possível, issue: resumo,

descrição, tipo de defeito, prioridade, reprodução, provas, situação, responsável, data e hora das mudanças) SUPREMO-2733

• Reconhecer defeito (o dev decide se é válido ou não, dificuldade de reproduzir o defeito atrasa o processo)

Se está diferente da documentação, é defeito! Testes deverão ser realizados com base na documentação.

Page 15: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

15

• Solução do defeito: depois de reconhecer o defeito, inicia-se a resolução. Passos do processo de solução: • Priorizar a correção (defeito novo ou conhecido,

priorizar conforme critérios: crítico, grave ou menor)• Programar a correção (alocação de recursos)• Corrigir o defeito (efetuar a correção com base em

documentação, dados de teste, checklists e etc.)• Relatar a solução (notificar a solução, gerenciamento

de configuração, controlar versões e builds)

Page 16: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

16

• Melhoria do processo: atividade que oferece as melhores taxas de retorno. Abrange: • Avaliação do processo que originou o

defeito e a compreensão do que o causou;

• Propostas de mudanças processuais que minimizem ou eliminem a causa dos defeitos;

Page 17: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

17

• Relatórios de gestão: criar um registro completo dos desvios identificados durante o processo de teste para que sirvam de base a várias utilizações no decorrer do projeto, como medições de qualidade. O defeito pode ser definido sob duas óticas: • Ponto de vista do produtor (desvio em relação

à especificação)• Ponto de vista do cliente (qualquer coisa que

cause insatisfação, constando nos requisitos ou não)

Page 18: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

18

4. EXEMPLO DO PROCESSO1. Registrar o defeito como “aberto”, com todas

as informações; 2. Designar o dev que irá corrigir o problema

“in progress”, atualizando o registro para “corrigido” ou “to test”;

3. O defeito será retestado pelo equipe de teste “in approval” ou “in test”;

4. Conforme os resultados dos testes, “fechar” caso esteja tudo certo, ou “reabrir” caso ainda existam problemas;

Repetir passos 2 a 4 até o problema ser resolvido.

Page 19: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

19

RESUMINDO1. VISÃO GERAL: • Erro (engano) X Defeito (bug)• Princípios do processo de gestão de

defeitos:• Evitar defeitos• Minimizar riscos• Integração entre as equipes• Automação da gestão de defeitos

• Melhoria contínua• Nível de maturidade

Page 20: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

20

RESUMINDO2. CONCEITO DE DEFEITO• Defeito decorrente da falta de concordância

com as especificações do produto;• Defeito decorrente de situações

inesperadas, não definidas na especificação;“Os defeitos podem decorrer da falta de

entendimento do requisito ou simplesmente da falta de definição do requisito.”

• 11 tipos de defeitos:

Page 21: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

21

RESUMINDO1. Interface com o usuário2. Introzidos no tratamento de defeitos3. Limites4. Cálculo5. Inicialização ou fechamento6. Controle de fluxo

7. Manuseio ou interpretação de dados8. Condições de disputa9. Carga10. Hardware ou software11. Controle de versões

Page 22: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

22

RESUMINDO3. PROCESSO DE GESTÃO DE DEFEITOS• Elementos-chave do processo:

• Prevenção de defeitos; • Linha-de-base (baseline) a ser entregue; • Identificação do defeito;

• Solução do defeito; • Melhoria do processo; • Relatórios de gestão;

Page 23: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

23

PERGUNTAS

Page 24: Seção de Qualidade de Software BASE DE CONHECIMENTO EM TESTE DE SOFTWARE GESTÃO DE DEFEITOS.

24

AVALIAÇÃO

Seção de Qualidade de SoftwareJenny Oliveira