U2U (Updates to Update) es el término que acabo de acuñar para referirme a un fenòmeno en alza, las actualizaciones que corrigen los fallos de las actualizaciones recièn publicadas. A continuación analizaremos diversos aspectos de esta carrera del software...
Recientemente Microsoft nos sorprendía actualizando una actualización que acababa de sacar para el Internet Explorer. Pero estos errores no son privativos del gigante informático, también otras firmas e incluso de software libre (lèase Movable Type) corregìa su reciente versiòn 2.6 con una actualización realizada con una rapidez digna de figurar en el Guinnes.
El testeo del software
Hay que tener en cuenta que es una labor titánica el probar un programa en todos los entornos posibles dada la diversidad de configuraciones de hardware y software existentes, además debe realizarse revisando a fondo cada una de sus caracterìsticas. Esto se traduce en dos variables: tiempo y dinero que muchas veces se anteponen a los criterios de calidad.
Los betatesters de Microsoft compuestos por miles de programadores, desarrolladores y usuarios avanzados, prueban las nuevos componentes del software disponiendo de amplia información y documentación técnica sobre los mismos.
Reunidos en Newsgroups privados, comentan y comparten experiencias sobre multitud de configuraciones distintas tanto de hardware como de software, su objetivo es reportar a MS los bugs que hayan encontrado. Para que éste sea considerado como tal, debe ser reproducible siempre bajo las mismas condiciones del sistema.
Una vez conocidos por MS los reportes de los errores encontrados, ésta procede a su corrección o no dependiendo de diversos factores, aumentando el número de la versión que será nuevamente redistribuida.
Cuando el programa llega a un estado de maduración aceptable, cambia a la nomenclatura de RC o Release Candidate que viene a significar que es un candidato a la versión definitiva.
Una de las frases más odidadas por los betatesters en este proceso es que contesten a su reporte con un by design o por diseño lo cual viene a significar que no será corregido, tal vez porque represente realizar una labor ingente para lo que se pretende corregir.
Los betatesters estàn obligados a no realizar pùblicamente comentarios o desvelar características del nuevo programa durante todo el proceso de pruebas.
El infierno de las DLL's
Actualmente los programas se estructuran según una concepción modular en la cual cada librería cumple una función concreta, conforme se incorporan nuevos avances y funcionalidades se va incrementando el número de versión de las mismas.
Un programa bien realizado, deberá comprobar la versiòn de las librerías existentes antes de sobreescribir las que necesita y si son de una versión más reciente dejarla intacta. Al no hacerlo asì se sustituyen librerías actualizadas por las viejas lo cual provoca inestabilidades y fallos en los programas que las usen.
Los motivos para no realizar la pertinente comprobación pueden ser diversos, reducir el costo del programa al reducirse las horas de programación, las prisas en sacar la nueva versión antes que la competencia, etc...
Donde más abunda este tipo de malas pràcticas de programación es en el mercado del shareware ya que los programas profesionales suelen cuidar estos detalles.
Diversas soluciones implementadas por MS
Microsoft ha implementado desde Windows 98 diversas soluciones a este problema, el SFC o Comprobador de Archivos del Sistema se puede ejecutar desde Inicio -> Ejecutar -> SFC con lo cual se nos abrirá el programa que nos creará una base de datos con las referencias de los archivos principales del sistema. En cada instalación posterior deberemos ejecutarlo de nuevo, previamente habremos marcado las opciones para que detecte los cambios en las librerías, y nos dará un informe de todas las que hayan sido cambiadas, sustituidas o borradas, dàndonos opción a restaurarlas o aceptar los cambios.
Este sistema de comprobación se debìa realizar manualmente siendo preciso tener ciertos conocimientos técnicos. Posteriormente con Windows ME y 2000/XP se automatizò su funcionamiento de forma que se ejecutara al reiniciar después de una instalación, cambiàdole el nombre por SFP o Sistema de Protección de Ficheros.
Otras formas de preservar las librerías del sistema es establecer
un punto de restauración antes de proceder a la instalación de cualquier software, con lo cual teníamos la posibilidad de volver a la situación anterior del sistema en caso de problemas con el mismo.
La certificación de los drivers por MS es la otra solución implementada que persigue resolver este problema.
BIBLIOGRAFÍA
05-02-03 Actualización de Microsoft para el Internet Explorer
11-02-03 Corrección de la anterior actualización
13-02-03 Actualización del Movable Type
18-02-03 Corrección de la anterior actualización
El infierno de las DLLs