X
BLOG

Probar solo es perder la batalla

Probar solo es perder la batalla Tiempo de leer: 6 minutos

Pero puede haber una cosa que pueda cambiarlo todo ...

Herminio Vázquez, un consultor de IOVIO, comparte cómo trabajó con ING Mortgages Netherlands para ayudar a modernizar la entrega de sus aplicaciones financieras al tomar el control total de sus entornos de prueba con la virtualización de servicios.

Parece que el secreto de un equipo de desarrollo de software exitoso es entregar de manera competente, continua y según lo programado. Se diría que la transformación digital es diferente a la naturaleza, un proceso donde el tiempo sigue un ritmo diferente. En cambio, es como un tren que no tiene paradas. Y si te lo pierdes, se acabó el juego.

¿Que esta pasando?

Una y otra vez, escuchamos las palabras hora de comprar, una experiencia de cliente más rica, más funciones, capacidades ampliadas y trayectos armónicos. En resumen, cambio. Todo el mundo está en el negocio del cambio, en el cambio rápido negocios para ser precisos. El cambio se ha vuelto cada vez más importante para las organizaciones y sus equipos.

El cambio se ha vuelto tan omnipresente que los entornos de TI tienen operaciones con los equipos Ejecutar y Cambiar. Si los presupuestos lo permiten, un grupo de experimentación donde se producen nuevas ideas e innovación.

El cambio está en todas partes

La razón por la que el cambio es relevante es porque a través del cambio abrimos nuevas oportunidades, descubrimos nuevos enfoques y, finalmente, evolucionamos. Sin embargo, el cambio también trae incertidumbre y riesgos. El negocio del riesgo es un artículo en sí mismo, pero para simplificarlo, hay un viejo amigo que nos ayuda a lidiar con el cambio y los riesgos. las pruebas .

Las pruebas nos permiten validar nuestras expectativas, para confirmar que nuestras características, recorridos del cliente, épicas, historias o requisitos (según su metodología) son adecuados para el propósito y están completos.

Pero algo está transformando el valor de las pruebas dentro de las organizaciones de una ventaja y un escudo de reputación a una actividad interminable que ralentiza a los equipos.

El fin de las pruebas tal como las conocemos

Es bien sabido que las pruebas por sí solas son inútiles si ignoran una gestión ambiental bien estructurada y orquestada, seguida de un manejo quirúrgico y metódico de la prueba. datos . Sin embargo, la mayoría de los equipos solo se enfocan en el arte de elegir los escenarios cubiertos durante las pruebas. Cobertura de código, en la humilde opinión de este autor, sigue siendo uno de los indicadores clave de rendimiento más conocidos en torno a los equipos de prueba.

Esto está llevando a los equipos a optar por diferentes enfoques que les permitan articular el proceso de prueba con la ayuda de soluciones que aborden el cambio. Los conjuntos de herramientas y métodos modernos recurren a soluciones de datos como el vehículo para ponerse al día con el tren de la transformación digital.

El mercado ahora está inundado de aprendizaje automático.ready, inteligencia artificial-alimentado, automatización robóticahabilitado, y similares, a favor de decir que a través de la recolección y proyección de datos en dimensiones menores es posible realizar inferencias que hacen que las pruebas sean más confiables y menos costosas.

Atrapado en el mínimo local: sus entornos

Los equipos están atrapados en un mínimo local con dificultades para hacer frente a flujos de trabajo paralelos, entornos limitados y limitaciones de datos. Si estas oraciones resuenan con sus sentimientos sobre las pruebas en su organización, no se sienta mal. No estás solo.

Si su deseo es salir de este círculo vicioso, este artículo es el adecuado para usted. La teoría de la complejidad, nuestros abuelos, los proverbios y las galletas de la fortuna nos enseñan que romper problemas complejos en pedazos más pequeños es una buena estrategia para superarlos, ¿recuerdas? Divide y conquistaras.

Comencemos con el problema del medio ambiente: el camino típico hacia la producción está vinculado a la autopista de desarrollo-prueba-aceptación-producción (DTAP). Si somos honestos, la implementación de software en 2020 no es gran cosa. De hecho, debería estar implementando entornos (tal vez ya lo esté) en la ola de contenedores.

Figura 1: No se quede atascado en la autopista Dev-Test-Acceptance-Production.

No, los problemas reales son los entornos externos y las dependencias de datos que requiere su sistema o aplicación. Las soluciones de información dependen de un extenso catálogo de servicios, ya sean propios o de terceros, con multitud de protocolos y gran variedad de datos en cada uno de ellos.

El problema en realidad radica aquí, ¿cómo desacoplar las duras dependencias de los datos y los entornos externos?

Bienvenido: Orquestación de datos

Si este término es nuevo para usted, apuesto a que las únicas referencias que encontrará son sobre extraer, transformar, cargar (ETL) o relacionado con la nube asignaturas. Completamente fuera del contexto de este artículo.

En realidad, orquestación de datos ha estado con nosotros durante mucho tiempo. Quizás bajo un paraguas de diferentes nombres y productos.

Empecemos por el primero burlas y talones. Lo más probable es que haya escuchado estos términos, ya que se refieren al proceso inicial de creación de interfaces que permiten la continuación de los procesos comerciales debido a dependencias externas. Estas dependencias son dobles: la lógica (entorno / aplicación) y los datos que entregan a su sistema.

El desarrollo de simulacros es útil para las pruebas unitarias. Valida contratos y protocolos de datos a un nivel muy bajo. Sin embargo, no puede controlar los entornos de prueba simplemente usando simulacros en sus pruebas de datos. Necesita tecnología más sofisticada.

Los sistemas empresariales se basan en sistemas más pequeños con múltiples competencias, geografías y tecnologías. Puede estar en el camiones híbridos mundo.

