Vea cómo la solución de calidad continua de Parasoft ayuda a controlar y administrar los entornos de prueba para ofrecer software de alta calidad con confianza. Regístrese para la demostración >>
Al vender software, especialmente productos empresariales complejos, entendemos que una venta no termina cuando el efectivo llega al banco. El soporte posventa es tan importante como la preventa para la experiencia del cliente. De hecho, el éxito del cliente es lo que impulsa los ingresos y hay una gran cantidad de datos para demostrarlo. Khalid Saleh de Invesp creó un fantástico infografía en este. Aquí hay algunas conclusiones clave:
Básicamente, el éxito del cliente lo es todo en las ventas. Significa que tienes un buen producto. Significa que obtiene clientes potenciales gratuitos, ciclos de ventas más cortos y tasas de conversión más altas.
¿Cuál es una forma clave para que los proveedores de plataformas aumenten el éxito de los clientes? Bueno, para las plataformas, herramientas y proveedores de servicios, significa que realmente necesitan enfocarse en la incorporación. Incorporar clientes a su plataforma significa ponerlos al día con sus servicios para que puedan usar sus herramientas como profesionales.
También significa enseñar a sus usuarios cómo usar sus API para que puedan crear sus propias soluciones en aplicaciones. Un buen proceso de incorporación debe ser transparente y fluido. Los desarrolladores no quieren poner en producción su código "no probado". Para crear estas integraciones de forma eficaz, los desarrolladores necesitan un entorno de desarrollo seguro para probar y familiarizarse con su producto: un entorno de espacio aislado en el que puedan poner código no probado y probarlo antes de que entre en producción.
Si está en el negocio de vender API, la clave de las ventas es una forma eficaz y convincente de demostrar valor a sus clientes. Los entornos sandbox de desarrollo son ideales para esto, pero ¿cuáles son los requisitos para el éxito?
Sus clientes no quieren ver errores inesperados, comportamientos inconsistentes o poco realistas. La expectativa es que su entorno sandbox se someta a las mismas pruebas rigurosas que su entorno de producción y control de calidad.
Las API no son simples y los desarrolladores deben ponerse al día rápidamente para familiarizarse con su producto. Una API y un entorno sandbox bien documentados son fundamentales. Swagger y OpenAPI se han vuelto necesarios en términos de documentar y definir API y servicios. Igualmente importante es validar que los comportamientos de esas API se adhieran al esquema definido en las definiciones publicadas.
Sus clientes están ansiosos por comenzar, y no tener acceso a su producto recién comprado es un obstáculo importante para el desarrollo y el trabajo de prueba de su cliente. Cualquier cantidad de tiempo de inactividad puede contribuir a una experiencia negativa.
En el mundo del cumplimiento de PCI DSS y GDPR, la seguridad puede significar muchas cosas diferentes, pero en el contexto de las cajas de arena API, los datos de prueba en lugar de los datos reales del cliente deben usarse exclusivamente. Una caja de arena nunca debería tener acceso a los datos del cliente y, en general, las aplicaciones deberían estar suficientemente aisladas unas de otras.
Nuevamente, una buena caja de arena es crucial para la satisfacción del cliente. Hay una razón por la que hay Premios DevPortal. Las organizaciones que ponen mucho esfuerzo en una buena experiencia con los productos API obtienen reconocimiento.
Las cajas de arena son útiles pero hay una trampa. No puede simplemente configurar un montón de entornos sandbox y esperar que funcione. No es tan simple. Las API no hacen nada por sí mismas y requieren una orquestación que se integre con múltiples servicios internos y externos y sistemas backend y proporcione datos.
Configurar un entorno de zona de pruebas para una única API significa mantener todo el entorno, no solo un servicio, y esto puede ser difícil.
Hay cuatro desafíos clave para la creación de entornos sandbox de desarrollo que se asignan convenientemente a los requisitos de sandbox anteriores: los ABCD de los entornos sandbox:
En pocas palabras, un entorno de zona de pruebas debe ser estable para ser accesible y proporcionar una experiencia positiva al cliente. Las organizaciones ya luchan con su propio entorno de control de calidad. Mantener y entregar el 100% de tiempo de actividad no es realista y el tiempo de inactividad conduce a una mala experiencia de usuario.
Un entorno de caja de arena debe ser una representación fiel del sistema real. Inicialmente, las respuestas estáticas son buenas para solicitudes simples, pero las operaciones complejas requieren algún cambio de estado y lógica dinámica. ¿Qué sucede cuando un cliente desea realizar una prueba de rendimiento o una ruta negativa? Los escenarios de prueba complicados pueden ser difíciles de simular en un sistema complejo.
Mantener un entorno de prueba no es gratuito, ni las dependencias externas. Cuantos más usuarios, más escalarán esos costos. Comprender esos costos y comprender el uso se vuelve crucial para determinar el modelo de precios o de devolución de cargo que quizás desee implementar para sus usuarios finales.
Los datos de prueba en un entorno de prueba se parecen mucho a una máquina contadora de monedas. Una máquina de monedas toma sus monedas y las cuenta. Devuelve una cierta cantidad de efectivo, pero si varias personas están usando la máquina al mismo tiempo, nadie sabe cuál es el efectivo. Lo mismo sucede con los datos de prueba compartidos en entornos compartidos. Una vez que se consumen los datos, no se pueden usar para otras pruebas a menos que se reviertan los cambios de alguna manera, lo cual es complejo y requiere mucho tiempo.
Estos son desafíos que vemos aquí que reflejan lo que vemos en muchas organizaciones que también buscan mejorar sus prácticas de pruebas y automatización de pruebas. Y, francamente, la solución es bastante similar.
La virtualización de servicios es un método para emular el comportamiento de componentes específicos (virtualizar estas dependencias) en aplicaciones heterogéneas basadas en componentes, como:
Es una solución poderosa cuando se trata de simulación de API, ya que estabiliza los entornos de prueba y permite un desarrollo ágil y rápido. La virtualización de servicios de energía aporta a las pruebas de API y SOA lo convierte en una buena opción para servidores sandbox de bajo costo.
La virtualización proporciona la capacidad:
Como puede ver, la virtualización de servicios realmente cumple con los requisitos.
En los compromisos que Parasoft ha hecho, hemos observado una regla del 80:20. Algunos entornos solo requieren respuestas estáticas simples a las llamadas API, por lo que las simulaciones simples son suficientes. Las puertas de enlace de API modernas tienen muy buenas formas de almacenar estas respuestas predefinidas, como cuando las simulaciones están integradas. Si eso es realmente todo lo que se necesita, entonces la virtualización de servicios podría ser excesiva.
En el otro extremo del espectro, el entorno debe ser muy realista. Las llamadas a la API requieren datos reales o actualizaciones reales de los sistemas backend. Surge la pregunta de si es rentable replicar tanto del sistema real como servidores virtuales. En estos casos, puede ser mejor utilizar el sistema real o un clon.
Sin embargo, en aproximadamente el 80% de los casos, los requisitos se encuentran entre estos extremos. La virtualización de servicios es suficiente para crear simulaciones realistas para escenarios de prueba y validación.
El objetivo fundamental de una caja de arena es validar API y servicios, generalmente productos de terceros, antes de integrarse en su sistema de producción. Sin embargo, hay una escala de madurez de uso que vemos en las prácticas de creciente sofisticación con la ayuda de herramientas y virtualización de servicios.
Virtualización de Parasoft proporciona soporte para estos casos de uso junto con la supervisión, el análisis y la generación de informes necesarios para un uso de sandbox más sofisticado.
Un sandbox de API permite una experiencia de integración fluida para API y productos de servicio con el objetivo de mejorar el éxito del cliente. La virtualización de servicios reduce la complejidad, el costo y el riesgo de los entornos sandbox de API. Los entornos sandbox necesitan servicios casi reales y Parasoft Virtualize ofrece un rico conjunto de funciones para replicar este comportamiento de manera rápida y confiable.
Los entornos sandbox deben ser rentables y la virtualización de servicios ofrece la solución ideal para crear un entorno realista. Con eso en mente, Parasoft Virtualize proporciona escalabilidad y seguridad a los entornos sandbox de API y ofrece una variedad de modelos de implementación y un enfoque modular para la virtualización de servicios y la gestión de datos.
A medida que aumenta su sofisticación en el desarrollo de entornos aislados, la virtualización de servicios está ahí para escalar con usted y permitir el siguiente nivel de madurez.
Grigori Trofimov es un arquitecto de soluciones en Parasoft, que brinda servicios de consultoría para las soluciones de prueba de Parasoft a prospectos, clientes y socios. Recientemente ha hablado en conferencias sobre el tema de la virtualización de servicios y el despliegue de entornos desechables en la nube.