Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>

Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>
Saltar a la sección
Las pruebas de rendimiento en las primeras etapas del ciclo de desarrollo (enfoque de desplazamiento a la izquierda) dan como resultado productos que ofrecen mejor rendimiento y más retorno de la inversión. Descubra cómo puede optimizar las pruebas de rendimiento con un enfoque de desplazamiento hacia la izquierda.
Saltar a la sección
Saltar a la sección
Cada sprint es fundamental y las decisiones que se toman en el futuro son ultrarrápidas. Para facilitar el proceso de retroalimentación rápido, los equipos de prueba deben validar minuciosamente sus aplicaciones, de un extremo a otro, en un período de tiempo muy corto. Para maximizar este esfuerzo, los equipos de pruebas pueden modernizar su enfoque de las pruebas para obtener el mejor retorno de la inversión posible en las primeras etapas posibles de las pruebas de software.
Cambiar las pruebas de rendimiento a la izquierda significa permitir que los desarrolladores y evaluadores realicen pruebas de rendimiento en las primeras etapas de los ciclos de desarrollo. Tradicionalmente, las pruebas de rendimiento son una tarea que se realiza al final de los ciclos de desarrollo porque requiere un conjunto de herramientas y habilidades especializadas, es decir, hardware costoso en entornos dedicados por ingenieros de pruebas de rendimiento capacitados. En cambio, una estrategia de prueba de rendimiento de cambio a la izquierda permite que los evaluadores realicen pruebas de rendimiento ad hoc más pequeñas contra componentes individuales a medida que se desarrollan.
Para lograr esto, los equipos deben comenzar a crear pruebas de rendimiento junto con pruebas unitarias y funcionales, cuando se implementa la funcionalidad, y configurar esas pruebas de rendimiento para que se ejecuten automáticamente e informen de una manera que le advierta sobre disminuciones en el rendimiento. Para ejecutar las pruebas automáticamente, la ejecución de la prueba de rendimiento debe estar estrechamente integrada como parte del proceso de CI / CD, en el que después de cada verificación de código, las pruebas de rendimiento se ejecutan en entornos locales junto con las pruebas funcionales y unitarias.
Este proceso permite a las organizaciones comprender el impacto sutil de los nuevos componentes que se agregan al rendimiento agregado de su aplicación y, en última instancia, permite el descubrimiento de defectos relacionados con el rendimiento mucho antes en el ciclo de vida de la entrega. Desde la perspectiva de la cultura de la empresa, cambiar las pruebas de rendimiento a la izquierda también significa involucrar más a los desarrolladores. En la mayoría de los casos, los equipos de desarrollo pueden realizar mejoras de optimización un día después de descubrir la degradación del rendimiento, en lugar de esperar hasta que se compile toda la aplicación.
Los desarrolladores SON PROPIOS del rendimiento de sus aplicaciones. Los desarrolladores deben crear aplicaciones que estén listas para las pruebas de rendimiento mediante el uso de microservicios, API REST / SOAP y arquitecturas de diseño modular, de modo que las piezas individuales se puedan probar a medida que se desarrollan.
Los evaluadores pueden alinear sus casos de prueba con los flujos de trabajo clave en la aplicación para que puedan aprovecharse en el proceso de prueba de rendimiento. Centrarse en las capas de API de la aplicación hace que sea más resistente al cambio y manejable. Ambos equipos consumen informes que han caído fuera de los SLA para que la aplicación identifique áreas problemáticas en función de la verificación de código reciente para ayudarlos a identificar qué componentes deben optimizarse.
Seleccionar las herramientas adecuadas para un proceso de prueba de rendimiento de cambio a la izquierda es importante, pero no tan importante como usarlas juntas en flujos de trabajo automatizados. Las pruebas de rendimiento en la etapa inicial a menudo ocurren en bolsillos, donde los probadores y desarrolladores inteligentes individuales idean técnicas utilizando una variedad de herramientas de código abierto y disponibles comercialmente, pero esto finalmente se pasa por alto porque no está integrado como parte de todo el proceso automatizado.
En cambio, los evaluadores deberían utilizar herramientas comerciales especializadas que les permitan crear pruebas de rendimiento de forma automatizada. Los desarrolladores pueden utilizar herramientas similares para optimizar sus esfuerzos o para crear scripts de bajo nivel para impulsar la automatización y la carga. Entonces, ¿qué herramientas necesitas?
Las siguientes herramientas simplifican el mantenimiento, se pueden administrar de manera centralizada y proporcionan una interfaz de usuario fácil de usar para comprender los resultados.
Las pruebas funcionales ya deberían ser parte de su estrategia de pruebas continuas. La herramienta que seleccione para la automatización de pruebas funcionales debe centrarse tanto en la capa API de la aplicación para simplificar la acción de ejecución y el mantenimiento del caso de prueba, como en la capa UI para las pruebas de experiencia del usuario y de un extremo a otro. Las herramientas de prueba funcional se utilizan para crear rutas de ejecución de referencia (reutilización), ya sea en el nivel de la interfaz de usuario o en el nivel de la API. Estas rutas de ejecución coinciden con las historias de usuario, por lo que habrá una correlación entre el resultado de la prueba de rendimiento y la historia de usuario afectada.
Específicamente, necesitas un herramienta de prueba de rendimiento que puede consumir los artefactos de prueba funcionales y ejecutarlos bajo carga. Estas herramientas deben tener una variedad de parámetros de control de carga, como la cantidad de usuarios virtuales o transacciones a lo largo del tiempo. Luego, estas herramientas deberían informar en un panel centralizado para agregar resultados.
Herramientas de virtualización de servicios aborde los componentes faltantes de las aplicaciones monolíticas en las primeras etapas de las pruebas de rendimiento de desplazamiento a la izquierda. Uno de los principales desafíos que enfrentará en las primeras etapas de las pruebas de rendimiento es la falta de infraestructura de soporte, debido a esfuerzos de desarrollo paralelos o componentes de terceros. Al establecer la línea de base de esos sistemas dependientes y modelarlos en servicios virtuales, puede crear condiciones de línea de base de aplicaciones similares a la producción y centrarse en el rendimiento de los componentes individuales durante la prueba.
Las pruebas de rendimiento de Shift-left funcionan mejor cuando se trata de un proceso automatizado. Si se implementa la automatización, "pruebas de rendimiento" significa simplemente la revisión / mantenimiento de las pruebas de rendimiento automatizadas, lo que reduce el tiempo para ejecutar las pruebas a largo plazo, ya que el proceso es automatizado y no manual.
Al alinear su estrategia de pruebas de rendimiento con su estrategia de pruebas continuas e integrarlas con herramientas como Jenkins, Bamboo, Microsoft VSTS, etc., puede crear un proceso totalmente automatizado. Sus herramientas de CI deberían permitirle ejecutar las pruebas de rendimiento como una función de la verificación del código para que se puedan ejecutar pruebas de rendimiento consistentes todas las noches.
Además, sus herramientas de CI deben integrarse con su panel de informes y análisis, y publicar automáticamente los resultados para que pueda comprender rápidamente los datos de tendencias.
Hablando de tu panel de informes y análisis, un panel centralizado es importante porque permite a los usuarios comprender el impacto incremental de las pruebas de rendimiento de los componentes al mostrar información de tendencias por proyecto, componente, API, etc.
Su panel de control centralizado debe brindar la capacidad de automatizar las pruebas de rendimiento, definir SLA que conviertan las pruebas de rendimiento en indicadores de aprobación / falla y ver tendencias históricas. Además, el panel de informes debe proporcionar detalles que vinculen las pruebas de rendimiento con sus requisitos iniciales para que la empresa pueda priorizar adecuadamente los problemas que surjan, así como la vista de alto nivel de aprobación / falla y, al mismo tiempo, cada pequeño detalle, para que usted puede determinar las causas de los fallos una vez detectados.
El enfoque de desplazamiento hacia la izquierda agrega desarrolladores como usuarios del panel, además de administradores y evaluadores, por lo que el panel debe tener los detalles de bajo nivel que los desarrolladores buscan para investigar y establecer de manera efectiva las causas de las fallas de SLA o las tendencias históricas.
Los consumidores están agotados con constantes parches calientes y actualizaciones de optimización del rendimiento. Tienen hambre de nuevas características y funcionalidades. Dado que las pruebas de rendimiento se realizan tradicionalmente al final del ciclo, inevitablemente afectan los plazos de entrega y, como tal, se miran a través de una lente negativa. Al federar el proceso de pruebas de rendimiento y permitir que los equipos ágiles cambio de prueba a la izquierda Con un enfoque iterativo, los problemas se pueden identificar tempranamente. Esto no solo garantiza que las decisiones tecnológicas tomadas puedan evaluarse fácilmente para determinar la degradación del rendimiento, sino que, en última instancia, proporciona un producto con mayor rendimiento en general al optimizar cada área y centrarse en el rendimiento.
Cómo reducir el tiempo de prueba de API con automatización impulsada por IA