Dos partes interesadas principales de su organización tienen un argumento de proveedores. La opción segura es no poner todos los huevos en una canasta.

En cualquier caso, los sistemas de gestión de relaciones con los clientes están vinculados a los sistemas de gestión del flujo de trabajo, a los sistemas financieros, a los sistemas de auditoría, etc. Todo depende de su línea de negocio.

La coordinación de datos entre todos estos sistemas requiere habilidad y procesos. También requiere las herramientas adecuadas.

La creación, transmisión y conservación de datos en un panorama de pruebas es lo que llamé orquestación de datos y es la única forma que reconocí anteriormente para producir resultados de prueba valiosos.

Mi socio es bioingeniero. (Des) afortunadamente para ella, no se ocupa de líneas de código o bytes de software. Ella se ocupa de las células. Aquellas cosas que viven o mueren bajo ciertas condiciones. Lo único análogo en lo que puedo pensar es en el concepto de bit putrefacción en nuestro mundo. De todas formas…

Sus experimentos y escenarios de prueba están diseñados meticulosamente para preservar las condiciones ambientales. La recopilación de datos siempre viene en muestras de control, validación y prueba. El desarrollo de software no es tan maduro como las ciencias de la vida, pero ¿no cree que será fantástico hacer avanzar nuestras prácticas a aquellas en las que el fracaso no es una opción?

Vale, pancartas aparte, ¿cómo podemos lograr la reproducción de escenarios válidos a gran velocidad, colapsando la entropía del cambio? Prepararse. Te va a gustar esto.

La Trifecta

Si los entornos, los datos y la lógica de prueba es la combinación perfecta, ¿por qué no hay una solución para jugar bien con todos ellos? Bueno, lo hay. Es conocido como virtualización de servicios. No ayuda que el término virtualización se asocie típicamente con el aprovisionamiento de dispositivos virtuales, que cae en un problema de hardware y escalado, no en un problema de prueba o cambio. Sin mencionar la trampa to-MAY-toes / to-MAH-toes.

La virtualización de servicios es una solución de nivel empresarial que reduce las dependencias de datos y entornos en sistemas empresariales complejos.

La etiqueta de nivel empresarial puede parecer innecesaria. No lo hago porque quiera sonar más profundo (las publicaciones suelen usar los términos a escala or las mejores prácticas sin ningún motivo en particular), sino porque si:

  • Trabaje en un entorno en el que varias personas toquen la misma base de código;
  • Comparta y controle versiones de sus activos de prueba y;
  • Quiere integrar sus soluciones en su pila de tecnología existente.

Entonces, no se trata solo de la cobertura de los paradigmas de la comunicación: solicitar respuesta, publicar: suscribirse, etcétera. Se trata de adopción, curvas de aprendizaje, material de capacitación, soporte, ejemplos, hoja de ruta y costo.

No hace falta decir que la adopción de tecnología en TI es ahora como el plan de robo a un banco: debe venir con una estrategia clara de entrada y salida. Antes de entrar, necesita saber cómo salir.

Facilitar la orquestación de datos en un panorama empresarial no es complejo. Es simplemente complicado. Lo que esto significa es que no es ciencia espacial, es simplemente una serie de tareas definidas que se pueden resolver y son bien conocidas.

Se trata de crear versiones y controlar el acceso a los conjuntos de datos.

Se trata de controles de acceso y asignación, roles, asignaciones y, sobre todo, se trata de adaptarse al cambio, no de intentar detenerlo.

La virtualización de servicios se trata de comprender que reemplazar los servicios externos con versiones más pequeñas de ellos, y con sus propios conjuntos de datos más pequeños, es el único requisito para las suites de prueba estables. Y para aislar los cambios.

Consolidando una solución para ING Mortgages Holanda usando contenedores

Por tanto, las pruebas tienen un aliado contra los cambios rápidos. Y no es la vectorización de casos de prueba o esas técnicas de ortogonalidad anticuadas que son el resultado de una gran investigación, que no es probable que sean entendidas por las partes interesadas ávidas de características.

Si coloca la palabra clave de datos en la combinación en lugar de los términos acuñados a la antigua, hay menos probabilidades de que una parte interesada se resista a discutir sobre el valor de la consolidación y el control de datos, y la capitalización de los activos de datos, como había antes.

IOVIO Junto con Parasoft dio vida a esos conceptos para ING en su tribu Hipotecas. Consolidaron una solución que contenía servicios e hizo que el 60% del complejo ecosistema hipotecario fuera comprobable, en completo aislamiento con dependencias de datos y entornos con control total.

Más información sobre cómo IOVIO y Parasoft ayudaron a ING en su viaje para conquistar los desafíos de las pruebas de desarrollo de software frente al cambio.

¿Quiere ver cómo implementar la virtualización de servicios para servicios financieros? Consulte el seminario web grabado de Parasoft.

Escrito por

Herminio Vázquez

Herminio trabaja como consultor en ING Netherlands Mortgages Tribe en un equipo especializado llamado Data Rangers. Durante su carrera, Herminio ha trabajado en todos los continentes del mundo y en más de 40 países; ha vivido en 12. Su carrera se formó en las líneas de General Electric Nuclear Energy con una devoción por la innovación y la calidad para aplicaciones de misión crítica. . En su trayectoria profesional, ha pasado por la implementación de soluciones de prueba para grandes implementaciones de ERP y CRM en todo el mundo. Su experiencia en el modelado de escenarios de prueba complejos ha permitido la simulación de algunos de los eventos más grandes en escala y rendimiento en una amplia gama de industrias. Hoy, establecido en Zurich, Suiza, divide su tiempo entre su familia, amigos y la naturaleza.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.

Prueba Parasoft