Gestionar Aprenda a aplicar las mejores prácticas y optimizar sus operaciones.

Técnicas de pruebas de software abordan las bases de datos distribuidas

Los datos que viven en múltiples infraestructuras de TI dificultan las pruebas de software. Las nuevas tecnologías en virtualización ofrecen cierto alivio.

La fase de prueba del desarrollo de software sigue siendo cada vez más difícil. Las cajas de arena, los contenedores y la virtualización de datos pueden ser la respuesta a los problemas de pruebas de software.

El software no solo está interconectado física y geográficamente, sino que también debe manejar casos que atraviesan un límite organizacional, como, por ejemplo, la malla del software de nube pública y privada. Esto es particularmente cierto cuando se trata del acceso a datos: los datos de las redes sociales y de la nube pública deben formar parte de los mismos análisis que las aplicaciones tradicionales de almacenamiento de datos y de inteligencia de negocios.

El mejor entorno de prueba refleja exactamente el entorno de ejecución del software. ¿Cómo se hace esto con un servicio remoto, o un software diseñado para abstraer los detalles del hardware físico?

Para aquellos que intentan probar software que implica bases de datos distribuidas, los conceptos de sandbox, contenedores y virtualización de datos permiten una mejor aproximación a un servicio que proporciona pruebas sólidas.

Pruebas de sandbox

Aislar el software bajo prueba de un entorno de ejecución cuando la prueba de software se llevó a cabo en la misma máquina solía ser difícil. Cuando probaba con el mismo hardware que utilizan las aplicaciones de hacen funcionar el negocio, aumentaba considerablemente la posibilidad de tiempo de inactividad en la infraestructura de producción.

Ahora, sin embargo, la tecnología de virtualización permite el aislamiento de hardware y software. Mientras el probador se reproduce en una sandbox que se parece al entorno de tiempo de ejecución –y, de hecho, es una parte del entorno de ejecución–, las aplicaciones de ejecución empresarial proceden con seguridad como si la sandbox no estuviera allí.

Con las bases de datos distribuidas, tiene la aplicación, la base de datos y una parte del almacén de datos de la base de datos funcionando en cada pieza de hardware; la arquitectura real bajo prueba es más complicada. Sin embargo, el enfoque puede ser el mismo: Cree una caja de arena en cada máquina, que contenga una copia de prueba de la aplicación, la base de datos y el almacén de datos y, a continuación, ejecute las pruebas como si la caja de arena controlara toda la máquina.

La técnica de sandbox para pruebas de software es lo más parecido a imitar el entorno de ejecución como se puede obtener. La sandbox solo utiliza una parte de los recursos de cada máquina; pero el tiempo de ejecución real de la aplicación a menudo utiliza solo una porción similar.

Contenedores y desempeño de la aplicación

La VM tiene muchas virtudes, pero está diseñada para ejecutarse en un kernel del sistema operativo que puede no ejecutarse en la misma máquina o estar optimizado para ese sistema operativo. Estos factores causan una cantidad significativa de gastos indirectos de rendimiento, que hacen más difícil simular exactamente el rendimiento de ejecución durante las pruebas.

Un contenedor actúa como una VM, pero solo permite el mismo sistema operativo que el kernel, y accede al kernel en un nivel inferior. Por lo tanto, a costa de descartar la ejecución de Linux en un kernel de z/OS, el contenedor permite un rendimiento de la aplicación que se aproxima mucho a la de una aplicación Linux que se ejecuta en un sistema operativo Linux sin virtualización. Esta técnica de prueba de software ofrece una mejor simulación del rendimiento en tiempo de ejecución.

La mayoría de las bases de datos distribuidas se ejecutan en el mismo sistema operativo que la aplicación. Rediseñar la aplicación para usar contenedores y luego probarla en ellos en cajas de arena brinda beneficios de rendimiento en tiempo de ejecución, así como una reflexión más precisa del entorno de ejecución.

Virtualización de datos

La virtualización de datos es un caso especial, pero la lógica es que las pruebas deberían considerar casos en los que algunas bases de datos o copias de datos/bases de datos están inactivas; por ejemplo, almacenamiento duplicado cuando uno de los dos espejos no está disponible.

El software de virtualización de datos hace esto sencillo: el probador de software puede desactivar algunas copias de base de datos para imitar un fallo de hardware, y pedir a la aplicación que realice análisis en las bases de datos restantes redefiniendo la base de datos para el software de virtualización de datos. En la virtualización de datos, la aplicación no sabe ni se preocupa por el lugar físico donde reside la información.

Ponerlo todo en pruebas de bases de datos distribuidas

Una manera de poner esta arquitectura de prueba de software es escribir un servicio que emite instrucciones de prueba remotamente, de forma abstracta y con el usuario rellenando los detalles de la ubicación del software y la arquitectura. Un agente de cada ubicación física, entonces, simula los flujos de entrada de los usuarios de la aplicación, empleando contenedores dentro de cajas de seguridad para que el software real sea probado. Cuando sea apropiado, el software de virtualización de datos simula crisis de infraestructura física específica de TI.

Sobre el Autor: Wayne Kernochan es presidente de Infostructure Associates, un afiliado de Valley View Ventures, que identifica formas para que las empresas aprovechen la información para la innovación y la ventaja competitiva. Ha sido analista de la industria de TI por 25 años y se ha centrado en tecnologías clave relacionadas con la información y formas de medir su efectividad. Envíele un correo electrónico a: wkernochan@aol.com.

Este artículo se actualizó por última vez en julio 2017

PRO+

Contenido

Encuentre más contenido PRO+ y otras ofertas exclusivas para miembros, aquí.

Guía Esencial

Guía Esencial: Las bases de datos dan soporte a las tendencias de TI

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Enviando esta solicitud usted acepta recibir correos electrónicos de TechTarget y sus socios. Si usted reside afuera de Estados Unidos, esta dando autorización para que transfiramos y procesemos su información personal en Estados Unidos.Privacidad

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close