Research Article

PreventivatativeTestPro: Un marco escalable de pruebas híbridas que utiliza observabilidad e inteligencia artificial generativa para una ingeniería proactiva de calidad de software

DOI:

10.3791/69316

March 24th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

PreventivtativeTestPro es un marco de pruebas impulsado por IA que utiliza datos de observabilidad y grandes modelos de lenguaje para automatizar el análisis de causas raíz, la generación de pruebas y la validación continua, con el objetivo de mejorar la fiabilidad del software y optimizar el aseguramiento de calidad tanto para sistemas frontend como backend, facilitando así una gestión más eficiente de tickets de soporte.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Este artículo presenta un sistema de pruebas sofisticado y escalable que integra la automatización basada en observabilidad con ingeniería de calidad proactiva aumentada por IA para abordar las dificultades contemporáneas en la entrega de software. El sistema sugerido mejora PreventivatTestPro, una plataforma de pruebas híbrida de código abierto que combina metodologías de caja negra y caja blanca, incorporando una capa innovadora de orquestación de pruebas basada en observabilidad. La plataforma utiliza registros, métricas, eventos y trazas junto con la monitorización del navegador y del servidor para identificar rápidamente anomalías, mejorar la selección de casos de prueba y automatizar la creación de suites de pruebas funcionales, de rendimiento y de seguridad. Una característica distintiva es la incorporación de grandes modelos de lenguaje (LLMs) para proporcionar información sobre la causa raíz y construir de forma autónoma nuevos casos de prueba basados en comportamientos de producción y anomalías identificadas, proporcionando así una cobertura de regresión adaptativa y remediación inteligente.

El sistema facilita la ejecución concurrente de pruebas mediante análisis instantáneo de registros impulsado por IA, fomentando un bucle de retroalimentación continuo entre operaciones y pruebas. Ha sido validado en varios escenarios empresariales, incluyendo plataformas SaaS basadas en microservicios y ecosistemas SAP BTP. Los hallazgos empíricos de cuatro despliegues en producción y un grupo beta de 49 ingenieros indican una disminución de hasta un 30% en el tiempo medio hasta la resolución, más del 95% de cumplimiento de los SLA y mejoras sustanciales tanto en la cobertura de pruebas como en la trazabilidad de defectos. La conexión sencilla con herramientas estándar de la industria ilustra su capacidad plug-and-play.

Esta investigación presenta una metodología de ingeniería de calidad integral, independiente de las herramientas y con visión de futuro, coherente con los principios ágiles y DevOps. Los futuros proyectos incluyen la clasificación dinámica de anomalías mediante aprendizaje automático, la extensión a sistemas móviles y orientados a la experiencia del usuario, y el aumento de capacidades de grandes modelos de lenguaje para el desarrollo de pruebas específicas de dominio y la predicción de fallos.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

La creciente popularidad del paradigma ágil en los negocios de software ha llevado a un interés creciente en entornos de integración continua. Las ventajas de estos sistemas incluyen la integración fluida de modificaciones regulares del programa, lo que resulta en una evolución acelerada y rentable del software. En consecuencia, gestionará eficientemente tareas como los procedimientos de construcción, la ejecución de pruebas y la elaboración de informes de resultados de pruebas. Las pruebas de software se han implementado desde los inicios de la ingeniería de software. Se implementó la práctica de pruebas de software para evaluar la calidad delsoftware 1. Las pruebas abarcan una serie de acciones destinadas a detectar y resolver posibles errores en el software antes de su despliegue a los usuarios finales. Las pruebas de software son una etapa costosa en el procesode desarrollo 2. El coste de las pruebas y depuraciones de software representa más del 50 por ciento del coste total de desarrollo: 3,4. El coste asociado a las pruebas de regresión depende de la complejidad de la aplicación y de la magnitud del conjunto de pruebas5.

La metodología ágil conduce a cambios rápidos en producción, lo que a su vez resulta en un gran número de problemas de soporte debido a la retroalimentación. Gestionar las dificultades de soporte es una responsabilidad muy importante y crítica, como lo demuestra el hecho de que el 68% de los consumidores expresan su disposición a pagar un precio premium por productos y servicios de una empresa reconocida por ofrecer un excelente servicioal cliente 6. Según un estudio, el 86% de los clientes que reciben un servicio al cliente excepcional tienen más probabilidades de convertirse en defensores leales del negocio a largoplazo 7. Según un estudio, el 89% de los compradores están más inclinados a hacer compras repetidas si han tenido una experiencia de atención al cliente favorable8. Según un estudio, el 93% de los clientes tienden a hacer compras repetidas con empresas que ofrecen un servicio al cliente excepcional. Para ofrecer un servicio al cliente excelente, es esencial resolver las solicitudes de soporte de forma rápida y eficaz con un alto nivel de calidad. El elemento de calidad es crucial para una entrega más rápida, ya que el coste de resolver problemas de soporte aumenta con el tiempo y el nivelde escalada 10.

Para obtener alta calidad, es necesario localizar y abordar problemas de soporte asegurando una cobertura completa de pruebas de regresión en el ticket. Esta tarea es compleja y ha provocado un aumento de las dificultades operativas, principalmente la detección y resolución rápida de problemas de apoyo. Las dificultades de soporte, que abarcan una amplia variedad de problemas como la disminución del rendimiento del sistema o fallos imprevisos, suelen surgir durante la fase operativa de los sistemas de software. Si estas dificultades no se detectan y corrigen rápidamente, pueden derivar en períodos prolongados de inactividad, descontento de los consumidores y retrocesos financieros. Los métodos actuales para utilizar la información de observabilidad para las necesidades de prueba suelen estar limitados por procedimientos manuales, tácticas receptivas en lugar de proactivas y una deficiencia en la integración de la detección de anomalías con la ejecución de pruebas. Existe una clara falta en la detección proactiva de problemas de soporte utilizando datos de observabilidad en tiempo real y en la ejecución automática de casos de prueba apropiados para prevenir fallos probables con antelación.

