La depuración se refiere a un proceso en el desarrollo de software mediante el cual los analistas de programas revisan el código de la computadora en busca de «errores»: la fuente de errores, fallas o agujeros de seguridad en las instrucciones internas del programa. El desarrollo de hardware también pasa por la depuración para garantizar la compatibilidad con los estándares de hardware actuales y la interoperabilidad entre componentes que se adhieren a los mismos protocolos. Además, la depuración garantiza que el hardware y el software son compatibles con versiones anteriores o que coexistirán con estándares preexistentes que podrían estar todavía en uso.
La depuración del software se realiza en dos fases. La primera fase se conoce como «pruebas alfa» y se realiza internamente antes de que el software se haga público. La segunda fase se lleva a cabo mediante un proceso público conocido como «prueba beta». Los probadores beta son entusiastas de la informática voluntarios que utilizan el software beta bajo su propio riesgo bajo el acuerdo de que los errores o problemas se informarán a los desarrolladores.
Dado que los errores deben aislarse e identificarse antes de que se puedan parchear, el primer paso es probar el software en diversas condiciones. Cuando se revela un error, el depurador toma nota de las condiciones exactas en las que apareció el error, incluida la función en ejecución actual, el tipo y la versión del sistema operativo y otros componentes de software o hardware que puedan ser relevantes. Los probadores beta públicos envían informes detallados en línea que enumeran los detalles pertinentes en consecuencia, generalmente completando un formulario prediseñado.
Una vez que se completan ambas fases de depuración, el programa de software está listo para un lanzamiento general como versión estable. Sin embargo, la depuración continúa como un protocolo de mantenimiento durante la vida útil del producto, intensificándose con actualizaciones importantes.
El hardware se depura antes de que llegue al mercado y no se somete a pruebas beta en el mundo real per se, ya que esto sería demasiado caro y problemático por una serie de razones bastante obvias. En cambio, la mayoría de los fabricantes de hardware proporcionan una interfaz en línea donde los usuarios pueden obtener soporte técnico o informar problemas con el hardware. En muchos casos, estos problemas resultan ser errores del usuario, pero el proceso también sirve para revelar errores que no fueron detectados en la fase de depuración inicial. Los depuradores pueden volver a las instrucciones codificadas en los chips de control y realizar cambios para eliminar los errores del hardware. Luego, el fabricante puede proporcionar una actualización de firmware que los usuarios pueden descargar en línea para actualizar su hardware.
Si bien la depuración interna ciertamente puede eliminar el software y el hardware de muchos errores, nada reemplaza las pruebas del mundo real. Es prácticamente imposible para un autor o fabricante reproducir todas las condiciones y sistemas imaginables en los que se utilizará el hardware o el software. Muchos usuarios experimentados de IBM-PC esperan un período de 12 a 36 meses antes de migrar a un nuevo sistema operativo por este motivo, como hacer el cambio de Windows ™ XP ™ a Windows Vista ™. Esto le da a la comunidad tiempo para identificar cualquier problema de seguridad importante, error u otro problema inicial que pueda requerir depuración y parcheo.