Gestión del Entorno de Test en Sistemas informatizados
En este artículo veremos la importancia de la gestión y adecuación del entorno de test en la validación de sistemas informatizados
Cuando trabajamos con sistemas informatizados, es una buena práctica contar con varios entornos de despliegue. Un entorno de despliegue, es un servidor o varios, en los que se realiza la instalación/despliegue de un software. Esto se hace siguiendo un determinado ciclo de desarrollo del software. Esto obliga a que en cada fase del desarrollo del software, este sea probado en diferentes entornos.
Entorno de test en la validación de sistemas informatizados
Aunque los entornos deben ser iguales, cada entorno tiene un fin específico, por ejemplo, podemos hablar de entornos de:
- Desarrollo: donde se desarrollan los cambios o nuevas funcionalidades por parte de los proveedores de servicio.
- UAT (User Acceptance Testing): usado por el equipo de validación del sistema informatizado para elaborar los procedimientos normalizados de trabajo (PNTs). También podemos verificar el proceso, formar a usuarios o realizar tests de calificación de la operación.
- Producción: donde tenemos los datos reales y donde los usuarios realizan sus actividades diarias.
Todos estos entornos tienen reglas de juego y buenas prácticas que es importante aplicar para garantizar la estabilidad del sistema.
Como decíamos antes, los entornos deben ser iguales. Especialmente, el de UAT y el de producción, con la única diferencia, de que los cambios no son introducidos en producción hasta que no hayan sido aprobados en UAT. Hablamos pues de la necesidad de mantener actualizadas todas las instancias, incluyendo las actualizaciones del sistema operativo. También los controladores de los periféricos utilizados, actualizaciones de seguridad, programas como antivirus, cambios en componentes, etc.
Guía de normas correctas
De acuerdo con la Guía de Normas de Correcta Fabricación de Medicamentos de Uso Humano y Veterinario, en su anexo 11, en la validación de sistemas informatizados, debe existir un mecanismo que permita la evaluación de la calidad y funcionalidad del sistema informatizado a través de todos los estados del ciclo de vida del sistema. Básicamente, estamos hablando de tener en pie una política bien definida de entornos, y un proceso de despliegue/pruebas. Esto va a permitir garantizar que durante el testeo y depuración del software se sigue un procedimiento invariable. Este procedimiento debe estar documentado, así como los fallos encontrados en el ciclo de desarrollo deben ser reportados para corregirlos.
La norma también nos indica que “Debe demostrarse con evidencias que los métodos y los escenarios de test son adecuados. Particularmente, los límites de parámetros del sistema (para el proceso), límites de datos y el manejo de errores, deben considerarse. Las herramientas automáticas y los entornos de test deben tener evaluaciones documentadas de su idoneidad.”
Vemos pues, la importancia que se le da a la gestión y adecuación del entorno de test en la validación de sistemas informatizados. Por norma general, y para garantizar la estabilidad del sistema en producción, todas las pruebas han de realizarse en los entornos de test, a menos de que se esté tratando, por ejemplo, de resolver un bug que no se puede reproducir fuera del entorno de producción. En este caso se utilizará de forma controlada y documentada en el entorno de producción.
Alternativas de prácticas
Otras buenas prácticas en relación al entorno de producción son:
- La elección del entorno en el que los tests van a ser ejecutados debe quedar justificada y aprobada por calidad.
- Formaciones, demos, para documentar el uso del sistema, etc., deberían realizarse en entornos de pruebas. La situación ideal es siempre usar UAT que es el entorno más cercano al de producción.
- Los entornos de prueba se pueden diseñar y gestionar de forma más rápida gracias a los sistemas de virtualización. Por la flexibilidad que permiten al momento de duplicar entornos y porque ayudan a reducir costos de adquisición de equipos.
- Cuanto más parecidos los entornos de producción y los de test, menor es la posibilidad de que surjan errores no detectados durante el desarrollo.
- Es recomendable mantener en pie tests automatizados, corriendo de forma constante sobre los entornos de test, para detectar posibles fallos en momentos de estrés del sistema.
Es importante también resaltar los beneficios de una política adecuada de gestión de ciclo del desarrollo del software. Las pruebas automatizadas y de usuarios ayudan a:
- Prevenir pérdidas de datos en entornos de producción por fallos del sistema.
- Prevenir problemas de rendimiento futuros.
- Encontrar fallos o bugs no detectados durante el desarrollo.
- Permiten adquirir feedback de usuario sobre el funcionamiento.
La gestión y adecuación del entorno de test en la validación de sistemas informatizados, ayuda a prevenir estos problemas y contribuye a la estabilidad del sistema en producción. Así como a la coincidencia entre las expectativas de usuario y el funcionamiento real del sistema.