Mudanças entre as edições de "Padrões para classificação de bugs"

De MSTECH wiki
Ir para: navegação, pesquisa
Linha 1: Linha 1:
  Versão 1.0 de 19/04/2016
+
  Versão 2.0 de 10/03/2017
  
  
 
==Introdução==
 
==Introdução==
 
Com o amadurecimento do processo de testes na MSTECH, surge a necessidade da implantação de métodos de melhoria contínua da qualidade.
 
Os bugs representam muito mais do que descritivos de falhas. Através de uma análise estatística, podemos identificar padrões de defeitos e, dessa maneira, sugerir melhorias e planos de ação para diminuir essas ocorrências, aumentando a qualidade dos produtos desenvolvidos.
 
A classificação dos bugs auxilia nesse processo, dando aos gestores os instrumentos necessários para identificar esses padrões.
 
  
==Classificações==
+
Com o amadurecimento do processo de testes na MSTECH, surge a necessidade da implantação de métodos de melhoria contínua da qualidade. Os bugs representam muito mais do que descritivos de falhas. Através de uma análise estatística, podemos identificar padrões de defeitos e, dessa maneira, sugerir melhorias e planos de ação para diminuir essas ocorrências, aumentando a qualidade dos produtos desenvolvidos. A classificação dos bugs auxilia nesse processo, dando aos gestores os instrumentos necessários para identificar esses padrões.
  
===Funcionalidade===
+
A versão 2.0 deste documento revisa as classificações de bugs com base na experiência adquirida pela equipe de testes, visando tornar as classificações mais claras, rápidas e precisas.
  
*Desacordo com o requisito
+
As principais mudanças são:
  
*Integração
+
*'''Remoção da subcategoria''': Teremos apenas um campo para indicar a classificação do bug. Todas as opções ficarão no campo Categoria. Essa mudança corrige uma limitação da ferramenta Youtrack, que não filtrava a subcategoria pela categoria selecionada.
  
*Construção
+
*'''Remoção de categorias que não são utilizadas''': A categoria Integração foi removida. Há uma limitação para identificar quando um bug foi gerado por problemas de integração de outras partes do sistema.
  
*Ortografia e gramática
+
*'''Adição de novas categorias''': Novas categorias foram adicionadas para refletir os tipos de bugs identificados no processo de desenvolvimento.
  
*Definição
+
*'''Remoção do campo Origem''': O campo Origem visava identificar bugs que são gerados em desenvolvimento, bugs que são encontrados na homologação e bugs que vêm da produção. O problema é que os bugs de homologação são corrigidos sem o registro de bugs no Youtrack e os bugs de produção entram como requisitos para as próximas sprints.
  
 
+
*'''Adição de Reasons''': As Reasons permitem identificar quando um bug foi deferido, quando o desenvolvedor não consegue reproduzir ou quando um bug está obsoleto. Isso permite gerar métricas mais confiáveis para o processo de desenvolvimento e de testes.
====Desacordo com o requisito====
+
 
+
Essa classificação deve ser utilizada nos casos em que o sistema, módulo ou página não foi desenvolvido de acordo com os requisitos fornecidos.
+
 
+
Exemplo:
+
 
+
''Requisito:'' a página de cadastro de pessoas deve possuir os campos Nome, Endereço e Telefone.
+
''Desenvolvimento:'' A página foi desenvolvida com os campos Nome e Endereço.
+
 
+
A falta do campo Telefone caracteriza um bug de Funcionalidade, com a subclassficação Desacordo com o requisito. Vale lembrar que a página pode estar funcionando corretamente com os campos que foram implementados, porém a falta de um dos campos especificados no requisito caracteriza um problema.
+
 
+
 
+
====Integração====
+
 
+
Utilizada quando o desenvolvimento de um requisito afeta ou danifica, direta ou indiretamete, outra parte do sistema.
+
 
+
Exemplo:
+
 
+
''Requisito:'' Alterar a forma de cálculo da média bimestral, de (a+b+c)/3 para (a+b)/2.
+
''Desenvolvimento:'' Fórmula alterada para (a+b)/2.
+
 
+
O desenvolvimento foi realizado corretamente, porém a alteração da fórmula de média bimestral alterou também o cálculo da média final, que não deveria ter sido alterada. Portanto, ocorreu um bug de Funcionalidade, subclassificação Integração.
+
 
+
 
+
====Construção====
+
 
+
Utilizada quando o desenvolvimento introduziu defeitos no software, que causam falhas ou qualquer outro problema nas funcionalidades.
+
 
+
Exemplo 1:
+
 
+
''Requisito:'' Página de cadastro de pessoas, com os campos Nome, Endereço e Telefone.
+
''No teste:'' Os campos foram criados, porém não está salvando o campo Nome.
+
 
+
Neste caso, provavelmente não foram inseridos os métodos para salvar os dados do campo Nome.
+
 
+
Exemplo 2:
+
 
+
''Requisito:'' Página de cadastro de pessoas, com os campos Nome, Endereço e Telefone.
+
''No teste:'' Ao clicar no botão Salvar, sistema exibe mensagem de erro.
+
 
+
Neste caso, sistema apresentou uma falha, provavelmente por erro no código.
+
 
+
 
+
====Ortografia e gramática====
+
 
+
Utilizada quando existem palavras, frases ou textos que não estão corretos com base na norma culta da língua.
+
 
+
Exemplo 1:
+
 
+
''Texto:'' O perído de cadastro deve ser de 01/01/2016 à 30/01/2016.
+
 
+
Nesse caso, não há crase.
+
 
+
 
+
Exemplo 2:
+
 
+
''Texto:'' Não é possível realizar o cadastro pois não está dentro do prazo definido.
+
 
+
Nesse caso, deveria haver uma vírgula antes da conjunção “pois”.
+
 
