Qual é a diferença entre solução de problemas, testes e depuração?
Passe algum tempo trabalhando ou jogando em computadores e em breve você ouvirá três palavras sobre: solução de problemas , teste e depuração . Embora os dois primeiros sejam bastante comuns, seus significados podem parecer confusos ou mesmo sinônimos. Na prática, cada uma dessas ações é diferente, embora relacionada.
A solução de problemas é uma desgraça para o usuário final e o técnico de suporte ao cliente, e começa quando o software ou o hardware não funciona como o esperado, dando um resultado imprevisto ou insatisfatório. Em muitos casos, o erro do usuário está errado.
O primeiro passo na solução de problemas é cobrir o básico. O software ou hardware está instalado corretamente? Está configurado corretamente? Você leu o manual e seguiu todas as instruções? Talvez você tenha alterado algo no seu sistema que precipitou o problema? Você usa este produto o tempo todo ou é uma nova instalação?
Se for uma nova instalação, você pode ter quase certeza de que o problema está no processo de instalação, principalmente no caso de hardware. O hardware requer um driver de dispositivo (arquivo de software) que atua como uma ponte ou interface entre o hardware e o sistema operacional. Se o driver do dispositivo falhar, o hardware não poderá se comunicar adequadamente com outros componentes do sistema. Os drivers de dispositivo podem não estar presentes ou podem ter sido instalados na ordem errada em relação ao dispositivo.
Se o problema estiver no hardware que estava funcionando perfeitamente até o momento, a corrupção do driver do dispositivo pode ser a causa. Reinstalar o driver pode resolver o problema. Um driver atualizado também pode fazer o truque. Outras vezes, recolocar um componente na placa-mãe desligando o computador, extraindo o componente e reinstalando-o, resolve o problema.
A solução de problemas de hardware nos sistemas operacionais Windows ™ também está disponível nos menus Gerenciador de dispositivos e Ajuda . Um ponto de exclamação amarelo ao lado de um componente no Gerenciador de dispositivos indica um problema.
O software que começa a se comportar mal também pode estar corrompido. Às vezes, a reinstalação pode ajudar, mas se um programa começar a funcionar após a instalação de software novo e não relacionado, pode haver um conflito entre os dois. Os firewalls e os programas antivírus são notórios por não serem bem reproduzidos juntos, e provavelmente é aconselhável manter apenas um programa em cada uma dessas categorias, a menos que você seja um usuário avançado.
Geralmente, a solução de problemas envolve a leitura de manuais ou arquivos de ajuda, passando pelo básico para eliminar o erro do usuário como causa potencial e o uso de um mecanismo de pesquisa para investigar como outras pessoas resolveram o problema. Se há sempre uma coisa com a qual você pode contar como usuário final, é que alguém já entrou no seu lugar antes. A comunidade da Internet é muito boa em fornecer ajuda e, na maioria dos casos, as respostas podem ser encontradas em pesquisas diligentes.
O teste é o precursor da depuração. O teste geralmente é o ponto forte dos programadores e usuários avançados e ocorre quando um produto é novo ou está sendo atualizado e precisa ser testado para eliminar possíveis problemas. O teste identifica “bugs” ou imperfeições para que possam ser corrigidos no processo de depuração, antes do [próximo] lançamento oficial do produto. Esses lançamentos "não oficiais" são conhecidos como lançamentos beta (por exemplo, 3.0 b ) e voluntários públicos são conhecidos como testadores beta.
O teste beta é um recurso valioso para desenvolvedores de software, devido aos diversos sistemas de computador participantes, combinados com o grande número de horas e cenários em que o programa é usado. Isso elimina problemas imprevistos de uma maneira que não pode ser efetivamente alcançada usando apenas depuradores internos. A fase de teste beta fornece aos autores uma boa idéia da disponibilidade de um produto para o domínio público.
O hardware também é testado na versão beta, mas como é financeiramente proibitivo fornecer ao público hardware beta gratuito, o teste e a depuração de hardware geralmente são realizados internamente. Os produtos beta podem, no entanto, ser lançados e, em alguns casos, distribuídos em número limitado para pessoas do setor em conferências como a COMDEX.
O software beta é especificamente disponibilizado para teste e não é considerado uma versão estável. Os testadores beta instalam o software beta por seu próprio risco e, para ajudar os desenvolvedores a identificar a origem de um problema, eles devem fornecer uma quantidade saudável de informações ao relatar um bug. Os dados necessários variam, mas geralmente incluem especificações do sistema, versão beta e compilação, as condições exatas sob as quais o bug ocorreu e o conteúdo da mensagem de erro.
A depuração é o ponto forte dos programadores e desenvolvedores e envolve a correção do próprio código do software para eliminar erros ou bugs. Os desenvolvedores tentam replicar erros relatados na versão beta em sistemas internos com o objetivo de eliminá-los.
Embora existam muitos tipos de ferramentas de depuração, um exemplo simples é uma ferramenta que permite ao programador monitorar o código do programa enquanto o manipula para executar vários comandos e rotinas. Uma abordagem básica é simplificar o código o máximo possível no ponto problemático suspeito, enquanto ainda replica o problema, restringindo o foco a possíveis linhas de problema. Na realidade, a depuração é um processo complexo que requer abordagens diferentes com base em fatores como a complexidade e o comprimento do próprio código de software e a linguagem com a qual ele é escrito.
A depuração pode ser uma tarefa cansativa, embora alguns idiomas sejam mais fáceis de depurar do que outros. Java, por exemplo, inclui rotinas que manipulam erros de exceção. Um erro de exceção ocorre quando o programa encontra uma situação que deve ser resolvida antes que o programa possa continuar corretamente. Nesse caso, uma rotina interna inicia uma "pesquisa" nas várias camadas do código do software, procurando uma resposta para o problema. Se não for possível encontrar uma correção, ocorrerá um erro fatal de exceção e o programa será encerrado. A mensagem de erro resultante pode incluir um endereço de memória ou outros dados enigmáticos que não ajudarão o usuário, mas podem ser valiosos para depuração. Programas bem escritos não devem ter erros fatais.
Linguagens de programação mais antigas, como C ou assembly, não são tão transparentes e não tratam erros com tanta eficiência. Os programas de depuração escritos nesses idiomas podem testar as habilidades e a paciência do depurador.
Felizmente para o usuário final, o software disponível comercialmente já foi depurado de grandes falhas. Devido a esse motivo, a maioria dos problemas encontrados pelo usuário final se enquadra no âmbito da solução de problemas e pode ser corrigida pelos meios mencionados anteriormente. Nas ocasiões em que um usuário final encontra um bug, passar pelos movimentos da solução de problemas pode revelar uma solução alternativa até que o bug seja corrigido pelo desenvolvedor.
Ao pedir ajuda em um fórum ou grupo de notícias da Web, faça sua lição de casa com antecedência. A solução de problemas é demorada e as pessoas que oferecem sua ajuda apreciam alguém que se esforçou para encontrar respostas. A indagação sobre um problema que tenha sido solicitado e respondido repetidamente não fará com que você seja um amigo e é considerada uma má netiqueta.