El desarrollo de Software es una profesión de origen reciente. Si bien el ambiente está lleno de prestigiosos autores que crearon su propio método para agilizar la tarea, la producción todavía se encuentra en un período artesanal, lo que tiene como consecuencia un fenómeno a nivel mundial denominado Crisis del Software: las personas y empresas requieren más programas de los que se pueden fabricar.
Como ocurre con los productos artesanales, es frecuente que el Software tenga ciertas imperfecciones. En informática a estas imperfecciones se las conoce como errores y generan una variada cantidad de comportamientos anormales: desde pequeñas molestias al usuario hasta agujeros en la seguridad de una computadora. Para evitar que estos errores afecten al usuario, antes de ser vendido, el producto debe ser puesto a prueba.
La actividad de probar un Software requiere un afán de destrucción: el objetivo es que falle. Quien se dedica a esto debe actuar como si fuera un usuario inquieto que hace cosas inusuales, acciones que el programa no espera. El éxito se logra cuando el sistema deja de funcionar o hace algo que no debería. Es entonces que se encontró el error. Una vez detectado se lo reporta para que sea corregido.
Hasta el programa más pequeño puede tener algún error, y cuanto mayor es el tamaño y la complejidad de un programa, más son las oportunidades para que aparezcan errores en su funcionamiento.
Para afrontar los gastos de esta actividad, las empresas primero lanzan el producto en una versión alpha. En ella sus propios empleados hacen pruebas y correcciones para que quede un programa presentable. Una vez logrado esto, se buscan personas fuera de la compañía que estén dispuestas a utilizar un sistema con muchos errores a cambio de reportar todas las penurias por las que debieron pasar en el intento. A esta versión se la conoce como beta.
Luego de haber pasado por estas dos etapas, el Software llega al usuario final. Dado que a esta altura el producto ya fue vendido, lo que corresponde es que funcione correctamente. Lamentablemente esto no siempre es así, y algunos programas deben actualizarse constantemente a través de Internet para corregir las nuevas fallas que se van detectando.