+
 
+
====Definição====
+
 
+
Ocorre quando determinada implementação não consta no requisito, mas é necessária para o sistema ou requisito como um todo.
+
Um bug de definição deve ser direcionado ao analista de requisitos ou responsável pelo projeto, para as adequações necessárias.
+
+
Exemplo:
+
 
+
''Requisito'': A página deve conter filtros por Série e, em seguida, por Turma.
+
''No desenvolvimento:'' Para que o requisito seja completado, o  desenvolvedor precisou adicionar também o filtro por Escola para conseguir implementar os filtros por Série e Turma.
+
 
+
Ao identificar que o filtro Escola foi implementado e não consta no requisito, o testador deve procurar o desenvolvedor. Após esclarecer a necessidade, o testador deverá abrir um bug de Definição para que o analista de requisitos ou responsável pelo projeto corrija o requisito.
+
 
+
 
+
===Usabilidade===
+
 
+
*Conformidade
+
 
+
*Inteligibilidade
+
 
+
 
+
====Conformidade====
+
 
+
Utilizada quando um requisito foi desenvolvido fora do padrão do sistema. Também quando o sistema ou parte do sistema está fora do padrão ou normas definidas pela MSTECH.
+
 
+
Exemplo:
+
 
+
''Padrão do sistema:'' Todo título de página deve ter apenas a primeira letra maiúscula.
+
''Desenvolvimento:'' O título da página foi criado como “Cadastro de Alunos”.
+
 
+
Esse caso caracteriza um bug de conformidade, pois o nome da página deveria ser “Cadastro de alunos”.
+
 
+
 
+
====Inteligibilidade====
+
 
+
Utilizada quando o fluxo de uso de uma página está confuso ou pode causar dificuldades de entendimento por parte do usuário.
+
 
+
Mensagens de validação ou de ajuda que estão mal escritas podem confundir o usuário. Esse tipo de problema entra na categoria Inteligibilidade.
+
 
+
 
+
===Layout===
+
+
 
+
Utilizada para bugs que reportam problemas no layout dos sistemas, como por exemplo:
+
 
+
*Desalinhamentos
+
 
+
*Layout quebrado em diferentes resoluções de tela
+
 
+
*Layout quebrado por diferenças em navegadores
+
 
+
 
+
===Acessibilidade===
+
 
+
Utilizada para bugs relacionados com funcionalidades de acessibilidade, como por exemplo:
+
 
+
*Alto contraste
+
 
+
*Tamanho de fontes
+
 
+
*Tooltips
+
 
+
*Navegação com a tecla TAB
+
 
+
*Navegabilidade sem mouse
+
 
+
*Textos dos links
+
 
+
*Leitor de tela
+
 
+
 
+
===Configuração===
+
 
+
Utilizada quando ocorre impedimento causado pela falta de configuração do sistema/ambiente, tanto por parte do desenvolvimento quanto por parte do testador.
+
 
+
Muitas vezes o testador se depara com falhas no sistema, inferindo que elas foram causadas por problemas de codificação no desenvolvimento.
+
 
+
Na análise do bug aberto para essa falha, o desenvolvedor pode constatar que ela foi causada por falta de uma configuração, software ou qualquer outro mecanismo necessário naquele ambiente de testes.  Portanto, não foi um problema no desenvolvimento.
+
 
+
Nesse caso, cabe ao desenvolvedor ou testador alterar a classificação do bug para Configuração.
+
 
+
Exemplo:
+
 
+
''No teste:'' Na preparação do ambiente, o testador  pegou a última versão do código e compilou o projeto. Ao realizar os testes, se deparou com muitas mensagens de erro.
+
 
+
Nesse caso, o testador esqueceu de realizar a atualização do BD (compare, grant, etc.). Os erros estavam sendo ocasionados pelo BD desatualizado.
+

Edição das 21h00min de 10 de março de 2017

Versão 2.0 de 10/03/2017


Introdução

Com o amadurecimento do processo de testes na MSTECH, surge a necessidade da implantação de métodos de melhoria contínua da qualidade. Os bugs representam muito mais do que descritivos de falhas. Através de uma análise estatística, podemos identificar padrões de defeitos e, dessa maneira, sugerir melhorias e planos de ação para diminuir essas ocorrências, aumentando a qualidade dos produtos desenvolvidos. A classificação dos bugs auxilia nesse processo, dando aos gestores os instrumentos necessários para identificar esses padrões.

A versão 2.0 deste documento revisa as classificações de bugs com base na experiência adquirida pela equipe de testes, visando tornar as classificações mais claras, rápidas e precisas.

As principais mudanças são:

  • Remoção da subcategoria: Teremos apenas um campo para indicar a classificação do bug. Todas as opções ficarão no campo Categoria. Essa mudança corrige uma limitação da ferramenta Youtrack, que não filtrava a subcategoria pela categoria selecionada.
  • Remoção de categorias que não são utilizadas: A categoria Integração foi removida. Há uma limitação para identificar quando um bug foi gerado por problemas de integração de outras partes do sistema.
  • Adição de novas categorias: Novas categorias foram adicionadas para refletir os tipos de bugs identificados no processo de desenvolvimento.
  • Remoção do campo Origem: O campo Origem visava identificar bugs que são gerados em desenvolvimento, bugs que são encontrados na homologação e bugs que vêm da produção. O problema é que os bugs de homologação são corrigidos sem o registro de bugs no Youtrack e os bugs de produção entram como requisitos para as próximas sprints.
  • Adição de Reasons: As Reasons permitem identificar quando um bug foi deferido, quando o desenvolvedor não consegue reproduzir ou quando um bug está obsoleto. Isso permite gerar métricas mais confiáveis para o processo de desenvolvimento e de testes.