3. Un error de software, error o simplemente fallo (en inglés bug) es un problema
en un programa de computador o sistema de software que desencadena un
resultado indeseado.
5. Los bugs son el peor enemigo de cualquier programador
y aunque existen muchos controles para prevenirlos
muchas veces los problemas salen a la luz en el peor
momento, justo cuando todo parece ir genial. Por eso
siempre es importante manejar versiones y respaldos de
datos lo que ayudan a resolver los problemas.
Para solucionar estos problemas debemos tener en
cuenta las siguientes opciones.
6. Opción de Impacto mínimo.
Cuando hacemos un cambio en la aplicación que afecta
de forma negativa a los usuarios la forma más simple de
resolverlo es hacer un Rollback en el servidor para evitar
que ésto continúe afectando a los usuarios y minimizar el
efecto para los nuevos usuarios.
Ésto requiere que el servidor esté preparado para poder
hacer un deploy limpio y echar para atrás los cambios, por
eso antes debemos planificar muy bien el entorno en el
que trabajamos para no tener problemas.
7. Opción de Exploración profunda.
Resolver un bug no es tan fácil como suena y mucho
menos cuando el problema afecta a la capa de datos.
Generalmente, cuando se encuentra el bug debemos
reunir al equipo y planificar qué vamos a hacer para
recuperar los datos.
Tener respaldos continuos es muy importante para evitar
catástrofes, puede que en tablas que se muevan mucho
no sean muy útiles pero con suerte y mucha planificación
podemos sacar el mayor provecho posible.
8. Opción de Esfuerzo urgente.
Puede que el bug afecte directamente al producto y tenga
que ser solucionado de forma inmediata. Si tenemos
suerte el problema no necesitará a todo el equipo y
podremos solventarlo sin retrasarnos, pero ese no
siempre es el caso.
Siempre debemos hablar claro al equipo para organizar
el trabajo y evitar que los esfuerzos por resolver el bug
afecten al resto del trabajo que se hace.
9. Opción Nuclear.
Cuando el bug es tan grande que requiere más de la
mitad del equipo para resolverlo no nos queda otra
opción más que detener todo y dedicar todo el esfuerzo a
resolver el problema. Esto retrasará el avance de la
aplicación pero no tenemos otra opción si queremos
mantenernos activos.
Esta es la última opción ya que implica gastar más dinero,
dilatar los tiempos de desarrollo y perder mucho trabajo
y aunque ese trabajo no se pierda es muy probable que
la persona que lo tuvo que detener tenga problemas para
continuarlo.
10. En la era digital, los bugs informáticos pueden llegar a
afectar nuestras vidas, la economía de una nación e
incluso el buen funcionamiento de la sociedad, en
general. A medida que Internet vaya invadiendo poco a
poco todos los aspectos de nuestro entorno, la
importancia de identificar y prevenir los bugs informáticos
crecerá de forma exponencial.
A continuación te presento 5 bugs informáticos que
marcaron la historia.
BUGS informáticos que marcaron la historia
11. 1 – La leyenda del primer bug informático
Tras localizar una polilla en el Harvard Mark II el 9 de septiembre de 1947 a
las 15:45, Grace Murray Hopper registró el primer “bug” informático en su
libreta con la frase “First actual case of bug being found”.
Para muchos, Grace Hopper fue la persona que acuñó este término para
referirse a errores en el código de un programa informático que provocan
resultados no deseados; si bien, la palabra “bug” ya se usaba antes de 1947 en
ingeniería.
Cuando los ‘bugs’ informáticos eran insectos
Este fue el primer bug real de la historia de la informática
12.
13. 2 – El Efecto 2000
Los desarrolladores de software del siglo pasado nunca habrían pensado que
sus creaciones sobrevivirían hasta el nuevo milenio.
Todo bien hasta que nos acercamos al 31 de diciembre de 1999: nos dimos
cuenta que, por esa decisión, los sistemas informáticos pasarían en año
nuevo al 1 de enero de 1900 en lugar de 2000 y, a raíz de esto, se desatarían
grandes catástrofes y sería el fin de la humanidad.
Este bug fue real. Se gastaron miles de millones de dólares para actualizar
sistemas informáticos en todo el planeta. Además, se registraron algunos
incidentes, aunque no muy críticos.
Problema del año 2000
¿Te acuerdas? - El efecto 2000, ¿Te acuerdas? - RTVE.es A la Carta
14.
15. 3 – El misil de Dhahran
En febrero 1991 (1ª Guerra del Golfo), un misil iraquí alcanzó la base de
Dhahran en Arabia Saudí, matando a 28 soldados estadounidenses.
Tras una investigación, se determinó que el sistema de protección
antibalístico de la base falló por consecuencia de un bug informático: la
batería de misiles Patriot, cuyo papel es detectar e interceptar los misiles
enemigos para “chocar” con ellos en el aire, llevaba 100 horas en
funcionamiento. Cada hora que pasaba, el software que controlaba dicha
batería redondeaba los valores del reloj digital de una forma mínima. Sin
embargo, este error mínimo hizo que se acumulara un retraso de ⅓ de
segundo al cabo de dichas 100 horas.
El radar identificó en una primera instancia un objeto en el cielo pero no lo
pudo confirmar debido al error, por lo que el misil antibalístico no se disparó.
16.
17. 4 – El caso del Mars Climate Orbiter
La sonda Mars Climate Orbiter fue lanzada en el año 1998 con el objetivo de
estudiar el clima en Marte, si bien, esta nunca logró cumplir su misión.
Tras varios meses viajando por el espacio, la sonda se destruyó por causa de
un error de navegación: los equipos que controlaban la sonda desde la Tierra
usaba parámetros en Unidades Imperiales mientras que los cálculos se
realizaban con el Sistema Métrico Decimal. Estos errores de cálculo fueron
impactando la trayectoria a lo largo de los días y, finalmente, la sonda quedó
destruída al pasar por la atmósfera de Marte.
La "Mars Climate" se estrelló en Marte porque la NASA no tradujo kilómetros
a millas
18.
19. 5 – Ariane 5
El 4 de junio de 1996 y a los 30 segundos de despegar, el cohete Ariane 5
empezó a desintegrarse poco a poco, hasta su explosión. Tras realizar
simulaciones con un sistema de vuelo y condiciones similares, se descubrió
que en el software del cohete), una variable de 64 bits con decimales se
transformaba en una variable de 16 bits sin decimales.
Estas variables, al ocupar diferente tamaño en la memoria, desencadenaron
una serie de bugs que afectaron a todos los ordenadores de vuelo y que
paralizaron todo el hardware de la nave, activando su secuencia de
autodestrucción.
El error de software que convirtió un lanzamiento espacial en carísimos
fuegos artificiales
20.
21. Fuentes de información utilizadas
● 4 formas de resolver bugs
● Por qué a las actualizaciones se les llama “parches”
● 5 bugs informáticos que marcaron la historia
● Top 8 de errores informáticos más costosos de la historia
● 8 bugs famosos de la historia de la tecnología
● Los peores "'bugs" (errores informáticos) de la Historia
● Bugs en el software I: Accidentes y pérdidas graves por fallos en el
software