Testar X Debugar

Testar e debugar parecem sinônimos no dicionário de TI e somente nele, pois o verbo “debugar” não existe na língua Portuguesa. Muitos diriam que testar e debugar é a mesma coisa. Mas na verdade não são, pois cada um tem uma proposta diferente:

  • Proposta de testar: é mostrar que o programa tem bugs.
  • Proposta de debugar: é achar a falha ou o erro que conduziu o programa a falhar e planejar e executar as mudanças necessárias para a correção do erro.

Fazendo uma analogia com o mundo da Fórmula 1: o piloto após dá algumas voltas no circuito, retorna ao boxes e fala para o seu engenheiro que o carro está saindo muito de traseira, o engenheiro solicita a equipe de mecânicos a investigação e concerto do problema. Neste caso, o piloto testou o carro é achou um problema e a equipe de mecânicos irá “debugar” o carro em busca da causa e solução do problema.

Debugar normalmente é associado a testar, mas eles se diferem nos objetivos, metodologias e o mais importante na psicologia:

  • O teste inicia com condições conhecidas, uso de procedimentos predefinidos e tem resultados previstos; somente se o programa falhar que o teste será imprevisível. Já a debugação (debug) parte de circunstâncias possivelmente desconhecidas e o fim não pode ser previsto, exceto estatisticamente.
  • O teste pode e deve ser planejado, projetado e programado. Já a maneira e o tempo para debugar não podem ser tão controlados;
  • Testar é uma demonstração de que o programa possui falhas ou aparentemente não. Debugar é um processo dedutivo;
  • Testar prova que o programador cometeu um erro. Debugar é a oportunidade do programador arrumar o erro cometido;
  • O teste é algo previsível, maçante, rígido e às vezes até desumano. A debugação demanda de intuição, experimentação e de liberdade;
  • Muitos testes podem ser feitos sem um conhecimento prévio do projeto. É impossível debugar sem um conhecimento aprofundado do projeto;
  • Os testes podem ser feitos por outras empresas. A debugação deve ser feita na própria empresa desenvolvedora;
  • Apesar de haver uma sólida teoria de teste, na qual é estabelecido os limites teóricos para os testes, o que pode ser feito e o que não pode. A debugação apenas recentemente vem sendo estudada por teóricos, alcançando resultados ainda rudimentares;
  • Muitos dos testes podem ser automatizados. Automatizar a debugação ainda é um sonho.

Fique por dentro das novidades, assine o feed do QualidadeBR.

Fonte:

Beizer, B. Software Testing Techniques, Second Edition. Pennsylvania, The Coriolis Group, 1990.

Anúncios

2 comentários sobre “Testar X Debugar

  1. Bom texto!

    Realmente, “debugar” é bem diferente de testar. Seria uma parte da área de Qualidade na fronteira com a área de desenvolvimento?

    Gostei da parte:
    “Muitos testes podem ser feitos sem um conhecimento prévio do projeto. É impossível debugar sem um conhecimento aprofundado do projeto”

    E automatizar a “debugacão” (é, isso também não existe no português, mas não encontrei nenhum equivalente)… isso precisaria de algo parecido com inteligência artificial, rs.

    Abracos!

    Responder
  2. Renan,

    Debugar é uma tarefa que em 99% das vezes é realizada somente pelos desenvolvedores. É um recurso utilizado para os testes (de caixa branca) que somente eles possuem.

    Abraços!

    Responder

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s