La ausencia de una solución integral y unificada conlleva muchas consecuencias perjudiciales para el mantenimiento y la fiabilidad del software. Estos factores incluyen periodos prolongados de inactividad del sistema causados por la identificación tardía de problemas, el aumento del trabajo manual para localizar casos de prueba pertinentes y la disminución de la confianza en la fiabilidad del sistema. Además, la falta de asociación precisa de anomalías identificadas con casos de prueba conduce a deficiencias en la cobertura de pruebas, lo que puede dar lugar a problemas importantes no resueltos.

La razón fundamental de esta disparidad puede atribuirse a la estructura fragmentada de los sistemas de monitorización y pruebas existentes. Muchos sistemas actuales carecen de la capacidad para integrar de forma fluida el análisis de datos de observabilidad con la ejecución de casos de prueba pertinentes. Además, la dependencia de regulaciones fijas y procedimientos humanos para asociar irregularidades con casos de prueba dificulta la capacidad de resolver nuevos problemas de forma rápida y precisa.

Para obtener una visión sobre cómo la industria gestiona los problemas de apoyo y realiza pruebas preventivas, realizamos un estudio descriptivo entrevistando a profesionales delsector 11. Según los datos de las entrevistas, se ha enfatizado que el mayor obstáculo encontrado durante la implementación de cualquier solución es el tiempo insuficiente para garantizar la calidad. Durante la entrevista se señalaron varias preocupaciones, entre ellas la mejora de las competencias individuales, el gasto de mantenimiento, el bajo retorno de la inversión y la selección e integración de herramientas11. Esta información también ha sido verificada en el "Informe sobre el Estado de la Calidad 2024" de Katalon12.12. Antes de ofrecer soluciones a los problemas mencionados en las entrevistas, realizamos una evaluación comparativa de las herramientas para ver si existen herramientas o algoritmos que abordan las preocupacionesseñaladas 13,14. Ahora carecemos de las herramientas o algoritmos necesarios diseñados específicamente para abordar las dificultades discutidas en las entrevistas.

Este trabajo introduce un método innovador que utiliza datos de observabilidad para detectar problemas de soporte en una etapa temprana (incluso antes de que se reporten) y realizar casos de prueba apropiados, mejorando así la fiabilidad y robustez de los sistemas de software. Esta estrategia se basa en utilizar datos de observabilidad para identificar anomalías, establecer conexiones con problemas probables e iniciar la ejecución de casos de prueba dirigidos que tienen muchas probabilidades de revelar la causa subyacente del problema. La solución sugerida pretende cerrar la brecha entre las operaciones de software y las pruebas, permitiendo una respuesta proactiva y rápida a las preocupaciones de soporte. La solución propuesta permite la creación de nuevos casos de prueba si estos no están en la suite, mejorando así la cobertura de pruebas. La estrategia propuesta también pretende abordar las preocupaciones planteadas en las entrevistas y en el informe de Katalon11, 12, 13 y 14.

La observabilidad, en el contexto de la teoría de control, se refiere a la medida en que los estados internos de un sistema pueden deducirse de sus salidas exteriores. En el campo de la ingeniería de software, la idea de observabilidad se refiere a la capacidad de monitorizar y comprender el estado de un sistema de software utilizando salidas como logs, métricas, trazas yeventos 15,16,17. Nuestro análisis de la literatura incluye un examen de la observabilidad y su uso en pruebas de software. Sin embargo, encontramos poca literatura disponible sobre este tema. Por ello, también hemos incluido debates sobre pruebas preventivas innovadoras e investigaciones relacionadas. Nuestra revisión bibliográfica se divide a su vez en 3 grupos diferentes.

Bogatinovski et al.18 presentan CLog, una red neuronal consciente del contexto y técnica de agrupamiento diseñada para abordar datos de registro inestables y cobertura insuficiente de fallos identificando subprocesos significativos y detectando fallos en medio de transiciones repentinas de contexto. Busby et al.19 proponen una metodología basada en registros para generar casos de prueba anonimizados, prediciendo secuencias de usuario para replicación sin datos personales; sin embargo, las variaciones en el nivel de la concurrencia y del tronco persisten como restricciones significativas. Lee yKang 20 sugieren implementar una arquitectura de prueba para las pruebas de líneas de productos de software para mejorar la observabilidad y la controlabilidad en presencia de mecanismos de variabilidad. El modeloQEX 21 combina datos de diferentes fuentes de pruebas para proporcionar información clara y útil mientras se realizan pruebas. Lal yKumar, 22 años, destacan la importancia de poder ver y controlar las pruebas inteligentes. Sugieren utilizar automatización impulsada por IA para hacer las pruebas más rápidas, eficientes y exhaustivas. Briand et al.23 ilustran la aplicación de la programación orientada a aspectos en Java para la instrumentación efectiva de contratos e invariantes, mientras que Baral y Offutt24 enfatizan el problema de las afirmaciones erróneas de pruebas que resultan en "pruebas ciegas", que no identifican comportamientos incorrectos.

