En los últimos tiempos estamos viendo una aparente catarata de fallos en Windows 10. Tras arreglarse un fallo que afectaba a las funciones de búsqueda y disparaba el consumo de CPU, han aparecido otros que han roto el sonido de algunos juegos, causado de nuevo un consumo excesivo del procesador y provocado fallos en Windows Defender.
Windows 10 no parece haber tenido una trayectoria tranquila desde su lanzamiento, con muchas actualizaciones que han causado más incidencias de las deseadas. Especial mención tiene aquí la actualización de octubre de 2018, que tuvo que ser retirada por Microsoft debido a la gran cantidad de errores que tenía, hasta el extremo de borrar ficheros de la unidad de almacenamiento, una situación que puede tener consecuencias catastróficas sobre todo en empresas.
Sin embargo, ¿de qué viene esa gran cantidad de fallos en Windows 10? Esa es la pregunta que ha intentado responder Jerry Berg, ex Ingeniero de Desarrollo de Software en Pruebas de Microsoft, mediante un vídeo publicado en su canal de YouTube. Berg ha estado trabajando en Microsoft durante 15 años y sus funciones se han centrado en diseñar y desarrollar herramientas y procesos para automatizar las pruebas para el sistema operativo Windows.
Entrando en detalles, Jerry Berg explica que el gigante de Redmond ha ido cambiando los procesos de pruebas en los últimos años, mostrando cómo se hacían entre finales de 2014 y principios de 2015 y las modificaciones introducidas desde entonces.
Microsoft tenía en los años 2014 y 2015 un equipo entero dedicado a probar el sistema operativo, las compilaciones, las actualizaciones, los drivers y otros códigos relacionados con estos componentes. Dicho equipo estaba compuesto de múltiples grupos que realizaban pruebas de forma manual con herramientas automatizadas y debatían sobre errores y problemas en las reuniones diarias. En caso de que un código superara las pruebas, este recibía el visto bueno para ser integrado en Windows.
Las pruebas se efectuaban en hardware real en un laboratorio en el que se disponía de componentes de distintas gamas y distintos fabricantes (procesadores de Intel y AMD, gráficas de NVIDIA y AMD, sonido Realtek y Sound Blaster… ) para así abarcar una gran cantidad de configuraciones, haciendo que los fallos en Windows pudiesen ser detectados antes de que las actualizaciones fuesen suministradas a los usuarios finales.
Sin embargo, este equipo fue despedido casi en su totalidad después de que Microsoft decidiera unificar Windows, Windows Mobile y Xbox en una sola plataforma. La compañía trasladó la mayoría de las pruebas a máquinas virtuales, por lo que en consecuencia se volvió más difícil detectar errores derivados de los cambios en la configuración del hardware.
Además, los empleados de la compañía pueden instalar Windows ellos mismos, haciendo que sus propios ordenadores sirvieran como bancos de pruebas para luego reportar los problemas encontrados durante la jornada laboral. Aquí Berg explica que este tipo instalaciones ya no son tan comunes, delegando una mayor responsabilidad a unas máquinas virtuales que raras veces recrean con fidelidad un entorno real.
Microsoft obtiene datos sobre fallos y mal funcionamiento de distintas vías. A las pruebas que hemos mencionado hasta aquí se suman la telemetría y las compilaciones de Windows Insider, las cuales se instalan en millones de dispositivos para recopilación de datos mediante telemetría, formando un conjunto que aparentemente no resulta del todo efectivo a la hora de enviar a la compañía información sobre muchos errores detectados en el sistema. Como alternativa queda el reporte manual de los usuarios, pero aquí se pueden encontrar impedimentos como la falta de conocimientos sobre cómo reportar o que no son capaces de ofrecer una información detallada de los problemas que tienen, dificultando así el trabajo de los ingenieros.
El sustituir un equipo dedicado a realizar pruebas en entorno reales por un mecanismo que combina pruebas virtualizadas y telemetría parece haber dificultado a los ingenieros de Microsoft la detección o resolución de muchos fallos en Windows 10. Berg señala que los ingenieros observan la telemetría para descubrir cómo resolver los problemas y que las soluciones se envían a dispositivos que ejecutan compilaciones Insider. Luego ven si realmente han solucionado el problema o si bien han creado nuevos errores.
Debido a estos obstáculos, Microsoft dejó de enviar las actualizaciones de características a todos los usuarios al mismo tiempo, ya que los problemas no eran detectados en las fases pruebas, provocando que los errores terminasen suministrados a un gran número de ordenadores.