QUE ES
El auge del progreso de software agente significa que el código se escribe, revisa y envía más rápido que nunca en toda la industria. Además significa que los marcos de prueba deben cambiar para adaptarse a este panorama que cambia rápidamente. Un progreso más rápido exige pruebas más rápidas que puedan detectar errores a medida que llegan a una pulvínulo de código, sin requerir actualizaciones ni mantenimiento periódicos.
Pruebas exacto a tiempo (JiTTests) son un enfoque fundamentalmente novedoso para las pruebas en el que las pruebas se generan automáticamente mediante grandes modelos de idioma (LLM) sobre la marcha para detectar errores, incluso aquellos que las pruebas tradicionales podrían no detectar, exacto a tiempo ayer de que el código entre en producción.
Una prueba de JiTT atrapante se centra específicamente en encontrar regresiones introducidas por un cambio de código. Este tipo de pruebas reinventa décadas de teoría y maña de pruebas de software. Mientras que las pruebas tradicionales se basan en conjuntos de pruebas estáticas, creación manual y mantenimiento continuo, Catching JiTTests no requiere mantenimiento de pruebas ni revisión del código de prueba, lo que significa que los ingenieros pueden centrar su experiencia en errores reales, no en falsos positivos. Los JiTTests de captura utilizan técnicas sofisticadas para maximizar el valencia de la señal de prueba y minimizar la resistor a falsos positivos, apuntando a las señales de prueba donde más importan: en fallas graves.
CÓMO FUNCIONAN TRADICIONALMENTE LAS PRUEBAS
Según el pauta tradicional, las pruebas se crean manualmente a medida que el nuevo código llega a una pulvínulo de código y se ejecuta continuamente, lo que requiere actualizaciones y mantenimiento periódicos. Los ingenieros que construyen estas pruebas enfrentan el desafío de tener que realizar el comportamiento, no solo del código coetáneo, sino de todos los posibles cambios futuros. La incertidumbre inherente sobre cambios futuros da como resultado pruebas que no detectan nadie o, cuando lo hacen, es un embustero positivo. El progreso agente aumenta drásticamente el ritmo del cambio de código, lo que sobrecarga la carga de progreso de pruebas y aumenta el costo de los falsos positivos y el mantenimiento de las pruebas hasta un punto remate.
CÓMO FUNCIONA LA CAPTURA DE JITTESTS
En términos generales, los JiTTests son pruebas personalizadas, adaptadas a un cambio de código específico, que brindan a los ingenieros comentarios simples y prácticos sobre cambios de comportamiento inesperados sin la menester de analizar o escribir código de prueba. Los LLM pueden suscitar JiTTests automáticamente en el momento en que se envía una solicitud de linaje. Y hexaedro que el JiTTest en sí es generado por LLM, a menudo puede inferir la intención plausible de un cambio de código y aparentar posibles fallas que pueden resultar de ello.
Si se comprende la intención, Catching JiTTests puede compendiar significativamente los casos de falsos positivos.
Estos son los pasos esencia del proceso Catching JiTTest:
- El nuevo código llega al código pulvínulo.
- El sistema infiere la intención del cambio de código.
- crea mutantes (versiones de código con fallas insertadas deliberadamente) para aparentar lo que podría salir mal.
- Genera y ejecuta pruebas para detectar esas fallas.
- Conjuntos de evaluadores basados en reglas y LLM centran la señal en verdaderos fracasos positivos.
- Los ingenieros reciben informes claros y relevantes sobre cambios inesperados exacto cuando más importa.
POR QUÉ IMPORTA
Catching JiTTests está diseñado para el mundo del progreso de software agente impulsado por IA y acelera las pruebas centrándose en errores inesperados graves. Con ellos, los ingenieros ya no tienen que consagrar tiempo a escribir, revisar y probar códigos de prueba complejos. La captura de JiTTests, por diseño, elimina muchos de los problemas de las pruebas tradicionales de un solo sorpresa:
- Se generan sobre la marcha para cada cambio de código y no residen en el código pulvínulo, lo que elimina los costos de mantenimiento continuo y transfiere el esfuerzo de los humanos a las máquinas.
- Se adaptan a cada cambio, lo que los hace más sólidos y menos propensos a zanjar conveniente a las actualizaciones previstas.
- Se adaptan automáticamente a medida que cambia el código.
- Sólo requieren revisión humana cuando verdaderamente se detecta un error.
Todo esto equivale a un cambio importante en la infraestructura de pruebas, donde el enfoque pasa de la calidad del código genérico a si una prueba verdaderamente encuentra fallas en un cambio específico sin suscitar un embustero positivo. Ayuda a mejorar las pruebas en caudillo y al mismo tiempo le permite mantenerse al día con el ritmo de la codificación agente.
LEER EL DOCUMENTO