Qual é a diferença entre um defeito e um bug?
Comentários
- Leia testingstandards.co.uk/bs_7925-1_online.htm para obter mais informações
- Existem bugs que realmente dizem que algo está faltando, o que significa que são solicitações de recurso, não bugs.
- A resposta depende da finalidade por que você está perguntando.
- Procure a etimologia da palavra defeito. De = não, un. Facere = do. Portanto, não faz (como esperado), não executa, está quebrado, kaput. Considerando que bug significa ” algo em andamento impedindo o desempenho “. No final do dia você terá que consertar algo, então é tudo acadêmico. Votei para fechar, você ‘ não tem alguns bugs para corrigir ?!
Resposta
-
Um bug é o resultado de um erro de codificação
-
Um defeito é um desvio dos requisitos
Isto é: Um defeito não significa necessariamente que há um bug no código , pode ser uma função que não foi implementada, mas definida nos requisitos do software.
Da página da Wikipedia em teste de software :
Nem todos os defeitos de software são causados por erros de codificação. Uma fonte comum de defeitos caros é causada por lacunas de requisitos, por exemplo, requisitos não reconhecidos, que resultam em erros de omissão pelo designer do programa. [14] Uma fonte comum de lacunas de requisitos são os requisitos não funcionais, como testabilidade, escalabilidade, manutenção, usabilidade, desempenho e segurança.
Comentários
- Ambos são ” desvios dos requisitos ” a meu ver.
- Um defeito não ‘ não precisa ser um bug. Além disso, um bug não ‘ tem que significar que um requisito não foi atendido e, portanto, não é ‘ um desvio do requisito ‘
- Você parece estar perdendo o ponto @Martin. Sim, um bug pode ser um defeito. Sim, um defeito pode ser um bug. Mas isso não é ‘ necessariamente sempre verdadeiro. Só porque há alguma sobreposição, não ‘ significa que são idênticos! Diagrama de Venn do bug & Defeito – > (())
- @Dan McGrath: basicamente o que você fez aqui é sua própria definição de bug. Mas, em geral, não existe ‘ qualquer significado definido, ele ‘ é apenas um jargão de engenharia!
- @DanMcGrath : Seu diagrama de Venn é inútil. Pode significar ({}) ou ({)} . Presumo que você quisesse dizer o segundo.
Resposta
Citando Ilene Burnstein do livro Teste prático de software (recomendado) que parte da definição nos” Padrões IEEE Collection for Software Engineering “(1994) e” IEEE Standard Glossary of Software Engineering Terminology “(padrão 610.12, 1990):
Erro
Um erro é um engano, equívoco ou mal-entendido por parte de um desenvolvedor de software
Na categoria de desenvolvedor, incluímos engenheiros de software, programadores, analistas e testadores. Por exemplo, um desenvolvedor pode interpretar mal uma notação de design, ou um programador pode digitar um nome de variável incorretamente.
Falhas (Defeitos)
Uma falha (defeito) é introduzida no software como resultado de um erro. É uma anomalia no software que pode fazer com que ele se comporte incorretamente e não de acordo com suas especificações.
Falhas ou defeitos são às vezes chamados de “bugs”. O uso do último termo trivializa o impacto que as falhas têm na qualidade do software. O uso do termo “defeito” também está associado a artefatos de software, como requisitos e documentos de design. Os defeitos que ocorrem nesses artefatos também são causados por erros e geralmente são detectados no processo de revisão.
Falhas
Uma falha é a incapacidade de um sistema ou componente de software de executar suas funções exigidas dentro dos requisitos de desempenho especificados.
Durante a execução de um componente ou sistema de software, um testador, desenvolvedor, ou o usuário observa que não produz os resultados esperados. Em alguns casos, um determinado tipo de mau comportamento indica que um certo tipo de falha está presente. Podemos dizer que o tipo de mau comportamento é um sintoma da falha.Um desenvolvedor / testador experiente terá uma base de conhecimento de falhas / sintomas / casos de falha (modelos de falha conforme descrito no Capítulo 3) armazenada na memória. O comportamento incorreto pode incluir a produção de valores incorretos para variáveis de saída, uma resposta incorreta por parte de um dispositivo ou uma imagem incorreta em uma tela. Durante o desenvolvimento, as falhas são geralmente observadas pelos testadores e as falhas são localizadas e reparadas pelos desenvolvedores.
Você pode ler o capítulo completo no Google Livros, aqui .
Resposta
Existem alguns termos diferentes relacionados a bugs de software. Trecho de um curso que fiz:
-
Erro : ação humana ou omissão isso resulta em uma falha.
-
Falha : a falha é um software defeito (etapa, processo ou definição de dados incorreta) que causa uma falha.
-
Bug : O mesmo que Falha.
-
Falha : O incapacidade de um software de executar suas funções exigidas dentro dos requisitos de desempenho especificados.
De acordo com isso, não há diferença entre um defeito e um bug. No entanto, algumas pessoas argumentam que bug é um erro encontrado antes de lançar o software, enquanto defeito é aquele encontrado pelo cliente.
Não pude resistir a postar o famoso “primeiro caso real de bug sendo encontrado “.
Comentários
- Finalmente, alguém que leu: testingstandards.co.uk/bs_7925-1_online.htm
- Isso ‘ não é de onde eu obtive, mas eles podem ter uma fonte comum (ou esta pode ser a fonte).
- Sim, muitos, muitos anos atrás, passei um tempo tentando consertar um bug. tinha uma cintilação irritante em uma célula da tela e não fazia sentido. Finalmente desapareceu. (Isso era na era do texto branco em uma tela preta, o ponto em questão estava longe o suficiente para a direita para sempre ser preto enquanto Eu estava editando, então só percebi quando o programa colocou um pouco de branco atrás dele.)
Resposta
Oh céus.
Nos velhos tempos – o funcionamento defeituoso de um computador era causado por todos os tipos de coisas – incluindo ratos mastigando a fiação e insetos reais (criaturas) entrando em ação.
O termo BUG permaneceu como um termo que significa que algo não está funcionando como esperado.
BUG deve ser considerado um termo jargão que significa um defeito.
Um defeito é um termo tecnicamente correto que significa que a coisa não funciona como deveria.
Sempre que possível, usar DEFECT em vez de BUG traz consigo uma conotação de que reconhecemos nossas falhas (nossos defeitos, nossa falta de compreensão dos requisitos do usuário ou das coisas que negligenciamos na implementação) em vez de vesti-lo como o “bug” que parece mais trivial.
Use DEFECT.
Tente não usar o termo BUG. É bobo, irrelevante, histórico e trivial.
Comentários
- Por que você quer remover de uso um termo técnico bem conhecido? Eu ‘ desculpe … sim, o BUG é histórico – mas se você acha que os programadores consideram os bugs (genericamente em oposição a específicos) como triviais apenas porque eles ‘ são chamados de bugs ou o termo é irrelevante por causa de suas origens, então ‘ temo que minha transformação em uma meia-idade rabugenta seja inteiramente justificada. Ah, e como @Dan aponta, bugs são defeitos, mas defeitos não são ‘ necessariamente bugs, o que sugere ainda que o termo tem valor.
- @Murph, a ” bug ” é um eufemismo para erro de programação. Inconscientemente, isso atrai uma espécie de gremlin sobre o qual o desenvolvedor não tem controle. Incorreto. É é um erro e reconhecer isso é um passo em direção a um comportamento mais profissional. (Imho, é claro :-))
- Erm, claramente eu discordo (-: Eu sei exatamente quem é o responsável pelos bugs – erros de codificação e lógica – que tenho em meu código. (I ‘ também sou capaz de identificar falhas no código ‘ s de outras pessoas.) Todos os programadores que conheço são claros sobre o que o termo significa – que eles ( bem, algum programador) e não algum tipo de gremlin cometeu um erro.
- Ao lidar com seus clientes, você pode chamar essas coisas de bugs ou defeitos. Bugs é jargão. Defeitos é um reconhecimento, fora do jargão, de que não é como deveria ser. ” Defeitos ” é um termo que é, e incentiva, comunicação clara – fora da fraternidade de programação também como dentro.(Também discordo que haja uma diferença entre um bug e um defeito.)
- Defeitos é o termo adequado. Quantos programas são lançados com bugs e todos nós aceitamos isso? Mas quantos programas são lançados com defeitos? Não ‘ aceitaríamos isso porque o termo implica uma gravidade maior e sabemos que ‘ é nossa própria culpa pelo erro, ao contrário do que um bug em que podemos culpar o clima ou a hora do dia.
Resposta
Do padrão IEEE Glossário de Terminologia de Engenharia de Software, que é citado no Corpo de Conhecimento em Engenharia de Software KA para Teste de Software e Qualidade de Software:
bug. Veja: erro; falha.
erro. (1) A diferença entre um valor ou condição calculado, observado ou medido e o valor ou condição verdadeiro, especificado ou teoricamente correto. Por exemplo, uma diferença de 30 metros entre um resultado calculado e o resultado correto. (2) Uma etapa, processo ou definição de dados incorreta. Por exemplo, uma instrução incorreta em um programa de computador. (3) Um resultado incorreto. Por exemplo, um resultado calculado de 12 quando o resultado correto é 10. (4) Uma ação humana que produz um resultado incorreto. Por exemplo, uma ação incorreta por parte de um programador ou operador. Nota: Embora todas as quatro definições sejam comumente usadas, uma distinção atribui a definição 1 à palavra “erro”, a definição 2 à palavra “falha”, a definição 3 à palavra “falha” e a definição 4 à palavra “erro”. Veja a2so: erro dinâmico; erro fatal; erro indígena; erro semântico; erro sintático; erro estático; erro transitório.
falha. A incapacidade de um sistema ou componente de executar suas funções exigidas dentro dos requisitos de desempenho especificados. Nota: A disciplina de tolerância a falhas distingue entre uma ação humana (um erro), sua manifestação (uma falha de hardware ou software), o resultado da falha (uma falha) e o valor pelo qual o resultado é incorreto (o erro). Veja também: crash; falha dependente; exceção; Modo de falha; taxa de falha; falha difícil; falha incipiente; falha independente; falha aleatória; falha suave; falha travada.
falha. (1) Um defeito em um dispositivo ou componente de hardware; por exemplo, um curto-circuito ou fio quebrado. (2) Uma etapa, processo ou definição de dados incorreta em um programa de computador. Nota: Esta definição é usada principalmente pela disciplina de tolerância a falhas. No uso comum, os termos “erro” e “bug” são usados para expressar este significado. Consulte também: falha sensível a dados; falha sensível do programa; falhas equivalentes; mascaramento de falhas; falha intermitente.
Acho que a definição de falha é a mais relevante. Tudo começa com um erro, seja nos requisitos, no design, na implementação ou no caso / procedimento de teste. Se esse erro se manifestar no software, ele se torna uma falha. Uma falha é causada pela existência de um ou mais falhas no software.
No entanto, não gosto muito da definição formal de erro. Eu prefiro muito a definição fornecida por dukeofgaming em sua resposta , no entanto, aquela nesta resposta é a definição padrão de erro do IEEE.
Resposta
A resposta de Dan McGrath “ acertou em cheio.
- Um bug é o resultado de um erro de codificação
- Um defeito é um desvio dos requisitos
Talvez um exemplo tornasse isso mais claro.
Exemplo: o cliente deseja que o formulário da web possa salvar e fechar a janela.
Cenário nº 1: o formulário da web tem um botão para salvar e outro botão para fechar. Resultado: Defeito, porque o cliente queria o botão 1 para salvar e fechar a janela. O desenvolvedor entendeu errado e criou separadamente. Como os dois botões cumpriram seus requisitos, não é um bug, mas um defeito porque não atendeu aos requisitos do cliente.
Cenário 2: o formulário da web tem um botão para salvar & fechar, mas apenas salva, mas não fecha. Resultado: Erro. Porque o botão não funciona conforme necessário / esperado. O desenvolvedor sabe que é suposto produzir esse resultado, mas no final das contas não o fez. (Talvez erro de codificação)
Não tenho certeza se isso torna mais claro.
p / s: de um desenvolvedor ponto de vista (eu era uma vez), defeitos e bugs são tão importantes. Nós ainda vamos consertar.
Nós até encontramos anomalias estranhas, que categorizamos como bugs e tentamos continuamente descobrir o que é a causa e como corrigi-lo. Chamá-lo de bug não o torna trivial em comparação com os defeitos.
Comentários
- O que chamamos de requisitos com falha?
- @ gnasher729 se por requisitos falhos você quisesse dizer que os programadores entenderam mal os requisitos, então eu pensaria que ‘ é um defeito. Mas se você quis dizer requisitos com falha, já que o usuário fornecendo os requisitos errados, resultando no trabalho final, não resolve o problema inicial, isso está além do bug e do defeito, pois este é um problema com a sessão de coleta de requisitos e não com o desenvolvimento.
Resposta
Aqui está uma que fiz anteriormente para o meu empregador Q-LEAP com base no vocabulário ISTQB e também verifiquei o vocabulário IEEE. Aproveitar.
Bug e defeito? O mesmo, embora se possa ter uma discussão interminável sobre isso. Na verdade, temos outras coisas com que nos preocupar, a vida já é complicada o suficiente, etc.
Um exemplo de como o termo é usado em estado selvagem, de “How Google Tests Software” p. 113. Abra um artigo de “IEEE Software” e ele é usado da mesma maneira. Na verdade, raramente se encontra a palavra “defeito” na vida real.
Life of a Bug
Bugs e relatórios de bug são o único artefato que todo testador entende. Encontrar bugs, fazer triagem de bugs, corrigir bugs e regredir bugs são o coração e o fluxo de trabalho para qualidade do software. Esta é a parte do teste mais convencional no Google, mas ainda existem alguns desvios interessantes da norma. Para esta seção, ignoramos os bugs que são arquivados para rastrear itens de trabalho e usamos o termo para identificar código quebrado real. Como tal, os bugs geralmente representam o fluxo de trabalho de uma hora para outra e do dia a dia das equipes de engenharia.
Um bug nasce. Bugs são encontrados e arquivados por todos no Google. Produto Os gerentes registram bugs quando detectam problemas nas primeiras versões que diferem de suas especificações / pensamentos. Os desenvolvedores registram bugs quando percebem que verificaram acidentalmente um problema ou encontram um problema em algum outro lugar da base de código ou durante o dogfood de produtos do Google. Os bugs também vêm de campo, de testadores de origem coletiva, testes de fornecedores externos e são arquivados por gerentes de comunidade que monitoram os Grupos do Google específicos do produto. Muitas versões internas de aplicativos também possuem maneiras rápidas de um clique para arquivar bugs, como o Google Maps. E, às vezes, os programas de software criam bugs por meio de uma API.
Resposta
A diferença é que o termo “bug” parece mágico. Como se um programa pudesse conter erros aleatoriamente depois de terminar de programar. Se houver erros aleatórios, isso significa que você não atendeu às especificações e que seu programa está errado.
Um defeito significa um erro em que o programa não está em conformidade com as especificações. Isso é mais grave e basicamente diz, qualquer erro é um enorme problema com o programa e isso significa que o programa não está apto para ser lançado.
A diferença está na atitude dos programadores que usam os termos. Existem milhões de programas que são lançados com bugs e as pessoas concordam com isso porque aceitam por algum motivo que um bug é mágico e aleatório e que cada programa contém pelo menos um bug. No entanto, um programador que usa o termo “defeito” pode ficar desconfortável em lançar um programa com um defeito porque o termo implica em uma gravidade maior.
As implicações de preferir um termo a outro nos afetam diariamente.
Resposta
De acordo com Confiabilidade: conceitos básicos e terminologia :
Uma falha do sistema ocorre quando o serviço entregue desvia de cumprir a função do sistema, sendo esta última a função do sistema. Um erro é a parte do estado do sistema que pode levar a uma falha subsequente: um erro que afeta o serviço é uma indicação que uma falha ocorre ou ocorreu. A causa julgada ou hipotética de um erro é uma falha .
Eu entendo defeito como apenas outro nome para falha.
Bug é confuso e pode representar uma falha ou falha, dependendo do contexto.
Observe que não há menção à especificação: até mesmo uma especificação pode estar com defeito.
Resposta
Fora do bug / tarefa / ticket / defeito / problema / qualquer instância do sistema de rastreamento específico, essas palavras não têm nenhum significado exato e, portanto, discutir a diferença entre elas é inútil. Quando estiver definindo seu fluxo de trabalho, você deve definir a terminologia e fornecer descrições.
No meu ambiente atual, um “defeito” é qualquer item no Jira. Parece que o próprio Jira usa o termo “problema”. Podemos ter herdado de algum sistema anterior.”Bug” é um tipo de problema quando algo não funciona como esperado e descrito na documentação. “Solicitação de recurso” quando algo está funcionando conforme o esperado, mas o aprimoramento é desejado (pode ser óbvio e importante, mas se o comportamento atual for descrito, ainda será uma solicitação de recurso). Existem mais tipos, mas esses 2 são usados por pessoas fora da equipe de desenvolvimento para fazer perguntas.
Se você está escolhendo nomes para os tipos de problemas, “bug” e “defeito” soam semelhantes a mim. A diferença entre eles é estilística. Como o inglês não é minha língua nativa, não consigo ver muito dele e não tenho certeza se o que vejo está correto.