Cobertura de código con IA

Rate this content
Bookmark
  • En esta demostración rápida mostraré cómo Codium, una herramienta generativa de IA de vanguardia, está revolucionando la integridad del código. Demostraremos la capacidad de Codium para generar pruebas Mocha útiles, tomadas de un repositorio público y destacaremos la integración perfecta. Puedes ver a Codium transformando escenarios de prueba complejos en información accionable, impulsando la cobertura de código hacia adelante. ¡Únete a nosotros para un vistazo perspicaz al futuro de las pruebas automatizadas donde la velocidad se encuentra con la calidad!

FAQ

Codium es un asistente de IA generativo que se integra en tu entorno de desarrollo integrado (IDE), como VS Code o la suite de JetBrains. Ofrece funciones como generación de pruebas, explicación de código y colaboración mejorada, ayudando a automatizar tareas como las solicitudes de extracción.

PR Agent es un proyecto de código abierto de Codium que ayuda a gestionar mensajes de commit, revisiones de PR y descripciones, facilitando la automatización de estas tareas. Es gratuito y compatible con plataformas como GitHub, GitLab, Bitbucket, Azure DevOps y CodeCommit.

Codium permite generar pruebas automatizadas que pueden mejorar la cobertura de código. Puedes especificar ciertos métodos o líneas de código y Codium generará pruebas pertinentes, incluso utilizando pruebas existentes como referencia para generar nuevas pruebas.

Puedes obtener soporte y comunicarte con el equipo de Codium a través de su canal de Discord. Jaap, mencionado en la presentación, es el único con ese nombre en el canal, facilitando su localización para cualquier consulta directa.

Sí, Codium puede generar pruebas específicamente para errores como el 404 y 500. La herramienta analiza el comportamiento del código y genera pruebas que cubren estos escenarios, ayudando así a mejorar la cobertura de pruebas en el código.

Codium no solo genera pruebas, sino que también ofrece la capacidad de mejorar y refactorizar código. La IA proporciona sugerencias de mejora y permite al usuario aceptar o rechazar estos cambios, facilitando la optimización del código de manera eficiente.

Jaap Brasser
Jaap Brasser
8 min
07 Dec, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Codium es un asistente generativo de IA para el desarrollo de software que ofrece explicación de código, generación de pruebas y características de colaboración. Puede generar pruebas para una API de GraphQL en VS Code, mejorar la cobertura de código e incluso documentar pruebas. Codium permite analizar líneas de código específicas, generar pruebas basadas en las existentes y responder preguntas relacionadas con el código. También puede proporcionar sugerencias para mejorar el código, ayudar con la refactorización del código y asistir en la redacción de mensajes de commit.

Available in English: Code coverage with AI

1. Introducción a Codium y Demo

Short description:

Hola, bienvenidos a todos. Soy Jaap de los Países Bajos, representando a Codium. Ofrecemos un asistente de IA generativo que se integra con tu IDE, proporcionando generación de pruebas, explicación de código y características de colaboración. Nuestro proyecto de código abierto, PR Agent, automatiza los mensajes de commit, las revisiones de PR y las descripciones. Vamos a sumergirnos en una demostración de las capacidades de Codium generando pruebas para una API de GraphQL en VS Code. Podemos configurar el marco de pruebas, las bibliotecas y el número de pruebas a generar. También podemos agregar indicaciones y usar pruebas existentes como ejemplos. Con Codium, podemos generar pruebas e incluso documentarlas. Vamos a abordar la cobertura de código para el servidor de API REST de Express utilizando Codium.

Hola, bienvenidos a todos. Mi nombre es Jaap, y como probablemente puedan notar, no soy de por aquí. Estoy basado en los Países Bajos. Un poco sobre mí, sobre cómo pueden conectarse conmigo, pero vamos a entrar en materia y hablar sobre las cosas increíbles que hacemos en Codium y cómo podemos facilitarles la vida.

Lo que ofrece Codium es que somos un asistente de IA generativo que se integra en tu IDE. Puede ser VS Code, puede ser la suite de JetBrains, y ofrece generación de pruebas, explicación de código, algunas características de colaboración como ya no tener que escribir tus propias solicitudes de extracción. Y también tenemos un proyecto de código abierto que se llama PR Agent. Así que PR Agent también tiene esa funcionalidad. Es completamente gratuito para usar. La URL está listada allí. Y puedes ejecutarlo como una acción de GitHub o alojarlo tú mismo, puede conectarse a tres de ellos listados aquí, GitHub, GitLab, Bitbucket, pero también funciona con Azure DevOps, CodeCommit, y estoy olvidando algunos otros. Así que si no te gusta escribir tus propios mensajes de commit, hacer tus propias revisiones de PR y escribir tus descripciones, PR Agent es una buena herramienta de código abierto que tenemos en Codium.