Rott25 explica que los análisis y visualizaciones modernos dentro de Teamscale enfatizan el proceso de pruebas de software al permitir a los testers acceder a los artefactos procesados específicos para los problemas y situaciones requeridas. Collins yLucena 26 destacan la importancia de realizar muchas pruebas en la cadena de CI antes de desplegar en producción. Dicen que las pruebas en capas son una buena forma de asegurarse de que el producto es de alta calidad y reducir problemas de soporte.

BugSwarm27 ofrece un método para examinar fallos en pruebas de CI correlacionando las causas raíz con sus respectivas soluciones. Dudila yLetia 28 examinan metodologías de pruebas de caja blanca y caja negra, sugiriendo una estrategia coherente para mitigar los esfuerzos de depuración durante el proceso de desarrollo. Fushihara et al.29 investigaron los "olores de prueba" en aplicaciones de Python, analizando su progresión mediante modificaciones de código para mejorar la gestión del código de prueba. SUPERNOVA30 es un sistema para seleccionar pruebas y prevenir fallos que utilizan datos, automatización y aprendizaje automático para mejorar el aseguramiento de calidad. Araujo31 propone una estrategia de mantenimiento centrada en el envejecimiento del software. Esta estrategia utiliza mantenimiento correctivo cuando son posibles cambios en el código y estrategias preventivas cuando los cambios podrían causar inactividad en el sistema, lo que reduce el número de fallos de servicio. Andrew et al.32 investigan las pruebas de mutación paralelizadas, un proceso en el que las clases se mutan, prueban y recargan repetidamente hasta que se han evaluado todas las variantes. Dunn et al.33 proponen métricas de vulnerabilidad de seguridad que asignan pesos a los componentes para enfatizar la importancia de realizar pruebas exhaustivas. Por último, Huo et al.34 utilizan un índice secuencial de conjuntos para encontrar ubicaciones de defectos y confirmar problemas. Esto muestra que las causas raíz suelen estar vinculadas a la mayoría de los casos de prueba fallidos en aplicaciones de software.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Arquitectura del sistema y resumen del prototipo:

Esta investigación presenta un sistema prototipo mejorado y adaptable, PreventivtativeTestPro, que ejemplifica un enfoque proactivo de ingeniería de calidad utilizando datos de observabilidad y grandes modelos de lenguaje (LLMs) para mejorar aún más la resolución de problemas de apoyo. El sistema busca abordar los problemas modernos de entrega de software automatizando la detección de anomalías, el análisis de causas raíz y la ejecución y desarrollo inteligente de casos de prueba para cobertura no abordada utilizando monitorización sintética, datos de observabilidad e integración GenAI. La arquitectura es modular y consta de tres componentes principales: Collector y Analizador de Datos de Observabilidad, Capa de Inteligencia Impulsada por GenAI y Motor de Orquestación y Ejecución de Pruebas, tal como se especifica en detalle en la Figura 1.

figure-protocol-1
Figura 1: La entrada-salida del sistema propuesto. Se proporcionan datos de observabilidad, junto con la salida del observador, el repositorio de pruebas y las reglas de mapeo, como entrada junto con los bancos de pruebas BHRAMARI, que construyen bancos de pruebas impulsados por IA para mejorar la robustez de los casos de prueba. El sistema propuesto genera instrumentación de anomalías, recomendaciones generadas por IA, ejecución de casos de prueba pertinentes, documentación e informes, así como la identificación y creación de casos de prueba ausentes. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

La Figura 2 muestra la arquitectura del enfoque sugerido. La figura ilustra la entrada, procesamiento y salida del sistema. También ofrece una descripción completa del sistema, que luego se traduce en una explicación para mejorar la comprensión de las características subyacentes.

figure-protocol-2
Figura 2: Arquitectura del sistema propuesto con colector y analizador de datos de observabilidad, capa de inteligencia impulsada por GenAI y motor de orquestación y ejecución de pruebas. Esta figura ilustra la arquitectura interna del sistema PreventivtativeTestPro, segmentada en tres capas: la Capa Collector de Observabilidad agrega datos de múltiples fuentes, incluyendo eventos del navegador, registros, archivos HAR, registros de backend, métricas y trazas. La Capa de Inteligencia de IA Generativa utiliza estos datos para realizar análisis de causa raíz, priorizar anomalías y crear de forma autónoma casos de prueba (UI, API, manual) y documentación mediante el uso de LLMs. El módulo BHARAMARI también establece nuevos bancos de pruebas. El motor de Orquestación y Ejecución de Pruebas mapea las discrepancias a los casos de prueba, ejecuta pruebas de forma simultánea, evalúa resultados e informa a los equipos de ingeniería, sistemas de tickets y paneles para la supervisión y monitorización de resolución en tiempo real. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

El módulo Observability Data Collector and Analyzer funciona como un sistema sensorial de la plataforma, recopilando continuamente datos de la aplicación bajo evaluación a gran escala, con múltiples aspectos. En el caso de la monitorización frontal, se despliegan agentes sintéticos de monitorización para monitorizar eventos en el lado del navegador, como estructuras del Modelo de Objetos de Documento (DOM), acciones del usuario, como clics, flotadores y entradas, y archivos HAR que capturan información de solicitud y respuesta de red y API. PreventivaTestPro también está integrada con OBSERVER para aumentar la capacidad de los navegadores. La monitorización de backend se dirige al análisis de logs, en el que se solicita y procesa información de observabilidad del lado del servidor, que incluye registros de aplicación, mensajes de errores, informativos y de depuración, registros de rastreo de pila y excepciones, métricas de rendimiento como los tiempos de respuesta y rastreo utilizando tecnologías como OpenTelemetry o New Relic. El sistema funcionará con agentes sintéticos que simulan el tráfico y la interacción de los usuarios, y los colectores de registros condensan los datos entrantes en tiempo real. Los datos recopilados se normalizan entonces a formatos estructurados y se entregan a otras unidades de procesamiento para su análisis posterior.

