La ingeniería de rendimiento consiste en la comprobación y supervisión proactivas, continuas e integrales del rendimiento de las aplicaciones. Permite una colaboración sin fisuras entre equipos, herramientas y procesos a través de bucles de retroalimentación continuos. Aquí, no son solo los probadores los responsables de garantizar la calidad, sino también los desarrolladores, los ingenieros de rendimiento, los propietarios de productos y los analistas empresariales.
Aprovechando las herramientas adecuadas que abarcan desde los desarrolladores hasta los ingenieros de rendimiento, la ingeniería de rendimiento permite realizar pruebas de rendimiento con cambio a la izquierda y supervisar el rendimiento de las aplicaciones con cambio a la derecha. Es difícil apreciar hasta qué punto la ingeniería del rendimiento se aleja de las pruebas de rendimiento tradicionales si no se comprenden las pruebas de rendimiento clásicas.
Las pruebas de rendimiento clásicas son un subconjunto de la ingeniería de rendimiento. Suele consistir en realizar una única ronda de pruebas de carga como parte del ciclo de garantía de calidad (QA) posterior al desarrollo. Las pruebas de rendimiento consisten en comprobar la velocidad, fiabilidad, escalabilidad, estabilidad, tiempo de respuesta y uso de recursos de una aplicación bajo la carga de trabajo prevista. Antes de entrar en las diferencias entre la ingeniería de rendimiento y las pruebas de rendimiento, primero echaremos un vistazo a las pruebas de rendimiento de forma aislada y por qué, por sí solas, ya no son sostenibles.
Profundicemos ahora en las diferencias clave entre ingeniería de rendimiento y pruebas de rendimiento.
A través de los siguientes conceptos, DevOps y la ingeniería de rendimiento ofrecen resultados de rendimiento de producción coherentes, lo que permite a los clientes desplegar aplicaciones de forma eficiente con más confianza y poner en marcha software estable y de alto rendimiento que cumpla las expectativas de los usuarios.
Optimización de extremo a extremo
La ingeniería de rendimiento ofrece una optimización integral del sistema mediante un proceso continuo de pruebas y supervisión. Esto traslada las pruebas de rendimiento y carga al proceso de desarrollo. A diferencia de las pruebas de rendimiento tradicionales, en las que las pruebas se realizaban una vez estabilizadas las pruebas funcionales y liberado el código.
Una vez liberado el código, la ingeniería de rendimiento realiza un seguimiento de la aplicación en producción aprovechando las herramientas de supervisión del rendimiento de las aplicaciones (APM).
Equipo interfuncional de partes interesadas en el rendimiento
La ingeniería del rendimiento permite la colaboración entre las partes interesadas del proyecto, desde los analistas empresariales hasta los desarrolladores. Mantener altos niveles de rendimiento que mejoren la experiencia del cliente, seguir el ritmo del negocio y gestionar el rendimiento de extremo a extremo convierte a todos, no sólo a los ingenieros de control de calidad/rendimiento, en administradores del rendimiento del producto. He aquí cómo.
Centro de pruebas de excelencia
El Centro de Excelencia de Pruebas (CoE) actúa como asesor de pruebas de confianza y custodio de las mejores prácticas. El CoE da soporte a diferentes unidades de negocio, diferentes métodos de pruebas (como DevOps y Agile), y tiene la flexibilidad de recomendar pruebas de rendimiento y herramientas de pruebas según sea necesario. Para construir mejores modelos de pruebas y mejorar la calidad de las pruebas, el CoE actúa como punto único de consolidación y reutilización de los datos de pruebas que se han generado y recopilado en múltiples unidades de negocio a lo largo del tiempo.
Ingeniero de rendimiento
El ingeniero de rendimiento proporciona una visión holística de todo el código en desarrollo para garantizar que los criterios de las pruebas de rendimiento sean exhaustivos, abarquen el panorama general y tengan en cuenta todas las piezas distintas del código en desarrollo. El ingeniero de rendimiento es el principal usuario de las herramientas de pruebas de rendimiento y tiene un alto grado de experiencia en la creación de scripts, el diseño, la ejecución y el análisis de los resultados de las pruebas. La ingeniería de rendimiento lleva al ingeniero de rendimiento a la fase inicial del desarrollo, donde puede proporcionar las métricas de rendimiento y los escenarios necesarios para que el código se considere listo para su lanzamiento. Una participación temprana significa que el ingeniero de rendimiento puede garantizar que la solución satisface las expectativas de rendimiento establecidas al principio del desarrollo. También confirma que la arquitectura y el diseño son coherentes durante todo el desarrollo.
Desarrollador de software
Los desarrolladores son expertos en codificación, pero a menudo poco expertos en pruebas funcionales y de rendimiento. Trabajan en su entorno de desarrollo integrado (IDE) y tienden a utilizar sus herramientas preferidas con poca inclinación a aprender otras nuevas. La ingeniería de rendimiento desplaza a la izquierda las pruebas de rendimiento, lo que las sitúa en el ámbito de responsabilidad del desarrollador de software. Con la ayuda del ingeniero de rendimiento, los desarrolladores de software pueden realizar pruebas de rendimiento mientras escriben el código. El desarrollador no publica su código antes de que supere los criterios de las pruebas de rendimiento.
DevTester
El "devtester" no existe en las pruebas de rendimiento clásicas, ya que hay distinciones claras entre los desarrolladores de software y los ingenieros de rendimiento. Con la ingeniería de rendimiento, el "devtester" surge como una parte interesada que conecta los equipos de ingenieros de rendimiento y desarrolladores. Salvan las distancias al contar con sólidos conocimientos de codificación y pruebas, aunque no al mismo nivel de experiencia que el desarrollador y el ingeniero de rendimiento. Pueden realizar pruebas con rapidez y tienen mucha más flexibilidad que los desarrolladores para utilizar distintas herramientas en función de las necesidades.
Analistas de negocio e ingenieros de aplicaciones
Al dar un giro a las pruebas, la ingeniería de rendimiento incorpora analistas de negocio e ingenieros de aplicaciones. Esto garantiza que los requisitos de rendimiento de la empresa y la aplicación que definen la calidad de la experiencia del usuario se incorporan a los criterios de rendimiento. Estas dos funciones supervisan la aplicación en producción para garantizar un rendimiento de primer nivel en todo momento.
La ingeniería del rendimiento está transformando el panorama del desarrollo de software, así como las descripciones de los puestos de trabajo de todos los que participan en él. Y con un mayor número de funciones implicadas, la necesidad de herramientas y tecnología para agilizar el proceso es mayor que nunca. La ingeniería de rendimiento exige una integración y colaboración de extremo a extremo, de derecha a izquierda y de izquierda a derecha, junto con información y análisis en tiempo real. Los proveedores tradicionales de pruebas de rendimiento no están adecuadamente equipados para hacer frente a esta ola de cambios caóticos. OpenText , sin embargo, cuenta con la experiencia demostrada y las soluciones tecnológicas para convertir el caos de las pruebas en un orden de ingeniería.
OpenText La arquitectura abierta de Performance Engineering permite realizar pruebas en cualquier protocolo y tipo de aplicación en cualquier entorno de desarrollo. Permite a las partes interesadas, desde desarrolladores hasta analistas empresariales, utilizar numerosas herramientas de proveedores y de código abierto para posibilitar una integración completa de CI/CD a escala. OpenText las integraciones de herramientas proporcionan la capacidad de eliminar rápidamente el tiempo de espera del desarrollo y las pruebas que ralentizan la entrega de aplicaciones. Las integraciones lo consiguen permitiendo la creación rápida de simulaciones realistas de API, condiciones de red y servicios virtuales. OpenText las soluciones de ingeniería de rendimiento se basan en la infraestructura existente en las instalaciones o en la nube y promueven la reutilización de activos para aprovechar las inversiones existentes. Esto ayuda a escalar rápidamente para satisfacer las demandas de pruebas de rendimiento de múltiples aplicaciones en toda la empresa.
Las pruebas de rendimiento tradicionales no empezaban hasta que finalizaban las pruebas funcionales y no empezaban a identificar los defectos y las causas fundamentales hasta el final de las pruebas de rendimiento. OpenText la ingeniería de rendimiento implica la medición continua de extremo a extremo y el análisis de los defectos para identificar la causa fundamental en tiempo real, incluso antes de que finalice la prueba de rendimiento. Los criterios de rendimiento se incluyen en la definición y los requisitos de "hecho". OpenText los análisis en tiempo real ayudan al ingeniero de rendimiento a proporcionar rápidamente información al desarrollador para iniciar la resolución de problemas en una fase temprana del proceso de desarrollo. La monitorización sintética y la monitorización de usuarios reales en producción proporcionan información sobre los problemas de rendimiento que han escapado a las pruebas y que deben solucionarse en la próxima versión. Capture y el análisis de la opinión del usuario final desde la perspectiva del rendimiento proporcionan información más específica a los desarrolladores para optimizar la aplicación y mejorar el rendimiento.
Simplifique las pruebas de carga y rendimiento
Pruebas colaborativas de rendimiento y carga
Manténgase ágil con las pruebas de rendimiento y carga basadas en la nube
Adiós a los cuellos de botella