Y con eso, me gustaría pasar a una demostración. Y opté por el enfoque fácil, cero fallos en la demo. Así que voy a sumergirme en un par de capturas de pantalla aquí que muestran algunas de las capacidades que tenemos. Y para hacerlo, vamos a echar un vistazo a este repositorio. Así que este repositorio Mocha con un montón de aplicaciones de demostración. Y vamos a echar un vistazo a esta API de GraphQL. Y vamos a ver si podemos generar algunas pruebas con ella y mostrar cómo es la interfaz de Codium. Así que esto es en VS Code. Y como pueden ver, hay una serie de cosas que podemos configurar aquí. Así que podemos seleccionar el marco de pruebas, podemos seleccionar bibliotecas adicionales, podemos establecer cuántas pruebas queremos generar, también podemos añadir indicaciones. Y si ya tienes pruebas existentes, también puedes dar un ejemplo de prueba de referencia que podemos usar como base para generar esas pruebas. Así que lo que podemos ver aquí es que he generado una prueba. Y pensé, bueno, sería bueno si la prueba también estuviera documentada. Así que doy una indicación, añado una cadena de documentación. Y luego podemos ver que también añadió una cadena de documentación a la prueba. A continuación, ejecuté la cobertura de código para este repositorio. Y identifiqué que el servidor de API REST de Express no tenía suficiente cobertura de código. Así que vamos a ver cómo podemos solucionar esto usando Codium.

2. Explicación de Código y Generación de Pruebas

Short description:

Aquí está el código con el que estamos trabajando. Las líneas 16, 21 y 22 no están cubiertas por la cobertura de código. La explicación del código proporciona un resumen, un ejemplo de uso y un flujo. Codium permite analizar métodos, funciones o líneas específicas. Podemos añadir más pruebas utilizando las pruebas existentes como referencia. Podemos seleccionar comportamientos apropiados y generar pruebas. Generamos una prueba para el error 404, lo que mejoró la cobertura de código. Al solicitar a la IA de Codium, se generó una prueba para el código de error 500. Podemos regenerar resultados y utilizar comandos de chat.

Así que aquí está el código con el que estamos trabajando. Voy a retroceder uno. También podemos ver los números de línea aquí. Así que nos referiremos a eso cuando estemos mirando el código fuente. Así que podemos ver que la línea número 16, el 404, no estaba cubierta con la cobertura de código, según la cobertura de código. Y también las 21 y 22. Así que un error de servidor tampoco estaba cubierto.

Para entender mejor cómo podemos generar estas pruebas, podemos echar un vistazo a la explicación del código. Así que da un resumen. Da un ejemplo de uso, y también el flujo de cómo funciona este fragmento de código. Así que en este caso, estamos mirando un solo archivo. Pero con Codium, también puedes especificar un método específico, una función específica, o un número de líneas seleccionadas que quieres analizar o generar pruebas para ellas o crear cadenas de documentación para ellas.

Así que a continuación, podemos ver la prueba existente. Y lo que vamos a hacer, porque ya tenemos pruebas existentes que cubren la parte principal del comportamiento, vamos a hacer clic en el botón que dice, añadir más pruebas. Así que generaremos pruebas, y utilizaremos las pruebas existentes como referencia para generar esas pruebas. Y podemos ver que tenemos un análisis de comportamiento de esta función. Esta es una función bastante simple. Así que no todos estos comportamientos tienen sentido completo, pero esa es la idea. Puedes seleccionar los que creas que son apropiados y luego generar pruebas para ellos. También tenemos la opción de generar las pruebas nosotros mismos.