La esencia de PreventivtativeTestPro es una Capa de Inteligencia Impulsada por GenAI que utiliza Grandes Modelos de Lenguaje (LLMs) como GPT para leer y analizar datos de observabilidad, contextualizar y generar respuestas. El módulo realiza el análisis de causa raíz: el proceso de interpretar registros y trazas de causa raíz para explicar fallos técnicos en términos que puedan entenderse, como una NullPointerException en una línea de código concreta y la causa asumida del problema, como una variable no inicializada. En la generación de casos de prueba, el sistema utiliza autopruebas que se generan convirtiendo patrones de excepción o una secuencia de eventos en scripts de prueba ejecutables, por ejemplo, pruebas de Selenium o API, pero también produce procedimientos de prueba legibles por humanos que el personal de Aseguramiento de Calidad puede ejecutar. Las pruebas de API han evolucionado mediante la transformación de HAR y los registros de trazado en una secuencia de solicitudes API con las aserciones esperadas, y todos los casos de prueba generados se mejoran aún más con bancos de pruebas efectivos al integrarse con BHRAMARI. Se sugieren mejoras adicionales, mejoras en la cobertura de pruebas y oportunidades de integración CI/CD en el sistema de recomendación, dependiendo del comportamiento analizado del sistema. El Motor de IA utiliza datos estructurados de observabilidad mediante ingeniería de prompts y enriquecimiento de contexto para presentar el contexto de los registros con plantillas de prompts que pasan consultas estructuradas al LLM, y finalmente genera resultados en forma funcional, como fragmentos de código, especificaciones de casos de prueba y documentación en lenguaje natural.

El módulo de Orquestación y Ejecución de Pruebas gestiona la prioridad de pruebas, la programación y la ejecución, permitiendo la validación automatizada basada en detalles de cobertura de cambios de código, etiquetas y mapeo de anomalías. El mapeo y selección de la prueba implica asociar anomalías en mapas o patrones de instrumentación con casos de prueba conocidos utilizando un Motor de Reglas de Mapeo, y luego ejecutar los casos de prueba conforme al mapeo establecido. Las características de la ejecución concurrente de pruebas permiten ejecutar numerosos tipos de pruebas simultáneamente, como pruebas funcionales, de rendimiento o de seguridad en diferentes entornos y coordinar el uso de Selenium, JMeter y ZAP como instrumentos en las canalizaciones de automatización. La implementación del bucle de retroalimentación asegura que los resultados de las ejecuciones se registren y, en caso de fallo de prueba, los cambios se comunican a los sistemas de soporte, incluyendo Jira y Azure DevOps, para rastrearlos y resolverlos.

Hipótesis:

H1 (Eficiencia Operativa): Se plantea que la fusión de datos de observabilidad e inteligencia impulsada por IA mejorará las métricas operativas, especialmente al disminuir el tiempo medio de resolución (H1a), tiempo medio de análisis (H1b), tiempo medio de detección de problemas de producción (H1c) y tiempo medio para desplegar correcciones en producción (H1d). Estos cambios deberían facilitar el cumplimiento de los requisitos del Acuerdo de Nivel de Servicio (SLA) (H1e) al acelerar la detección, el análisis y el despliegue, manteniendo al mínimo el tiempo de inactividad del sistema.

H2 (Efectividad de las pruebas): También se cree que la efectividad de las pruebas por software mejorará con una mayor cobertura de pruebas (H2a), la ejecución de casos de prueba en paralelo (H2b) y la priorización inteligente de pruebas (H2c). También se espera que las recomendaciones generadas por IA (H2d) ayuden tanto en las pruebas como en los flujos de trabajo operativos. Esto ayudará a detectar errores más rápido, acelerar los bucles de retroalimentación y apoyar prácticas de aseguramiento de la calidad que sean preventivas y duraderas.

Alcance y público:

Este prototipo muestra el diseño general del sistema, la idea principal y cómo configurar y ejecutar el marco PreventivatTestPro paso a paso. También detalla cómo configurar los bancos de pruebas/entradas de muestra adecuados y da consejos para solucionar problemas. El contenido está dirigido a ingenieros de calidad de software que ya conocen lo básico de Java y quieren aprender a utilizar pruebas preventivas para hacer el software más fiable y eficiente.

Configuración del entorno:

El Archivo Suplementario 1 contiene una descripción paso a paso y un programa necesario para comunicarse con PreventivatTestPro. Esto incluye instrucciones para instalar el entorno necesario, cómo iniciar y detener los servicios de la herramienta, y una explicación clara del uso fundamental de la herramienta. Para obtener una documentación más detallada, junto con instrucciones sobre cómo usar herramientas avanzadas, instrucciones de configuración y otros detalles organizativos, consulte las fuentes oficiales de GitHub dedicadas al proyecto: la página Wiki específica en la ubicación del https://github.com/sohambpatel/PreventativeTests/wiki y el README principal en https://github.com/sohambpatel/PreventativeTests?tab=readme-ov-file/readme.

Ejemplos de entradas:

