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

Preview:

Citation preview

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

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

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;

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);

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);

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.

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

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

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.

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;

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)

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

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.

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)

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;

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)

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.

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

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:

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

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;

23

PERGUNTAS

24

AVALIAÇÃO

Seção de Qualidade de SoftwareJenny Oliveira

Recommended