En Doctolib, hemos estado creando software nativo durante algunos años, que instalamos directamente en las computadoras de los médicos para mejorar su experiencia con Doctolib.
Por supuesto, escribimos pruebas unitarias y de integración para asegurarnos de que el software hace lo que se supone que debe hacer. Pero a veces, no es suficiente.
Una vez, hicimos un cambio importante en una función y para que el nuevo código funcionara correctamente, el actualizador necesitaba escribir una nueva línea en el archivo de configuración del software. Por supuesto, probamos manualmente que una instalación nueva escribiría esta línea. “Eso debería ser suficiente, ¿verdad?”, Pensamos hasta que empezaron a llegar las llamadas de soporte.
Aparentemente, esta pequeña línea no se escribió cuando el instalador se ejecutó en modo de actualización. Afortunadamente, solo teníamos algunos probadores beta en ese momento, por lo que el error solo tuvo un impacto bajo.
También leer:- Descargar RepelisPlus para PC
Hoy no podemos permitirnos volver a cometer un error como ese.
Entonces, ¿qué hacemos ahora?
Lanzamos nuevas versiones de nuestro software nativo semanalmente y necesitamos que las actualizaciones se prueben a fondo.
El riesgo de cometer un error con un instalador es que podría dañar completamente su software. Por ejemplo, una actualización podría provocar un bloqueo en el inicio, lo que evitaría que los usuarios pudieran actualizar posteriormente a una versión con una solución. Imagine que esto sucede en decenas de miles de computadoras al mismo tiempo. Sería imposible de arreglar, a menos que llame a los 20k usuarios uno tras otro.
Por otro lado, probar instaladores y ejecutables es realmente difícil. La mayoría de las empresas los prueban manualmente como solíamos hacer. Para automatizar este proceso, no puede escribir pruebas unitarias: debe instalar completamente su software, validar que todo funcione correctamente y que todos los archivos estén copiados en el lugar correcto. Además, debe hacer esto para todos los sistemas operativos y variedades de arquitectura compatibles.
Es por eso que creamos varias herramientas y procesos que nos permiten ejecutar pruebas de un extremo a otro para instaladores y ejecutables en nuestro CI. En el resto de esta publicación, lo guiaré a través del proceso de creación de dicha red de seguridad.
Read more:
Comments
Post a Comment