Automatización de casos de prueba, un caso de éxito con impacto positivo en miles de personas.
Durante la pandemia de COVID-19, los respiradores mecánicos se volvieron vitales, para el tratamiento de pacientes con insuficiencia respiratoria. Por lo tanto, las empresas fabricantes de estos dispositivos, tuvieron el desafío de triplicar su producción de la noche a la mañana para satisfacer la demanda nacional e internacional.
Antes de este escenario, una empresa Argentina lìder en la fabricación de respiradores nos convocó a un proyecto de automatización de los casos de pruebas para acelerar los procesos de fabricación.
Durante el proceso de desarrollo de una nueva línea de ventiladores, se realizan pruebas aisladas en cada uno de los componentes que se integrarán en el equipo: desde las partes mecánicas hasta el software que controlará el equipo. Al instalar este último componente, es esencial verificar su correcto funcionamiento y cumplimiento de las normas de seguridad para equipos médicos.
Esta etapa de verificación se ejecuta tantas veces como iteraciones del desarrollo de software, y el resultado de cada ejecución debe ser registrado para su posterior análisis y corrección de los defectos encontrados. Por lo tanto, es muy importante reducir el esfuerzo de ejecución de estas pruebas y mitigar el riesgo de introducir errores en la carga de resultados.
Desafío de automatización y eficiencia.
El desafío de este proyecto fue encontrar una forma de controlar y garantizar la calidad de sus productos de manera automática y eficiente. Para lograrlo, desarrollamos y automatizamos un banco de pruebas.
Este banco de pruebas solo podía interactuar con el ventilador externamente, sin la posibilidad de modificar el software en prueba. Por lo tanto, diseñamos circuitos electrónicos y mecánicos y controladores para reproducir el funcionamiento del equipo. Con eso, pudimos crear un componente de software que permitió automatizar pruebas activadas de forma remota desde el sistema de gestión que registra los casos de prueba y sus resultados.
Antes de implementar la automatización, la ejecución manual de cada ciclo tomaba 4 días, con 2 personas dedicadas 100% a la tarea. Después de implementar nuestro desarrollo, este esfuerzo se redujo 8 veces, siendo el principal impacto la reducción del esfuerzo dedicado a la verificación.
Priorización y agilidad, la clave del éxito.
Para aportar valor al proyecto lo antes posible, es importante priorizar aquellos casos de prueba esenciales que requieren menos desarrollo para su automatización. De esta manera, el cliente puede comenzar a ejecutar un conjunto mínimo de pruebas automatizadas.
Para aquellas partes que no están automatizadas, imprimimos un mensaje que indica la operación a ejecutar, de modo que quien opere el ventilador tenga una versión asistida de los casos de prueba.
Es muy valioso tener reuniones frecuentes con el cliente para mostrar avances, revalidar prioridades y decidir cómo seguir adelante. En nuestro cliente, una organización con metodologías de desarrollo más clásicas, esto nos permitió adoptar algunas prácticas más ágiles.
Este proyecto nos llena de orgullo, principalmente porque los equipos médicos son sistemas críticos que deben cumplir con numerosas etapas de pruebas de producto, y también porque la solución nos permitió impactar en la vida de todas las personas que necesitaron usar respiradores en un momento trascendental en la historia de la humanidad.
Para más detalles sobre la arquitectura del banco de pruebas y su integración, otros retos del proyecto, beneficios y más lecciones aprendidas, le invitamos a leer el artículo sobre este caso publicado en la revista de Sadio.