Cómo una compañía de dispositivos médicos redujo a la mitad los costos de las pruebas
por Parasoft
6 de agosto de 2015
5 min leer
Bovie Medical Corp. es un fabricante líder de dispositivos y suministros médicos, así como el desarrollador de J-Plasma®, un nuevo producto quirúrgico patentado a base de plasma. Bovie Medical también es líder en la fabricación de una gama de productos y tecnologías electroquirúrgicos. La Compañía también aprovecha su experiencia a través de acuerdos de fabricación de equipos originales (OEM) con otros fabricantes de dispositivos médicos.
Recientemente, Bovie Medical decidió introducir un generador en el mercado con el que los hospitales pudieran interactuar a través de una interfaz de usuario de software. La interfaz es una pantalla LCD que permite a los médicos ver la información médica pertinente del paciente mientras realizan la cirugía.
Al adoptar una solución de prueba integrada automatizada internamente, Bovie Medical pudo moverse pruebas de verificación y validación (V&V) internamente para sus dispositivos médicos con software integrado, lo que reduce estos costos aproximadamente a la mitad.
Opciones de pesaje: proveedor de pruebas o V&V interno
Parte del cumplimiento de los requisitos y regulaciones de la FDA incluye realizar ensayos clínicos y proporcionar pruebas documentadas de que sus dispositivos médicos son seguros para los pacientes. Antes de que puedan comenzar los ensayos clínicos, Bovie Medical realiza pruebas exhaustivas de software.
Anteriormente, Bovie Medical recurrió a un proveedor para sus pruebas de software integrado. Cuando llegó el momento de comenzar el desarrollo de su último proyecto, la gerencia presentó a los departamentos de desarrollo de software y aseguramiento de la calidad (QA) algunas opciones para las pruebas.
Opción 1: regreso al proveedor de pruebas
La primera opción era volver con el proveedor y realizar V&V fuera de Bovie Medical. Sin embargo, el equipo de desarrollo vio varios inconvenientes en esta elección. Aunque el proveedor hizo un buen trabajo al desglosar las 45 a 50 mil líneas de código y analizarlas, no encontró todos los errores.
Al ser una empresa de pruebas generales, el proveedor tenía la ventaja de contar con herramientas automatizadas para realizar análisis estáticos, revisiones de código e incluso pruebas del sistema. Sin embargo, esto se vio compensado por una desventaja significativa: el proveedor no comprendía los productos que se estaban probando.
El equipo de desarrollo de Bovie Medical conoce su sistema, lo que están desarrollando y lo que hará el usuario final con él. Conocen la industria y están mejor equipados para probar lo que desarrollan ellos mismos. Gary Malfa, ingeniero de software de Bovie Medical, especifica algunas otras desventajas de regresar al proveedor. “Tendríamos que darles todo nuestro código fuente patentado.
“Además, todavía tendríamos que pasar mucho tiempo con una empresa como esa, explicando cómo interactuar con nuestro software desde el punto de vista del usuario. Tendrían que entender cómo funciona nuestro software antes de poder probarlo. Basado en el proyecto anterior que hicieron para nosotros, manejar todas sus preguntas fue como un trabajo de atención al cliente de tiempo completo ".
Por supuesto, la mayor preocupación fue el costo. Cuando este proveedor probó la versión anterior de Bovie, costó $ 300,000. Seguir adelante con esta elección significaría volver a la misma compañía y pagarles cerca de esa cantidad nuevamente para realizar otra ronda de V&V.
Opción 2: trabajar con consultores de pruebas
Una segunda opción fue contratar a un par de consultores independientes para que realizaran el V&V. El desafío aquí fue encontrar personas calificadas para hacer el trabajo. Al parecer, Bovie Medical no pudo encontrar un consultor que fuera un verdadero experto en V&V.
Más allá de ese desafío, esta opción implicaba dedicar grandes recursos a capacitar a los consultores mientras realizaban simultáneamente el trabajo de V&V en cuestión, un gran inconveniente.
Opción 3: implementación de pruebas automatizadas internamente
La última opción combinó la contratación de otro evaluador de control de calidad con la compra de software de prueba automatizado para que el equipo de desarrollo pudiera realizar todo el V&V internamente. Desde el punto de vista de los gastos de capital, esta opción fue la más rentable de las tres opciones. De hecho, según Gary Pickett, director financiero, seguir esta ruta le ahorraría a Bovie Medical aproximadamente el 50% de sus costos de validación para el lanzamiento en cuestión.
El departamento de control de calidad de Bovie encontró apoyo y aliento para seguir esta opción después de asistir a un seminario de la FDA. Un miembro del equipo preguntó: "¿Es admisible que un desarrollador pruebe su propio código utilizando herramientas de prueba automatizadas para pruebas estáticas y dinámicas?" El representante respondió: “Creemos que las pruebas automatizadas están a la vanguardia de la validación de software en el ámbito médico. Estamos animando a la gente a hacer eso ". Con eso, los equipos de QA y desarrollo concluyeron que valía la pena buscar una forma de llevar la validación de software internamente y reducir costos.
Cumplir con las pautas de la FDA
Las máquinas de Bovie Medical no se conectan a una red interna dentro del hospital. Las máquinas no son aplicaciones cliente-servidor. Como se mencionó anteriormente, los dispositivos médicos de Bovie Medical son independientes y utilizan programas de software integrados.
Los médicos utilizan estos dispositivos médicos de software integrado en sus quirófanos. Miran la pantalla para ver información médica esencial del paciente en el que están realizando la cirugía. Debido a que los dispositivos médicos requieren programas de software integrados especializados, Bovie Medical utiliza un compilador personalizado.
Los desarrolladores de Bovie Medical cargan un ejecutable de prueba basado en el proyecto incrustado de C ++ real directamente en el dispositivo de destino incrustado y luego ejecutan pruebas unitarias directamente en el hardware que se ejecutará en el entorno hospitalario. Los datos se introducen en cada unidad individual. Una vez que las pruebas unitarias terminan de ejecutarse, los resultados se recuperan y se cargan en la PC del desarrollador en su solución de prueba.
Todos esos datos, junto con la documentación, se almacenan en el archivo de pruebas de Bovie Medical. En el caso de que sean auditados por la FDA, esa información vital está a solo un clic de distancia.
Encontrar y eliminar problemas lógicos ocultos: temprano
Su solución de prueba integrada permite a los desarrolladores de Bovie Medical ejecutar análisis estáticos en su código fuente antes de pasar a las pruebas dinámicas. El análisis estático verifica que no se violen todas las reglas lingüísticas establecidas.
Malfa dice: "Le enseña a nuestro equipo de desarrollo mejores hábitos de codificación para que podamos hacer que nuestro código fuente sea más tolerante a fallas, más robusto". Más allá de eso, permite al equipo de desarrollo de Bovie Medical encontrar errores y fallas de diseño antes de que los proyectos entren en producción.
Malfa explica: “No estoy hablando de errores obvios que los desarrolladores de software pueden encontrar sin herramientas de prueba automatizadas; Me refiero a problemas lógicos difíciles de encontrar que pueden llevar muchas horas de pruebas de integración y unidades manuales para descubrir ".
Malfa analiza una fuga de memoria que su solución de prueba integrada encontró en su código. Él dice: “Este era el tipo de error que no se podía encontrar haciendo todas las pruebas en humanos del mundo. El software podría lanzarse y funcionar bien durante diez años. Luego, un día de la nada, se ejecutaba en un hospital con una determinada secuencia y ciertos datos, y luego fallaba ".
Continúa diciendo que su equipo podría investigar un error como ese durante meses y nunca ser capaz de reproducirlo. "
Llegar al mercado antes
Malfa es enfático en que su solución de prueba integrada le ha ahorrado a Bovie Medical una inmensa cantidad de tiempo. "Si tuviéramos que hacer revisiones de código manualmente y ejecutar manualmente todas nuestras pruebas unitarias, tendríamos que contratar y capacitar a un personal dedicado para hacerlo en la misma cantidad de tiempo". También habla de la alternativa de volver a ese proveedor de pruebas. Afirma: "Podemos llevar nuestro producto al mercado aproximadamente 6 meses antes con una solución de prueba integrada automatizada de lo que podríamos haberlo hecho si hubiéramos vuelto al proveedor de pruebas".
Avanzando con la automatización
Para terminar, Malfa afirma: “Desarrollar software sin utilizar una solución de prueba de software automatizada que encuentre errores y fallas de diseño durante el ciclo de desarrollo es como desarrollar software en la edad oscura. No solo es caro, sino que también aumenta las posibilidades de que un cliente se avergüence de encontrar un error. Ahora que estamos automatizando las pruebas integradas, encontramos y solucionamos problemas de software en la etapa de desarrollo mucho antes de que el departamento de QA comience a probar el código. El desarrollo de productos de software con un proceso de solución de prueba automatizado es un gran avance para la industria del software ".