Así que en este caso, generamos la prueba para el error 404. Y después de añadir eso al repositorio, volviendo a ejecutar la cobertura de código, podemos ver que ahora la línea número 16 también está cubierta. Así que genial. Sin embargo, no había ninguna prueba para el código de error 500. Y tampoco había ningún comportamiento para eso. Así que pedí a la IA de Codium que generara la prueba para el código de error 500. Y de esa manera también puedes generar esas pruebas. Y para cualquiera de los resultados que generamos, podemos hacer clic en regenerar para ver qué tipo de para que genere nuevo código. Podemos hacer solicitudes para mejorar el código y para guiarlo hacia el objetivo final. Y también tenemos integrados una serie de comandos de chat.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Construyendo un Asistente AI Activado por Voz con Javascript
JSNation 2023JSNation 2023
21 min
Construyendo un Asistente AI Activado por Voz con Javascript
Top Content
En esta charla, construiremos nuestro propio Jarvis utilizando Web APIs y langchain. Habrá codificación en vivo.
IA y Desarrollo Web: ¿Hype o Realidad?
JSNation 2023JSNation 2023
24 min
IA y Desarrollo Web: ¿Hype o Realidad?
En esta charla, echaremos un vistazo a la creciente intersección entre la IA y el desarrollo web. Hay mucho revuelo en torno a los posibles usos de la IA en la escritura, comprensión y depuración de código, y su integración en nuestras aplicaciones se está volviendo más fácil y asequible. Pero también hay preguntas sobre el futuro de la IA en el desarrollo de aplicaciones y si nos hará más productivos o nos quitará nuestros trabajos.
Hay mucha emoción, escepticismo y preocupación sobre el aumento de la IA en el desarrollo web. Exploraremos el verdadero potencial de la IA en la creación de nuevos marcos de desarrollo web y separaremos los hechos de la ficción.
Entonces, si estás interesado en el futuro del desarrollo web y el papel de la IA en él, esta charla es para ti. Ah, y este resumen de la charla fue escrito por IA después de que le diera algunos de mis pensamientos no estructurados.
El Ascenso del Ingeniero de IA
React Summit US 2023React Summit US 2023
30 min
El Ascenso del Ingeniero de IA
Estamos observando un cambio generacional hacia la derecha en la aplicación de la IA, impulsado por las capacidades emergentes y la disponibilidad de modelos de fundación de código abierto/API. Una amplia gama de tareas de IA que solían requerir 5 años y un equipo de investigación para lograr en 2013, ahora sólo requieren documentación de API y una tarde libre en 2023. Las capacidades emergentes están creando un nuevo título: para manejarlas, tendremos que ir más allá del Ingeniero de Prompts y escribir *software*. ¡Exploremos la amplia gama de nuevas oportunidades en la era del Software 3.0!
Aplicaciones Web del Futuro con Web AI
JSNation 2024JSNation 2024
32 min
Aplicaciones Web del Futuro con Web AI
La IA está en todas partes, pero ¿por qué deberías preocuparte como desarrollador web? Únete a Jason Mayes, líder de Web AI en Google, quien te pondrá en el camino desmitificando la terminología común para asegurarse de que nadie se quede atrás, y luego te guiará a través de algunos de los últimos modelos de aprendizaje automático, herramientas y frameworks que puedes utilizar directamente en el navegador a través de JavaScript para ayudarte a dar vida a tus ideas creativas de aplicaciones web para casi cualquier industria en la que estés trabajando. Al mover la IA al lado del cliente, no hay dependencia del servidor después de la carga de la página, lo que te brinda beneficios como privacidad, baja latencia, soluciones sin conexión y costos más bajos, que serán de creciente importancia a medida que se desarrolle el campo. Esta charla es adecuada para todos los curiosos de la web y el aprendizaje automático, así que ven y aprende algo nuevo para agregar a tu conjunto de herramientas de ingeniería web para 2024.
Construyendo la IA para Athena Crisis
JS GameDev Summit 2023JS GameDev Summit 2023
37 min
Construyendo la IA para Athena Crisis
Esta charla se adentrará en cómo construir una IA para un juego de estrategia por turnos desde cero. Cuando comencé a construir Athena Crisis, no tenía idea de cómo construir una IA. Todos los recursos disponibles eran demasiado complejos o confusos, así que simplemente comencé a construirlo basándome en cómo jugaría el juego. ¡Si quieres aprender cómo construir una IA, no te pierdas esta charla!

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
React Advanced Conference 2023React Advanced Conference 2023
98 min
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
Top Content
Workshop
Richard Moss
Richard Moss
En esta masterclass daremos un recorrido por la IA aplicada desde la perspectiva de los desarrolladores de front end, enfocándonos en las mejores prácticas emergentes cuando se trata de trabajar con LLMs para construir grandes productos. Esta masterclass se basa en los aprendizajes obtenidos al trabajar con la API de OpenAI desde su debut en noviembre pasado para construir un MVP funcional que se convirtió en PowerModeAI (una herramienta de creación de ideas y presentaciones orientada al cliente).
En la masterclass habrá una mezcla de presentación y ejercicios prácticos para cubrir temas que incluyen:
- Fundamentos de GPT- Trampas de los LLMs- Mejores prácticas y técnicas de ingeniería de prompts- Uso efectivo del playground- Instalación y configuración del SDK de OpenAI- Enfoques para trabajar con la API y la gestión de prompts- Implementación de la API para construir una aplicación orientada al cliente potenciada por IA- Ajuste fino y embeddings- Mejores prácticas emergentes en LLMOps
Construyendo tu Aplicación de IA Generativa
React Summit 2024React Summit 2024
82 min
Construyendo tu Aplicación de IA Generativa
WorkshopFree
Dieter Flick
Dieter Flick
La IA generativa está emocionando a los entusiastas de la tecnología y a las empresas con su vasto potencial. En esta sesión, presentaremos Retrieval Augmented Generation (RAG), un marco que proporciona contexto a los Modelos de Lenguaje Grande (LLMs) sin necesidad de volver a entrenarlos. Te guiaremos paso a paso en la construcción de tu propia aplicación RAG, culminando en un chatbot completamente funcional.
Conceptos Clave: IA Generativa, Retrieval Augmented Generation
Tecnologías: OpenAI, LangChain, AstraDB Vector Store, Streamlit, Langflow
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
JSNation 2024JSNation 2024
108 min
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
Workshop
Roy Derks
Shivay Lamba
2 authors
Hoy en día, todos los desarrolladores están utilizando LLMs en diferentes formas y variantes, desde ChatGPT hasta asistentes de código como GitHub CoPilot. Siguiendo esto, muchos productos han introducido capacidades de IA integradas, y en este masterclass haremos que los LLMs sean comprensibles para los desarrolladores web. Y nos adentraremos en la codificación de tu propia aplicación impulsada por IA. No se necesita experiencia previa en trabajar con LLMs o aprendizaje automático. En su lugar, utilizaremos tecnologías web como JavaScript, React que ya conoces y amas, al mismo tiempo que aprendemos sobre algunas nuevas bibliotecas como OpenAI, Transformers.js
Deja que la IA sea tu Documentación
JSNation 2024JSNation 2024
69 min
Deja que la IA sea tu Documentación
Workshop
Jesse Hall
Jesse Hall
Únete a nuestro masterclass dinámico para crear un portal de documentación impulsado por IA. Aprende a integrar ChatGPT de OpenAI con Next.js 14, Tailwind CSS y tecnología de vanguardia para ofrecer soluciones de código e resúmenes instantáneos. Esta sesión práctica te equipará con el conocimiento para revolucionar la forma en que los usuarios interactúan con la documentación, convirtiendo las búsquedas tediosas en descubrimientos eficientes e inteligentes.
Aspectos destacados:
- Experiencia práctica en la creación de un sitio de documentación impulsado por IA.- Comprensión de la integración de la IA en las experiencias de usuario.- Habilidades prácticas con las últimas tecnologías de desarrollo web.- Estrategias para implementar y mantener recursos de documentación inteligente.
Tabla de contenidos:- Introducción a la IA en la documentación- Configuración del entorno- Construcción de la estructura de documentación- Integración de ChatGPT para documentación interactiva
Masterclass: Qué son y cómo aprovechar los LLMs
React Summit 2024React Summit 2024
66 min
Masterclass: Qué son y cómo aprovechar los LLMs
Workshop
Nathan Marrs
Haris Rozajac
2 authors
Únete a Nathan en esta sesión práctica donde primero aprenderás a alto nivel qué son los modelos de lenguaje grandes (LLMs) y cómo funcionan. Luego sumérgete en un ejercicio de codificación interactivo donde implementarás la funcionalidad de LLM en una aplicación de ejemplo básica. Durante este ejercicio, adquirirás habilidades clave para trabajar con LLMs en tus propias aplicaciones, como la ingeniería de indicaciones y la exposición a la API de OpenAI.
Después de esta sesión, tendrás una idea de qué son los LLMs y cómo se pueden utilizar prácticamente para mejorar tus propias aplicaciones.
Tabla de contenidos:- Demostración interactiva de la implementación de funciones básicas impulsadas por LLM en una aplicación de demostración- Discutir cómo decidir dónde aprovechar los LLMs en un producto- Lecciones aprendidas sobre la integración con OpenAI / descripción general de la API de OpenAI- Mejores prácticas para la ingeniería de indicaciones- Desafíos comunes específicos de React (gestión de estado :D / buenas prácticas de UX)