Los archivos de entrada de ejemplo se pueden encontrar en el repositorio de GitHub: https://github.com/sohambpatel/PreventativeTests/tree/main/preventativetestframework/Inputs. El framework puede ejecutar los casos de prueba preestablecidos y conjuntos de datos de estos archivos de inmediato. Se utilizan como entradas de referencia para comprobar la configuración del entorno y obtener los mismos resultados que se describen en este protocolo.

Resultados de ejemplo:

El repositorio de GitHub (https://github.com/sohambpatel/PreventativeTests/tree/main/preventativetestframework/SampleOutputs) contiene muestras concretas de los datos de salida del marco de pruebas preventivas en formato bruto. A través de estos archivos, los usuarios pueden ver directamente el diseño y los detalles de los informes y métricas generados, demostrando los resultados que la herramienta ha logrado durante su funcionamiento. Esta guía es relevante para conocer la cadena de datos y confirmar el comportamiento anticipado del marco en la recreación del proceso experimental.

Prototipo de ejecución:

Esta sección ofrece una guía detallada y paso a paso sobre cómo utilizar el framework PreventivtativeTestPro. Para ayudar a los usuarios a reproducir el flujo de trabajo, cada etapa se describe en orden. Esta sección presenta los pasos de ejecución en un formato estructurado para facilitar la reproducción de resultados, señalar puntos de control importantes y asegurar que el marco PreventivatTestPro pueda usarse de forma consistente en diferentes entornos experimentales u operativos.

En este paso, la interfaz gráfica de PreventivatativeTestPro puede utilizarse para elegir el mejor flujo de trabajo de pruebas preventivas. La Figura 3 muestra cinco opciones, cada una de las cuales representa un paso diferente en el proceso de pruebas: ejecutar pruebas en paralelo, crear el conjunto de pruebas a partir del seguimiento de la salida priorizando casos existentes, crear casos manuales, crear casos automatizados y encontrar la causa raíz. Cuando el usuario toma una decisión, comienza el flujo de trabajo designado. Después de eso, se pueden añadir modos adicionales (como la generación de casos de prueba impulsada por IA o el análisis de causa raíz) en etapas posteriores. Esta interfaz bien organizada ofrece una forma de realizar estudios de pruebas preventivas que pueden repetirse y descomponerse en partes más pequeñas.

figure-protocol-3
Figura 3: Interfaz de usuario 1 del sistema. Esta figura muestra la interfaz de usuario de PreventivatativeTestPro, que permite elegir entre cinco formas diferentes de realizar pruebas preventivas: 1. Prueba preventiva, ejecución paralela: inicio de pruebas, 2. Prueba preventiva, finalización del conjunto de pruebas basada en la monitorización de aplicaciones sintéticas, 3. Prueba preventiva, generación de casos de prueba manuales usando GenAI, 4. Prueba preventiva, generación de casos de prueba automatizados usando GenAI, 5. Prueba preventiva, Análisis de causa raíz usando GenAI. Solo se puede elegir una opción a la vez. El diseño modular facilita la realización de pruebas preventivas y añade la creación y diagnóstico de pruebas impulsadas por IA. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

La Figura 4 muestra la interfaz de Ejecución Paralela del framework. En este paso, el usuario introduce la URL de la aplicación que quiere probar y la ruta absoluta hacia el archivo de propiedades que contiene la configuración de configuración. Una vez configuradas las entradas, el usuario puede comenzar a ejecutar pruebas al mismo tiempo haciendo clic en el botón Iniciar Pruebas, que también monitoriza el sitio web bajo prueba y genera los registros de seguridad, rendimiento, consola y JavaScript. Se puede detener la ejecución en curso haciendo clic en el botón Detener las pruebas. El botón Obtener Recomendación permite obtener información impulsada por IA a partir de los registros registrados. Este diseño asegura que múltiples categorías de prueba (funcional, de rendimiento y de seguridad) se ejecuten simultáneamente, lo que facilita la detección de problemas más rápidamente.

figure-protocol-4
Figura 4: Interfaz de usuario 2 del sistema. Esta figura muestra el modo de ejecución paralela del framework PreventivtativeTestPro. El usuario especifica la URL de la aplicación de destino y la ruta hacia un archivo de propiedades que contiene detalles de configuración. Las opciones incluyen Start Testing (para ejecutar pruebas funcionales, de seguridad y de rendimiento en paralelo y registrar los logs), Stop Testing (para detener la ejecución) y Get Recommendation (para obtener información impulsada por IA a partir de logs y métricas). Por favor, haz clic aquí para ver una versión ampliada de esta figura.

La Figura 5 muestra la interfaz de Finalización de Pruebas basada en Monitorización del framework PreventivTestPro. En este paso, el usuario establece la ruta para el archivo de salida de monitorización, la consulta de ruta JSON para obtener nodos de error o excepciones, y la ruta del repositorio de pruebas para guardar los casos creados. Una vez configuradas las entradas, el usuario puede primero obtener los nombres de la clase y el método que las acompañan y luego ordenar los casos de prueba de la tirada de prueba según la clase y el método encontrados. Este paso de priorización muestra cómo utilizar los datos de monitorización para clasificar eficazmente los casos de prueba.

figure-protocol-5
Figura 5: Interfaz de usuario 3 del sistema. Esta figura muestra cómo priorizar un conjunto de pruebas en el framework PreventivatativeTestPro utilizando salidas de monitorización sintéticas. El usuario escribe la ruta hacia el archivo de salida de monitorización, la ruta JSON para obtener excepciones/errores y la ruta hacia el repositorio de pruebas (offline). Las opciones Get Class/Method Name y Get Test Cases pueden usarse para convertir anomalías de mapeo en casos de prueba que se pueden ejecutar. Esto asegura que los problemas en tiempo de ejecución se incluyan en el proceso de prueba. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

La Figura 6 muestra la interfaz de Generación Manual de Casos de Prueba de PreventivtativeTestPro. En este paso, el usuario indica al programa dónde encontrar el archivo de traza de pila que muestra la anomalía proporcionando el camino absoluto hacia el archivo de traza de pila y el camino hacia el archivo de propiedades de configuración. Una vez establecidas las entradas, se puede ejecutar la opción Generar Casos de Prueba, que convertirá la anomalía en casos de prueba manuales estructurados. Esto asegura que los errores de ejecución que ya han ocurrido antes siempre estén incluidos en el proceso de prueba. El marco facilita la creación de casos de prueba automatizando el proceso. Esto reduce el trabajo manual, mejora la cobertura de las pruebas y hace que las pruebas sean más fiables, además de evitar que el mismo problema vuelva a ocurrir. Este paso es un vínculo muy importante entre encontrar problemas y asegurarse de que la calidad sea buena antes de que ocurra.

figure-protocol-6
Figura 6: interfaz de usuario 3 del sistema. Esta figura muestra la interfaz de generación de casos de prueba de PreventivtativeTestPro. Convierte las trazas de pila de anomalías en casos de prueba manuales en el Desarrollo Impulsado por Comportamiento (BDD) que pueden utilizarse. El usuario proporciona las rutas hacia el archivo de trazado de la pila y el archivo de propiedades, y luego hace clic en "Generar casos de prueba" para crear automáticamente casos que coincidan con el fallo encontrado. Esto asegura que los problemas en tiempo de ejecución siempre se conviertan en pruebas de regresión que pueden repetirse. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

La Figura 7 muestra la interfaz automatizada de generación de casos de prueba de PreventivatTestPro. En este paso, el usuario da la ruta absoluta al archivo de salida JSON de observabilidad y la ruta al archivo de configuración de la propiedad. Cuando se pulsa el botón Generar Casos de Prueba Automatizados, el sistema procesa los datos de monitorización y crea casos de prueba que pueden ejecutarse para mostrar los mismos problemas que se han detectado.

figure-protocol-7
Figura 7: Interfaz de usuario 4 del sistema. Esta figura muestra la interfaz automatizada de generación de casos de prueba de PreventivTestPro, que realiza pruebas que pueden ejecutarse usando datos de observabilidad. El usuario proporciona la ruta hacia el archivo de propiedades y el archivo de salida JSON de observabilidad. Luego, hacen clic en "Generar casos de prueba automatizados" para crear scripts que puedan ejecutarse (en formato Selenium y TestNG). Por favor, haz clic aquí para ver una versión ampliada de esta figura.

figure-protocol-8
Figura 8: Interfaz de usuario 5 del sistema. Esta figura muestra la interfaz de instrumentación de anomalías de PreventivtativeTestPro para el Análisis de la Causa Raíz (RCA). El usuario da la ruta al archivo de propiedades y al archivo de traza de la pila, y luego elige RCA para iniciar el análisis impulsado por IA. Este paso convierte las anomalías detectadas en conocimientos diagnósticos estructurados, lo que garantiza que los fallos puedan corregirse de forma que pueda repetirse y sea específica para cada problema. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

Solución de problemas:

La Tabla 1 muestra los puntos de solución de problemas más importantes que se refieren únicamente al código de la aplicación. Estos puntos son una forma rápida de recordar cómo solucionar problemas a nivel de código que surgen al ejecutar el framework PreventivatTestPro. La documentación del proyecto ofrece más información e instrucciones paso a paso para los lectores que deseen más ayuda para resolver problemas que afectan a la funcionalidad general de la aplicación. El recurso completo puede obtenerse en el enlace: https://github.com/sohambpatel/PreventativeTests/wiki/How-to-use%3F. Esta referencia adicional garantiza que los usuarios no solo solucionen problemas de codificación, sino que también aprendan a solucionar funciones, permitiéndoles usar el framework de forma más eficaz.

Comportamiento de errorCausa raíz¿Cómo arreglarlo?
La solicitud no está empezandoLa ruta de Java no está establecidaEn la variable Entorno, establece la JAVA_HOME
El servidor falla al arrancarPuerto 8080/9090 en uso (específicamente mientras se usa Docker)Actualizar el mapeo de puertos de Docker
El contenido GenAI es nuloEl token puede haber caducadoGenera el token y actualiza el config.properties antes de proporcionarlo como entrada
La instancia del navegador generada por el framework no se conecta a la redO bien el servidor ZAP no está funcionando o las credenciales de ZAP son incorrectasActiva el ZAP antes de ejecutar la aplicación; en caso de que esté en ejecución y el problema persista, actualiza las credenciales ZAP en config.properties antes de proporcionarlas como entrada

Tabla 1: Errores comunes de sistema propuestos y soluciones rápidas. Esta tabla muestra los errores específicos comunes de la aplicación, la resolución de problemas y las soluciones rápidas que se pueden aplicar para solucionar los problemas.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Inicialmente, compartimos en tiempo real los resultados derivados de los estudios de caso realizados en colaboración con diversas industrias. Además, hemos proporcionado los resultados derivados de los beta testers que han utilizado este marco y algoritmo, junto con las observaciones finales sobre los posibles riesgos para la validez de los resultados.

Resultados de estudios de caso del sector:

Basándonos en nuestra...

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Esta investigación presenta PreventivtativeTestPro, una plataforma integral de pruebas y observabilidad que integra monitorización sintética, datos de observabilidad y automatización impulsada por IA generativa para mejorar el aseguramiento de la calidad del software. El sistema consta de tres módulos fundamentales: un recopilador y analizador de datos de observabilidad, una capa de inteligencia impulsada por IA generativa y un motor de orquestación y ejecución de pruebas. En conjunto, e...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Los autores afirman que no tienen intereses financieros en competencia ni relaciones personales conocidas que pudieran haber influido en el trabajo reportado en este artículo. Atestiguamos que Géminis solo se aplicó en cuanto a pulido gramatical y reformulación de frases para hacerlas más fáciles de leer. Para ser correctos y éticamente correctos, los autores revisaron cuidadosamente todos los cambios sugeridos por la IA para preservar la connotación científica original.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

El autor expresa su gratitud por el apoyo y la colaboración significativos brindados por las siguientes organizaciones a lo largo de esta investigación. Los estudios de caso experimentales colaborativos con estas empresas fueron cruciales para fundamentar la herramienta y el método propuestos. Se extiende nuestro agradecimiento a GazonTech, Lopa Engineering, Afour Technologies, QJ Technologies y SecureLayer7 por proporcionar acceso a entornos prácticos, conocimientos técnicos y valiosas aportaciones durante la fase experimental. Su participación activa aumentó enormemente la importancia práctica y la usabilidad de los hallazgos de la investigación. El autor expresa su profundo agradecimiento por su disposición a participar en la investigación académica y su dedicación a la innovación y la mejora continua en los campos de la ingeniería de software y la ciberseguridad.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Apache MavenFundación de Software Apache3.9.6Herramienta de gestión de dependencias y proyectos para proyectos Java
ChatGPT (API GPT-3.5 Turbo)OpenAIhttps://platform.openai.com/api-keysPara generar recomendaciones de pruebas basadas en IA a partir de registros, generar casos de prueba manuales, generar casos de prueba automatizados y obtener el análisis de causa raíz
Ordenador (Máquina de desarrollo/prueba)Ordenador de sobremesa/portátil estándar-Utilizado para desarrollar, ejecutar y probar PreventivTestPro
Espacio en disco--Se recomienda al menos 10 GB de espacio libre en disco para registros, informes y artefactos de prueba
DockerDocker Inc.27 (https://docs.docker.com/desktop/setup/install/windows-install/) Utilizado para la contenedorización para asegurar la reproducibilidad en entornos
GitGit SCMgit versión 2.45.2.windows.1Sistema de control de versiones utilizado para el desarrollo y la colaboración
Repositorio GitHubGitHubhttps://github.com/sohambpatel/PreventativeTestsRepositorio público que contiene código fuente, documentación, conjuntos de datos y ejemplos
Google ChromeGoogle140.0.7339.128Navegador principal utilizado para monitorización y pruebas sintéticas
JavaOracle / OpenJDK21.0.2Utilizado para el desarrollo de software y la ejecución de PreventivTestPro
Sistema operativoPlataforma independiente-La herramienta funciona en cualquier sistema operativo con Java y Maven instalados (Windows, Linux, macOS)
OWASP ZAPFundación OWASP2.14.0Herramienta de escaneo de seguridad y detección de vulnerabilidades
Procesador--Se recomienda Intel i5 o superior (o equivalente) para ejecución paralela y procesamiento de IA
RAM--Se recomienda un mínimo de 8 GB de RAM para realizar pruebas y monitorización mediante navegador

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. A novel approach to multiple criteria based test case prioritization. Abid, R., Nadeem, A. 2017 13th International Conference on Emerging Technologies (ICET), Islamabad, Pakistan, , (2017).
  2. Khatibsyarbini, M., Isa, M. A., Jawawi, D. N., Tumeng, R. Test case prioritization approaches in regression testing: A systematic literature review. Inf Softw Technol. 93, 74-93 (2017).
  3. Enhanced weighted method for test case prioritization in regression testing using unique priority value. Ammar, A., Baharom, S., Ghani, A. A. A., Din, J. 2016 International Conference on Information Science and Security (ICISS), Pattaya, Thailand, , (1109).
  4. Using artificial bee colony for code coverage based test suite prioritization. Konsaard, P., Ramingwong, L. 2015 2nd International Conference on Information Science and Security (ICISS), Seoul, Korea, 10, Forthcoming.
  5. Rosero, R. H., Gómez, O. S., Rodríguez, G. Regression testing of database applications under an incremental software development setting. IEEE Access. 5, 18419-18428 (2017).
  6. Customer Service Expectations 2018. , Gladly. Available at: https://www.gladly.com/blog/2018-customer-service-expectations-survey/ (2018).
  7. Must-Know Customer Service Statistics. , Khoros. Available at: https://khoros.com/blog/must-know-customer-service-statistics (2025).
  8. State of the Connected Customer, 4th Ed. , Salesforce. Available at: https://c1.sfdcstatic.com/content/dam/web/en_us/www/documents/research/salesforce-state-of-the-connected-customer-4th-ed.pdf (2025).
  9. Customer Acquisition Study. , HubSpot. Available at: https://blog.hubspot.com/service/customer-acquisition-study (2025).
  10. IT Ticket Handling Best Practices. , Ivanti. Available at: https://www.ivanti.com/blog/it-ticket-handling-best-practices (2025).
  11. Patel, S., Patil, K., Chumchu, P. Quantitative data set on test prioritization and preventative tests. Mendeley Data. V2, (2023).
  12. State of Software Quality Report 2024. , Katalon. Available at: https://katalon.info/hubfs/download-content/ebook/State%20of%20Software%20Quality%20Report%202024.pdf (2025).
  13. Patel, S., Patil, K., Chumchu, P. OBSERVER: Observing Browser Synthetic Environments for Robotization, Verification, Efficiency, and Resilience. Softw Impacts. 24, 100752(2025).
  14. Patel, S., Patil, K., Chumchu, P. Comparative analysis of software solutions for preventative testing and test prioritization. Mendeley Data. V2, (2024).
  15. Intro to Synthetic Monitoring . , New Relic. Available at: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/using-monitors/intro-synthetic-monitoring (2025).
  16. Observability Glossary. , SolarWinds. Available at: https://www.solarwinds.com/resources/it-glossary/observability (2025).
  17. Patel, S., Patil, K., Chumchu, P. BHRAMARI: Bug driven highly reusable automated model for automated test bed generation and integration. Softw Impacts. 21, 100687(2024).
  18. Failure identification from unstable log data using deep learning. Bogatinovski, J., Nedelkoski, S., Wu, L., Cardoso, J., Kao, O. 2022 22nd IEEE International Symposium on Cluster, Cloud and Internet Computing (CCGrid), Taormina, Italy, , (2022).
  19. Creating test cases for testing software using anonymized log data. U.S. Patent. , US11709764B2. USPTO (2023).
  20. Towards test architecture based software product line testing. Lee, J., Kang, S. 2014 IEEE 38th Annual Computer Software and Applications Conference (COMPSAC), Vasteras, Sweden, , (2014).
  21. QEX: Automated testing observability and QA developer experience framework. Locke, H. L., Ting Keshia, Y. K., Yu, J. C. K., Chua, H. Y. 2023 IEEE Conference on Software Testing, Verification and Validation (ICST), Dublin, Ireland, , (1109).
  22. Intelligent testing in software industry. Lal, A., Kumar, G. 2021 12th International Conference on Computing Communication and Networking Technologies (ICCCNT), Kharagpur, India, , (2021).
  23. Instrumenting contracts with aspect-oriented programming to increase observability and support debugging. Briand, L. C., Dzidek, W. J., Labiche, Y. 2005 21st IEEE International Conference on Software Maintenance (ICSM), Budapest, Hungary, , (1109).
  24. An empirical analysis of blind tests. Baral, K., Offutt, J. 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), Porto, Portugal, , (1109).
  25. Rott, J. Test intelligence: How modern analyses and visualizations in Teamscale support software testing. 2022 1st International Workshop on Visualization in Testing of Hardware, Software, and Manufacturing (TestVis), Oklahoma City, OK, USA, , (2022).
  26. Collins, E. F., de Lucena, V. F. Software test automation practices in agile development environment: An industry experience report. 2012 7th International Workshop on Automation of Software Test (AST), Zurich, Switzerland, , (2012).
  27. BugSwarm: Mining and continuously growing a dataset of reproducible failures and fixes. Tomassi, D. A., Dmeiri, N., Wang, Y., Bhowmick, A., Liu, Y. C., Devan, P. T. 2019 IEEE/ACM International Conference on Software Engineering (ICSE), Montreal, Canada, , (2019).
  28. Towards combining functional requirements tests and unit tests as a preventive practice against software defects. Dudila, R., Letia, I. A. 2013 International Conference on Control Systems and Computer Science (ICCP), Sinaia, Romania, , (2013).
  29. Fushihara, Y., Aman, H., Amasaki, S., Yokogawa, T., Kawahara, M. A trend analysis of test smells in Python test code over commit history. 2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Durres, Albania, , (2023).
  30. SUPERNOVA: Automating test selection and defect prevention in AAA video games using risk-based testing and machine learning. Senchenko, A., Patterson, N., Samuel, H., Ispir, D. 2022 IEEE Conference on Software Testing, Verification and Validation (ICST), Valencia, Spain, , (2022).
  31. A software maintenance methodology: An approach applied to software aging. Araujo, J., Melo, C., Oliveira, F., Pereira, P., Matos, R. 2021 IEEE International Systems Conference (SysCon), Vancouver, BC, Canada, , Forthcoming.
  32. Mutual Automobile Insurance Company. Mutation Testing in Parallel Threads. U.S. Patent. , US11163675B1. USPTO (2021).
  33. Machine learning-based decision-making for autonomous systems communication. U.S. Patent. , US11366748B1. USPTO (2022).
  34. Use sequential set index for root cause location and problem detection. U.S. Patent. Huo, Z. P., et al. , US11645142B1. USPTO (2023).
  35. Selenium WebDriver. , Selenium. https://www.selenium.dev (2025).
  36. The Katalon Platform. , Katalon. Available from: https://katalon.com (2025).
  37. Apache JMeter. , Apache Software Foundation. Available from: https://jmeter.apache.org (2024).
  38. OWASP ZAP (Zed Attack Proxy). , OWASP Foundation. Available from: https://www.zaproxy.org/ (2025).
  39. Xray by Xpand IT. Xray - Test Management for Jira. , Xray. Available from: https://www.getxray.app (2025).
  40. Tricentis Copilot. , Tricentis. Available from: https://www.tricentis.com/products/copilot/ (2025).
  41. SmartQ Tech Products. , SmartQ Technologies. Available from: https://www.thesmartq.com/smartq-tech-products/ (2025).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Hybrid TestingObservability AutomationGenerative AI TestingSoftware Quality EngineeringTest OrchestrationBlack Box TestingWhite Box TestingLog AnalysisRegression CoverageAnomaly Detection

Related Articles