QAbalgando por la historia (III): La destrucción del Mariner I (1962)

2 septiembre, 2021

Testing de Software

Traemos hoy al blog un nuevo post de los que hemos denominado ‘QAbalgando por la historia’. En este caso, recordamos un nuevo ejemplo de cómo, un pequeño fallo en la escritura de programación puede tener graves consecuencias. Nuestro compañero Fernando Rosique nos cuenta la historia del Mariner I (1962).




    A lo largo de la historia, ha habido muchos problemas en el ámbito informático, derivados de fallos en la programación no detectados en fases anteriores al primer uso oficial de una herramienta, aplicación o, como en este caso, una compleja misión espacial. Aquí destaco uno de los más famosos.

    Corría el año 1962, cuando la NASA lanzó programa Mariner en un cohete espacial Atlas, con el objetivo de sobrevolar Venus. Pero el intento fracasó por un error de software. Los encargados de seguridad de la misión detectaron, a los pocos minutos de despegar el cohete, una inclinación inesperada hacia el noreste  que abría  la posibilidad de que se estrellase en la zona de rutas navales del Océano  Atlántico. El cohete fue destruido al final por un comando de autoaniquilación que se envió seis segundos antes de que soltase la sonda.

    El error fue una combinación de dos fallos en el sistema de guiado que operaba con una señal de radio que daba la posición del cohete y un programa interno que corregía el rumbo. El primero fue que las señales provenientes del Atlas fueron mal recibidas por un problema de trasmisión. El segundo, un mínimo error de programación. Posteriormente se comprobó que la omisión de un simple guión en las instrucciones del programa de guiado del cohete provocaba la desviación cuando se perdían las señales de radio.

    Si esto hubiera ocurrido en la actualidad, en MTP, sabríamos como haberlo evitado. ¿Y cómo? En primer lugar, habríamos hecho un programa de testing al software de la NASA para comprobar que calculaba bien la trayectoria incluyendo silencios en las ondas de transmisión que le llegaban del exterior. También, si hubiera sido necesario, habríamos hecho, con permiso de la NASA, pruebas de inclinación con un modelo a escala de la nave en un laboratorio.  Nuestros informes alertando de los fallos, una vez corregidos estos, habrían conseguido poner en órbita la Mariner I.

    Un simple digito mal escrito en un programa, puede ocasionar que una nave se estrelle contra el mar. Pero para eso, estamos nosotros, MTP.

    Dentro del concepto de aseguramiento integral de negocios digitales (Digital Business Assurance), la calidad de software (QA) ocupa un lugar importante. En MTP trabajamos en asegurar dicha calidad, desde la fase de diseño de las aplicaciones y herramientas de software, hasta su mejora continua una vez puestas en producción a través de la implantación de los procesos más avanzados en Aseguramiento de la Calidad.

    Fernando Rosique

    DBA Hub

    Otros post de QAbalgando por la historia:

    QAbalgando por la historia (I): Grace Murray Hopper

    Qabalgando por la historia (II): Mars Climate Orbiter, el error de conversión que nos dejó sin fotos de Marte

    Ver más historias