Performance Testing Is Hard. Can AI Help?

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

El teléfono Android más vendido en 2023 es 8 veces menos potente que dispositivos de gama alta como el Pixel 8. Esta brecha destaca un punto ciego común entre los desarrolladores de Android: a menudo usamos dispositivos potentes y no necesariamente detectamos problemas de rendimiento en nuestras aplicaciones.

Sin embargo, las pruebas de rendimiento tradicionales a menudo se consideran una tarea engorrosa y que consume mucho tiempo, lo que lleva a muchos a omitirlas en favor de lanzar nuevas funciones.
Pero, ¿y si hubiera una manera de simplificar este proceso, haciendo que las pruebas de rendimiento sean tan sencillas como ejecutar un solo comando?

Esta charla presenta cómo podemos hacer realidad este sueño: ¡usando AI para explorar automáticamente nuestra aplicación y combinándola con las herramientas adecuadas de medición de rendimiento, podemos obtener auditorías de calidad automatizadas de nuestras aplicaciones!

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Alexandre Moureaux
Alexandre Moureaux
30 min
25 Oct, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Hola a todos, quiero compartir una historia sobre mi experiencia como desarrollador junior trabajando con un cliente que tenía estándares técnicos estrictos. Requerían un alto rendimiento para aplicaciones web y móviles, pero carecían de una forma medible de determinar el rendimiento. Para abordar esto, creé una herramienta llamada Flashlight, similar a Lighthouse, que mide el rendimiento de aplicaciones móviles. Flashlight proporciona puntuaciones de rendimiento y puede ejecutar pruebas de extremo a extremo para explorar la aplicación. El sueño del orador es tener una manera fácil de determinar el rendimiento de la aplicación sin pruebas extensas. Usar AI para automatizar la tediosa tarea de explorar una aplicación es la propuesta del orador. El orador explica que el repositorio para la herramienta de exploración de aplicaciones es de código abierto y se compartirá más tarde. La herramienta requiere ejecutar comandos, como iniciar sesión y realizar una búsqueda. La herramienta AI ayuda a identificar problemas de rendimiento, sugiere usar React DevTools para depurar y recomienda usar FlashList en lugar de FlatList en React Native. La AI puede continuar después de que ocurran errores, y controlar la finalización de objetivos de la AI se puede lograr agregando un humano u otro agente administrador de AI en el bucle. La AI en las pruebas de extremo a extremo está ganando popularidad, con empresas lanzando herramientas de prueba basadas en AI. El objetivo es automatizar la exploración de aplicaciones usando AI y asegurar verificaciones de calidad para rendimiento, accesibilidad y seguridad. La AI puede ayudar a los ingenieros de QA automatizando tareas repetitivas y permitiéndoles enfocarse en aspectos más importantes. El costo de realizar un caso de prueba usando el modelo 4.0 Mini suele ser menos de un centavo. Las pruebas de AI con Flashlight aún son experimentales, pero la parte no AI es confiable. Las mejoras futuras incluyen ejecución en CI e iteración fácil en múltiples proyectos.

1. Introduction to Flashlight Tool

Short description:

Hola a todos, quiero compartir una historia sobre mi experiencia como desarrollador junior trabajando con un cliente que tenía estándares técnicos estrictos. Requerían un alto rendimiento para aplicaciones web y móviles, pero carecían de una forma medible de determinar el rendimiento. Para abordar esto, creé una herramienta llamada Flashlight, similar a Lighthouse, que mide el rendimiento de las aplicaciones móviles. Flashlight proporciona puntuaciones de rendimiento y puede ejecutar pruebas de extremo a extremo para explorar la aplicación. Aunque hemos hecho un progreso significativo en las pruebas de rendimiento móvil, todavía hay margen de mejora, especialmente en el área específica de las pruebas de extremo a extremo.

Hola a todos, solo quiero señalar rápidamente que si no eres un desarrollador de React Native, en realidad muchas ideas en esta charla aún se aplicarán a ti, así que por favor no salgas de la sala todavía.

Pero, bien, pensé que comenzaría con una breve historia. Así que hace varios años, de hecho, cuando yo mismo era un desarrollador junior con, bueno, probablemente más cabello en mi cabeza, jaja, trabajé con un cliente y tenían una experiencia técnica realmente fuerte. Pensé, sabes, voy a aprender mucho de ese cliente. Y tenían estándares técnicos para todo, requisitos técnicos, estándares de calidad, para todo en el proyecto. Y sobre el tema del rendimiento, por ejemplo, estábamos construyendo una aplicación web y una aplicación móvil para ellos.

Y así en la web, nos pidieron tener más de 90 en el núcleo de Lighthouse en el escritorio para cada página web. Así que estoy seguro de que probablemente estés familiarizado con Lighthouse, pero por si acaso, Lighthouse, por supuesto, es una herramienta dentro de Google Chrome. Puedes ir a cualquier página web, solo unos pocos clics y obtienes un informe de rendimiento para cualquier página web que desees. Y creo que, sabes, es bastante genial. Así que siendo yo mismo un joven desarrollador de aplicaciones móviles y un poco, ya sabes, ya interesado en el rendimiento, estaba como, tengo mucha curiosidad por lo que van a decir sobre cuál es su estándar para el rendimiento móvil. Y así nos dieron el requisito y simplemente dijeron como, oh, la aplicación no debería tener retrasos, lo cual, bueno, ya sabes, fue un poco decepcionante. Y pensé, OK, en realidad no tenemos una buena manera científica medible de saber si mi aplicación, si nuestras aplicaciones tienen un buen rendimiento o no.

Y así soy Alex, y así es como me convertí en el experto en rendimiento de aplicaciones en Theodore Apps, anteriormente conocido como BAM. Y construí una herramienta llamada Flashlight, que pretende ser un Lighthouse móvil. La broma es que Flashlight es como Lighthouse, un Lighthouse móvil. Y puedes medir el rendimiento localmente o también puedes ir al sitio web, flashlight.dev, subir una aplicación de Android y obtienes una puntuación de rendimiento de ella. Bien. Así que pensé que eso ya era bastante genial y acercándome mucho al sueño de Lighthouse para aplicaciones móviles. Pero había una gran advertencia. Por defecto, solo obtendrías la puntuación de rendimiento del inicio de tu aplicación, que es, ya sabes, si la primera página en tu aplicación es una página de inicio de sesión, obtienes la puntuación de rendimiento para la página de inicio de sesión y bueno, ya sabes, eso no es fantástico.

Así que pensé, OK, podemos mejorar eso con una prueba de extremo a extremo. Así que hay una manera en el sitio web o incluso tener un CLI para simplemente pasar una prueba de extremo a extremo y Flashlight en la nube. En realidad, se ejecuta en un dispositivo Android de gama baja real. Ejecutaría esas pruebas varias veces y simplemente exploraría la aplicación gracias a la prueba de extremo a extremo que escribiste. Y así llegamos al punto de construir paneles de regresión de rendimiento para algunos de nuestros proyectos, siendo capaces de detectar regresiones de rendimiento y todo. Y así, eso es, bueno, eso es un gran avance aquí. Todavía tenemos muchas mejoras y se siente como si hubiéramos hecho las pruebas de rendimiento móvil de extremo a extremo lo más fácil posible. Así que ¿cuál es el problema entonces? ¿Por qué estoy hablando contigo ahora? ¿Cuál es el truco? Y creo que, bueno, el problema probablemente sea con el extremo a extremo, porque el extremo a extremo sigue siendo un poco nicho. Hablas sobre la pirámide de pruebas.

2. Challenges of End-to-End Testing

Short description:

Las pruebas de rendimiento móvil de extremo a extremo son un área de nicho. Aunque escribir las pruebas puede ser sencillo, hay varios problemas. Las pruebas pueden romperse fácilmente, especialmente cuando se trata de elementos como anuncios o banners de cookies. Mantener las pruebas e invertir tiempo en escribirlas puede ser un desafío. El sueño del orador es tener una manera fácil de determinar el rendimiento de la aplicación sin pruebas extensas.

Normalmente es algo que no haces mucho. Y así, las pruebas de rendimiento móvil de extremo a extremo, esto es realmente un nicho. Y escribir una prueba, escribir una prueba, una prueba de extremo a extremo para móviles puede ser tan simple como esto hoy en día. Este es un ejemplo de una prueba de maestro. En solo unos minutos realmente puedes completar fácilmente una prueba de extremo a extremo. Es realmente genial. Hemos hecho mucho progreso. Y sin embargo, hay varios problemas con eso. Por ejemplo, la prueba de extremo a extremo puede romperse fácilmente. Por ejemplo, he trabajado con algunos proyectos, tenían anuncios apareciendo en el feed de inicio, por ejemplo, de manera aleatoria. Y así, si tienes una prueba de extremo a extremo para eso, necesitas tener en cuenta que el anuncio podría aparecer y necesitas cerrar el anuncio. O si tienes un banner de cookies o lo que sea. Y eso termina siendo un poco molesto. Y eso termina siendo un poco complicado de mantener. Y también, para ser honesto, como todo mi sueño en primer lugar era ser como, quiero subir mi aplicación y tener algo que me diga que mi aplicación tiene buen rendimiento o que mi aplicación no tiene buen rendimiento. Y así, incluso si es realmente simple escribir la prueba de extremo a extremo, todavía necesitas tiempo para escribirlas. Así que sabes, si son unos minutos, se acumula, y necesitas mantenerlas y todo. Y así, todavía no estoy realmente contento con donde estamos.

3. Automating App Exploration with AI

Short description:

Usar IA para automatizar la tediosa tarea de explorar una aplicación es la propuesta del orador. A pesar de los riesgos involucrados, el orador planea hacer una demostración en vivo de cómo usar IA para mejorar la exploración de aplicaciones. La demostración involucra una aplicación autoprogramada que muestra imágenes de animales lindos de Unsplash.

Así que si resumimos, lo que tenemos es, por ejemplo, tenemos una aplicación, podemos recopilar fácilmente datos de rendimiento con cualquier herramienta. Así que por ejemplo, en nuestro caso, flashlights. Podemos detectar problemas. Así que para aplicaciones de React Native, generalmente eso va a ser, oh, tienes bajo FPS o alto uso del hilo de pecho. Y sabes, esos son algunos problemas. Pero para aprovecharlo al máximo, necesitamos de alguna manera explorar las aplicaciones. Así que siempre lo hemos hecho manualmente, pero por supuesto eso requiere esfuerzo humano y bueno, demasiado perezoso para eso. O si, una prueba de extremo a extremo, y acabo de decir que, eh, es un poco molesto. Y así la pregunta es, ¿podemos hacerlo mejor?

Así que por supuesto es 2024 y la IA está básicamente en todas partes, ¿verdad? Así que por cierto, ¿quién está, levante la mano, como quién está emocionado por la IA Gen que está sucediendo en todas partes? Vaya, no mucha gente. ¿Quién es un poco escéptico sobre la IA Gen que está sucediendo en todas partes? Oh, sí. Sí. Muchas más personas que simplemente odian la IA Gen. Y, bueno, realmente les agradezco por estar en la audiencia, pero miren a una persona. Gracias por estar aquí. Espero que aún les guste la charla. Por cierto, solo por diversión, le pedí a Jadgbt que generara un meme de IA IA en todas partes. Y por supuesto me dio una imagen muy al estilo Dali con IA IA en todas partes. Bueno, estando en todas partes. Pero lo que pensé que era realmente divertido es que hay este tipo en el medio que realmente perdió el aviso y simplemente gritó, café, lo cual me pareció bastante relatable. Pero de todos modos, idealmente usamos IA o IA Gen para automatizar las cosas molestas, ¿verdad? Las cosas que realmente no queremos hacer, las cosas que toman mucho de nuestro tiempo y solo queremos acelerar lo que hemos estado haciendo. Así que aquí, por supuesto, las cosas molestas es explorar la aplicación. Entonces, ¿podemos hacerlo con IA? Y así este es el punto donde estoy mostrando mis tremendas habilidades de presentación en keynote, porque no puedes deletrear flashlight sin IA. Y así pensé que daría una demostración en vivo de cómo podría verse esto. Y por cierto, esta es una idea muy arriesgada porque las demostraciones en vivo en general son un poco arriesgadas, pero una demostración en vivo que involucra IA, que es algo que no es totalmente determinista, pero fue muy bien en mi ensayo. Así que con suerte todavía va bien, pero veremos. Solo gestionando sus expectativas aquí. Así que tengo una aplicación realmente tonta que programé yo mismo, no muy bien diseñada, pero esencialmente mostrando lindas imágenes de animales de Unsplash. ¿Puede alguien ver lo que estoy escribiendo? Tal vez pueda simplemente hacer zoom un poco más. Bien. Y así lo que puedo hacer es...

4. Using AI to Explore and Measure App Performance

Short description:

El orador explica que el repositorio para la herramienta de exploración de aplicaciones es de código abierto y se compartirá más tarde. La herramienta requiere que se ejecuten comandos, como iniciar sesión y realizar una búsqueda. El orador demuestra la herramienta buscando corgis y destacando su capacidad para automatizar la exploración mientras recopila datos de rendimiento.

Así que el repositorio, por cierto, es de código abierto. Y compartiré el enlace al final. Pero por el momento, la forma de ejecutarlo es simplemente ejecutar un comentario y va a pedir un propósito. Así que necesito decirle qué se necesita hacer para explorar la aplicación.

Así que primero, necesita iniciar sesión, ¿verdad? Así que le diré que inicie sesión con mis credenciales, que son Ilikecorgies at gmail.com. Y mi contraseña es esta. Hay una función de búsqueda que acabo de implementar. Así que quiero probar el rendimiento de la función de búsqueda. Así que simplemente le diré, ve a la pestaña de búsqueda, busca... Bien, griten su animal favorito. ¿Qué quieren buscar? ¿Cuál fue este? Oh, bien. Sí, bueno, todos dijeron corgis. Así que vamos con corgis. Busca corgis. Desplázate hacia abajo en el resultado, por ejemplo. Y dale me gusta a una imagen. Y veamos qué hace. Así que con suerte, la conexión a internet es buena.

Bien, parece que está comenzando. Así que hice algo un poco loco. Le di a la IA control total sobre mi teléfono. En algún momento, le di control total y comenzó a tuitear cosas. Y es como cosas totalmente aleatorias. Fue un poco loco. Pero de todos modos, lo realmente genial de esto es que mientras está explorando, no lo ves realmente allí. Pero hay una herramienta de medición de rendimiento o flashlight, que en realidad está tomando medidas de rendimiento. Y así lo veremos al final, pero obtendremos una auditoría de rendimiento de la aplicación mientras obtenemos exploración automatizada. Así que masa de galleta. Esto habría roto mi prueba de extremo a extremo. Y aquí la IA simplemente dice, está bien, voy a tocar el botón de aceptar.

5. Exploration Process and Report

Short description:

El proceso continúa sin problemas, aunque un poco lento debido a las solicitudes para abrir AI. Las imágenes no se están cargando correctamente, pero la exploración sigue en curso. A pesar de algunos contratiempos, la herramienta proporciona un informe completo al final, incluyendo un video de la exploración y cualquier problema encontrado, como el desplazamiento y el diseño responsivo.

No hay problemas con eso. Así que continúa. Hasta ahora va bien. Es un poco lento, pero quiero decir, está haciendo solicitudes para abrir AI. Así que probablemente sea por eso.

Ahí lo tienes. Está buscando. Pero esta es mi señal para simplemente beber un poco de agua. Ah, las imágenes no se están cargando. Eso es un poco triste. Se ha desplazado hacia abajo como un loco, en realidad. Oh, ahí lo tienes. Oh, realmente lindo. Oh, wow. Oh, compartió en lugar de dar me gusta. Sí, pero eso nunca pasa. Pero por supuesto, las demostraciones en vivo siendo demostraciones en vivo, supongo. Así que me pregunto si va a poder... oh no, está diciendo que le gustó la imagen. Oh, eso es un poco triste.

Está bien. Esto es, sí, no sé por qué hizo eso. Pero lo genial es que al final, obtenemos un informe genial. Esto ha sido diseñado por VZero, en realidad por Versal, porque quiero decir, bueno, estamos en el tema de AI, bien podríamos hacer todo con AI. Y lo genial es que, sí, tienes el video de todo lo que ha estado sucediendo, y ves todo lo que salió bien, como, no sé, tocar en escribir la contraseña y todo eso. Pero también ves cosas que tuvieron algunos problemas. Así que, por ejemplo, desplazarse hacia abajo en los resultados, probablemente debería acercar. Ups. Desplazarse hacia abajo en los resultados. Oh, mi diseño responsivo del que hablamos un poco en la última masterclass, pero no fue tan bueno.

6. Exploring with AI and Dealing with Tricky Issues

Short description:

La herramienta de AI ayuda a identificar problemas de rendimiento, sugiere usar React DevTools para depurar y recomienda usar FlashList en lugar de FlatList en React Native. OpenAI te permite mejorar las capacidades de la AI llamando a funciones JS especificadas en un esquema JSON. Al proporcionar objetivos e interactuar con los elementos de la UI de la aplicación, la AI puede realizar tareas como tocar botones. Aunque es poderosa, pueden surgir algunos problemas, como que la AI sugiera funciones inexistentes, lo cual se puede gestionar añadiendo mensajes apropiados.

Vemos, por ejemplo, que al desplazarse hacia abajo en los resultados, tuvimos algunos problemas de rendimiento masivos, el hilo de JS promediando, ya sabes, mucho uso de CPU. Así que aquí la herramienta solo nos está diciendo, oh, deberías considerar usar React DevTools para depurar. Claro. Además, dado que es una vista desplazable, solo nos está diciendo, bueno, ya sabes, React Native, probablemente deberías usar FlashList en lugar de FlatList. Así que, en general, conseguimos que la AI explorara automáticamente, se equivocó un poco al dar me gusta a la imagen, pero al final obtenemos una auditoría de rendimiento automatizada de nuestra aplicación.

Así que volviendo a las diapositivas, tenía algunos videos preparados por si todo salía mal. Ahí lo tienes. Así que solo quiero hablar sobre cómo funciona. Básicamente, ya sabes, probablemente has usado chatgbt copilot en, bueno, probablemente lo estés usando. Vamos. Pero también puedes usar, por supuesto, las APIs de OpenAI o cualquier otro modelo, pero he usado OpenAI para esto. Y lo genial de OpenAI es que envías básicamente un array de mensajes a la API y responde con algo. Lo que realmente no sabía es que puedes obtener una respuesta diciéndole a la AI que llame a una función JS que escribas, lo cual es bastante genial. Básicamente, pasas un esquema JSON describiendo las funciones que quieres que la AI llame y puedes básicamente mejorar la AI con capacidades.

Así que, por ejemplo, tengo una función llamada tap, función llamada scroll, función llamada type que implementé yo mismo para interactuar con el teléfono, y le pedí a la AI, oye, explora la aplicación, llama a una de esas. Y así, al principio, esencialmente, si tenemos nuestra pantalla de inicio de sesión, por ejemplo, con los dos campos llenos, imprimo una jerarquía de la vista, lo cual puedes hacer bastante fácilmente en Android, también podría tomar capturas de pantalla, pero elijo hacer eso porque era un poco más simple. Y tengo los límites de la vista, por ejemplo, para el botón de inicio de sesión, sé que es clicable. Conozco la etiqueta de accesibilidad, que es inicio de sesión, porque, bueno, el texto es inicio de sesión. Y así envío eso a la AI. Digo, bueno, estos son tus objetivos. Así que, ¿qué quieres hacer? Y así la AI simplemente dice, OK, necesito hacer clic en el botón de inicio de sesión. Así que solo debería tocar en esas coordenadas. Y luego repetimos hasta que la AI haya cumplido su objetivo. Así que bastante simple en sí mismo. Y solo para mostrar que es realmente poderosa y realmente fácil de usar, como las APIs de OpenAI, puedes hacer muchas cosas realmente geniales.

Bueno, es difícil hablar de AI sin hablar de alucinaciones, sin embargo. Así que solo voy a hablar sobre algunos problemas complicados con los que tuve que lidiar. Por ejemplo, me pasó que, ya sabes, estaba mejorando diciéndole a la AI, ya sabes, llama a tap, scroll o type. Y la AI estaba como, llamaré a la función llamada input text, que, por supuesto, no existe. Pero, ya sabes, como estás hablando con una AI como cat GPT, básicamente, estás gestionando el área de mensajes tú mismo, puedes simplemente añadir un mensaje diciendo, ya sabes, eso no existe.

7. AI Continuation and End-to-End Testing

Short description:

La AI puede continuar después de que ocurran errores, y controlar la finalización de los objetivos de la AI se puede lograr añadiendo un humano u otro agente AI manager en el bucle. La AI en pruebas end-to-end está ganando popularidad, con empresas lanzando herramientas de prueba basadas en AI. El objetivo es automatizar la exploración de aplicaciones usando AI y asegurar verificaciones de calidad para rendimiento, accesibilidad y seguridad. El objetivo final es tener un sitio web que pueda proporcionar retroalimentación integral sobre el rendimiento y problemas de la aplicación simplemente arrastrando y soltando la aplicación.

Así que inténtalo de nuevo. Y la AI simplemente dirá, oh, sí, claro. OK, lo siento. Y puede continuar, lo cual es bastante genial. Así que en tu script, básicamente para el usuario final, no es como si ni siquiera lo vieran o, ya sabes, podrías añadir un mensaje como, oh, he cometido un error. Lo siento. Este es un problema complicado que me ha pasado varias veces.

Así que le diría a la AI, OK, inicia sesión, busca gatos y dale me gusta a una imagen y el agente AI iniciaría sesión y luego, OK, he terminado, sin buscar gatos ni nada. Así que este es aparentemente un problema que ocurre mucho en el mundo de la AI, que es difícil controlar cuándo la AI se detiene y realmente evaluar que ha cumplido sus objetivos. Así que una forma fácil de hacer esto es añadir un humano al bucle y el humano estaría controlando, oh, no has terminado, continúa. Pero luego, para automatizar completamente las cosas, puedes reemplazar al humano con otra AI y básicamente tener un AI agent manager. Básicamente, harías otra llamada a las APIs de OpenAI para básicamente decir, OK, esas son todas las acciones que hemos hecho. Esos eran los objetivos. ¿Crees que el otro tipo ha terminado o no? Y el agent manager como la otra AI puede simplemente añadir un mensaje al bucle y decir, no, todavía necesitas hacer eso. Y oh, sí, claro. Lo siento. El otro tipo va a continuar. Correcto.

Pero entre enviar mi charla, de hecho, y entre hoy, de hecho, incluso más cosas han sucedido y de hecho muchas personas han dado cuenta de que la AI en pruebas end-to-end es grande. Hay varias empresas, de hecho, solo por nombrar algunas, y he escuchado algunas más hablando con algunas personas que han lanzado algunas cosas haciendo AI en pruebas end-to-end debido a las razones que mencioné anteriormente. Algunas de esas son realmente, realmente caras porque supongo que la AI es donde está el dinero, pero algunas como app agent son realmente open source. Así que quiero probar eso. Pero sí, es algo que está sucediendo mucho ahora mismo.

Así que la idea principal detrás de mi charla es que si podemos automatizar la exploración de aplicaciones con AI, y si tenemos verificaciones de calidad con herramientas para verificar rendimiento, accesibilidad, seguridad, todas las cosas que realmente necesitamos verificar, pero que no realmente queremos verificar con herramientas como Flashlight o incluso herramientas con AI, como por ejemplo, accesibilidad con AI, eso suena como algo realmente bueno como, oh, verifica si esta etiqueta es correcta o no, o comprensible, cosas así. Y esa es básicamente toda la idea. Y el objetivo final, que aún no hemos alcanzado, pero está realmente cerca, es poder arrastrar y soltar tu aplicación y automáticamente tener una exploración completa y completa, ya sabes, el sitio web simplemente diciéndote, sí, el rendimiento es bueno, o no, tuviste un problema cuando hice clic allí, tal como estaba mostrando en el informe.

Así que eso es todo por mi parte. Muchas gracias por su atención. Tienes un código QR con un enlace al repositorio. Es un poco, ya sabes, un trabajo muy experimental en progreso.

QnA

The Role of AI in Jobs and Automation

Short description:

La AI no se trata de dejar a las personas desempleadas, sino de ayudarlas en sus trabajos. Usar AI puede ayudar a los ingenieros de QA automatizando tareas repetitivas y permitiéndoles centrarse en aspectos más importantes. Sin embargo, aún es necesaria la comprensión humana de la aplicación que se está probando. El objetivo es usar AI como una herramienta, no como un reemplazo para los humanos.

un enlace al repositorio. Es un poco, ya sabes, un trabajo muy experimental en progreso. Así que no, quiero decir, puedes decirme que mi código está desordenado si quieres. Sé que es un poco... También puedes dejar algunos comentarios y tienes diapositivas y recursos por todas partes. Y eso es todo. Gracias. Gracias. Mientras la gente califica tu charla en Slido, quiero hacer la primera pregunta.

¿Cuántas personas quieres dejar desempleadas? ¿Es este tu objetivo en la vida? Esa es una pregunta realmente interesante, de hecho, porque creo que la forma en que lo veo, la forma en que lo miro, no se trata de dejar a las personas desempleadas. Quiero decir, es todo el asunto sobre JNAI. Como, yo mismo a veces me encuentro incluso un poco asustado o ansioso por JNAI, como incluso tomando mi trabajo. Pero creo que la mejor manera de ver la AI es realmente verla como algo que puede ayudar a las personas en sus trabajos. Así que si hablamos de ingenieros de QA, por ejemplo, tengo un muy buen amigo, de hecho, que es ingeniero de QA y es quien me habló sobre App Agents. Y creo que es una buena manera de hacer que la AI haga algunas cosas molestas que él no necesita hacer y que se concentre en otra cosa. O incluso, ya sabes, usar AI para acelerar su propio trabajo y ser más eficiente. Así que con suerte nadie. Sí, puedo imaginarlo. Puedes hacer más en menos tiempo, pero aún necesitas un humano para todavía como... No necesitas poder escribir código, pero necesitas poder entender la aplicación que estás probando y poder dar instrucciones paso a paso. Necesitas iniciar sesión, hacer clic allí, ir a esa página, dar me gusta a esta cosa, compartir esta cosa. Aún necesitas poder explicar eso, ¿verdad? Sí, quiero decir, bueno, sí. Luego de nuevo, sé que App Agents, por ejemplo, tienen... Esa fue mi idea en el primer lugar, pero es un poco más difícil de hacer. Tener algo que haga exploración automática y tú simplemente dejas que la AI haga lo que quiera. Pero eso es mucho más difícil de hacer, porque la AI, es como, necesitas dar intenciones claras y a veces va a ser como, oh, haciendo clic en cada botón tal vez tres veces y no darse cuenta, oh, ya sabes, he hecho clic en esto muchas veces. Así que, pero quiero decir, sí. Estoy de acuerdo con todo el punto de tener un humano en el bucle para usar esa herramienta y usar AI como una herramienta. No AI reemplazando al humano, sino AI siendo una herramienta es el objetivo aquí.

AI App Testing and Cost

Short description:

He intentado que la AI pruebe todas las funciones de la app, pero tiende a hacer bucles y repetir acciones. Para abordar esto, se puede agregar otra AI gestora para detener el bucle. El costo de realizar un caso de prueba usando el modelo 4.0 Mini suele ser menos de un centavo, lo que lo hace más barato que un ingeniero de QA escribiendo la prueba. Sin embargo, la estrategia de precios de cobrar más que un ingeniero de QA puede no ser el mejor enfoque desde la perspectiva de una empresa. Finalmente, si la AI gestora falla, existe la posibilidad de implementar una AI gestora de gestores.

es el objetivo aquí. Sí, estamos seguros por los próximos tres años. Aún no. Muy bien, tiempo de preguntas del público. Anónimo está preguntando, ¿has intentado que la AI rastree la app, oh, pruebe todas sus funciones? Así que eso básicamente ya está respondido. Sí, lo hice y ese fue el demo que quería compartir originalmente. Así que lo que es realmente difícil con esto es que la AI tiende a hacer bucles mucho. Así que en algún momento a menudo, aparentemente es algo que sucede mucho con la AI en cadena, comenzará a hacer lo mismo una y otra vez.

Así que, por ejemplo, en mi app aquí, haría clic en la foto de perfil, iría a la pantalla, luego volvería, luego haría clic en la siguiente foto de perfil y todo. Y aparentemente la forma de lidiar con eso es agregar otro gestor a la mezcla y tener otra AI diciendo, estás haciendo un bucle y detente. Y así, ese tipo de interacciones, pero sí. Genial, gracias. La siguiente pregunta es, ¿cuántos tokens costó realizar un caso de prueba? Oh, sí, buena pregunta. Estoy usando el, lo que se llama modelo 4.0 Mini, en realidad, que es realmente barato y realmente eficiente. Así que usualmente creo que es menos de un centavo por cada ejecución, bastante barato. Sí, así que eso es más barato que un ingeniero de QA escribiendo la prueba, ¿verdad? Sí. Quiero decir, a la gente le encanta eso, es como de lo que estaba hablando. Así que muchas personas desarrollando un producto, un producto así, están cobrando a veces $1500 al mes al menos. Y están diciendo como, oh, es más barato que un ingeniero de QA. Así que así es como es como, ya sabes, así es como dicen que pueden cobrar más. Pero no sé si esta es la manera correcta de ver eso. No lo sé. Ahora, como empresa, diría que eso es demasiado alto porque necesitas una barrera de entrada más baja. Pero desde la perspectiva de un equipo, tendría más sentido. Sí. Diría. Correcto. Tocamos un poco esto. Pero la siguiente pregunta es, ¿qué pasa si la AI gestora falla? ¿No tiene una AI gestora de gestores? Emoji riendo, emoji riendo. Esa es realmente una buena pregunta, porque la primera vez que lo implementé, la AI gestora fue como, sí, sí, está bien.

AI in Prompts and Reliability

Short description:

Al usar AI en prompts, a veces puede olvidar ciertas acciones. Para abordar esto, el autor utilizó un modelo más grande y revisó el prompt para desglosar objetivos y verificar paso a paso. Las pruebas de AI con Flashlight aún son experimentales, pero la parte no AI es confiable. Las herramientas competidoras para probar aplicaciones web incluyen Lighthouse.

Y lo que fue realmente divertido es que en mi prompt, como hice ahora, solo le dije que desplazara hacia abajo los resultados y le gustara una imagen. Y entonces no se desplazó hacia abajo en algún momento. Y entonces le preguntó al gestor y el gestor dijo, sí, está bien, ¿cuáles eran tus objetivos? Los objetivos eran iniciar sesión, luego ir a la pestaña de búsqueda y luego gustar una imagen. Y se olvidó completamente del desplazamiento hacia abajo, supongo, debido al final. Y entonces hice dos cosas. Usé GPT. Quiero decir, usé 4.0 como el modelo más grande para el gestor pensando, oh, ya sabes, tal vez al menos será un poco más inteligente. Y solo estoy haciendo una llamada a él. Y también, revisé el prompt para, ya sabes, es como, si le pides a la AI que vaya paso a paso en su pensamiento, si has usado O1, por ejemplo, es, es básicamente lo que O1 está haciendo, sin que lo pidas pero solo como, pidiéndole como, está bien, este fue el prompt, desglosa todos los objetivos y verifica paso a paso, como esos hacia abajo o no. Pero sí, lo que es difícil con AI es que a veces toma muchas pruebas para hacer las cosas bien. Como, personalmente no estoy acostumbrado a esta falta de determinismo. Y supongo que muchos desarrolladores, por supuesto, lo están, así que es como una nueva ciencia. Sí, en mi experiencia, el prompting es, sí, necesitas hablarle, como, es una persona realmente inteligente. Pero entiende la entrada, como un niño de cinco años, básicamente. Sí, tal vez siete u ocho ahora. Llegaremos a más de 20 más tarde.

Muy bien, la siguiente pregunta es de Tiago. ¿Es lo suficientemente confiable, Flashlight, para ser agregado a un pipeline? Así que en este momento, bueno, depende. Depende de la pregunta. Quiero decir, si realmente estamos hablando de lo que mostré aquí sobre la AI, realmente las cosas de AI, todavía es algo experimental. Y eso es realmente lo que queremos hacer a continuación es construir o agregarlo a un pipeline de CI, y básicamente poder simplemente arrastrar y soltar y tener exploración automatizada. En este momento, no es lo suficientemente confiable. La parte no AI es totalmente confiable. Y hemos estado usando eso durante, bueno, algunos años ahora, supongo, uno o dos años. Así que sí, supongo que la pregunta era sobre AI, pero...

Bien, siguiente pregunta. Oh, están preguntando sobre competidores. ¿Conoces alguna herramienta similar a Flashlight para probar aplicaciones web? Esa es una buena pregunta. Debería saber más, en realidad.

Lighthouse and Controlling AI Actions

Short description:

Lighthouse permite pruebas de extremo a extremo, pero con su propia sintaxis. Controlar las acciones de la IA, como la distancia de desplazamiento, puede ayudar a estandarizar las pruebas. Las mejoras futuras incluyen ejecución en CI y fácil iteración en múltiples proyectos.

Lighthouse. Sí, Lighthouse realmente te permite, creo, ejecutar pruebas de extremo a extremo, pero tienen su propia sintaxis. Creo que había algo llamado PerfTest o algo así, que también te permitía hacer eso. Sí, para ser honesto, realmente no lo sé. Pero probablemente podamos simplemente preguntar a chatGPT. Eso es, sí, estamos ahí.

Nathaniel. Hola. Con la IA viene mucho ruido. ¿Has encontrado alguna manera de estandarizar las acciones de la IA? Por ejemplo, la distancia de desplazamiento de la IA en tu ejemplo.

Lo siento, ¿puedes repetir eso? Con la IA viene mucho ruido. ¿Has encontrado alguna manera de estandarizar las acciones de la IA? Oh, correcto. Por ejemplo, establecer la distancia de desplazamiento de la IA en tu ejemplo. Sí, esa es una buena pregunta. Así que, en este momento, le doy a la IA muchas reglas. Como, básicamente puede tocar en cualquier coordenada que quiera. Básicamente puede desplazarse de cualquier manera que quiera. Creo que podría no ser la mejor idea, en realidad, y podría ser más fácil para mí simplemente controlar eso. Así que, por ejemplo, si quiero probar el rendimiento del desplazamiento y estandarizarlo un poco más, como decir, oh, tu vista está ahí, así que te ofrezco la acción de desplazar esa vista. Pero esto soy yo controlando la velocidad y los parámetros, como voy a desplazarme del 80% al 20% en 50 milisegundos o algo así. Quiero decir, básicamente, esto es un gesto de deslizamiento. Así que, en este momento, la IA tiene control total sobre eso, pero estoy pensando que probablemente sería mejor cambiarlo, en realidad. Muy bien, no sé si eso respondió la pregunta. Más o menos. Depende. Muy bien, siguiente y última pregunta.

Performance and Accessibility with AI

Short description:

El rendimiento y la accesibilidad son esenciales pero a menudo pasados por alto. Experimentar con la verificación automática de etiquetas y otros aspectos de calidad usando IA podría ser beneficioso.

Muy bien, siguiente y última pregunta. La demostración parece muy interesante. ¿Hay mejoras o nuevas características que estés considerando que podrían hacerla aún más eficiente en tiempo? Así que quieren un adelanto del futuro, básicamente. Sí. Bueno, estaba diciendo, como, quiero ejecutar eso en CI y poder, como, simplemente iterar fácilmente en muchos proyectos y muchas, sí, probarlo más. Pero lo que estaba compartiendo un poco es que creo que esto es realmente, como, el rendimiento es una de esas cosas que es realmente esencial, pero generalmente es algo que no se verifica tanto, especialmente ya que, bueno, en realidad, Methat estaba hablando de esto, como, usualmente tenemos, los desarrolladores de React Native usualmente tienen iPhones y iPhones de primera categoría.

Y nuestros usuarios a veces tienen dispositivos Android de gama baja, así que realmente no verificamos eso. Pero creo que hay otras cosas así. Creo que la accesibilidad, por ejemplo, es realmente molesta de verificar, pero es realmente esencial. Y creo que eso podría ser uno de los casos de uso, y he estado experimentando con eso, como, verificando automáticamente etiquetas y preguntando a la IA, como, oh, ¿esto es correcto o no?

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
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
El Flujo de Trabajo del Desarrollador Asistido por IA: Construye Más Rápido e Inteligente Hoy
JSNation US 2024JSNation US 2024
31 min
El Flujo de Trabajo del Desarrollador Asistido por IA: Construye Más Rápido e Inteligente Hoy
Top Content
AI is transforming software engineering by using agents to help with coding. Agents can autonomously complete tasks and make decisions based on data. Collaborative AI and automation are opening new possibilities in code generation. Bolt is a powerful tool for troubleshooting, bug fixing, and authentication. Code generation tools like Copilot and Cursor provide support for selecting models and codebase awareness. Cline is a useful extension for website inspection and testing. Guidelines for coding with agents include defining requirements, choosing the right model, and frequent testing. Clear and concise instructions are crucial in AI-generated code. Experienced engineers are still necessary in understanding architecture and problem-solving. Energy consumption insights and sustainability are discussed in the Talk.
IA y Desarrollo Web: ¿Exageración o Realidad?
JSNation 2023JSNation 2023
24 min
IA y Desarrollo Web: ¿Exageración o Realidad?
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
El Ascenso del Ingeniero de IA
React Summit US 2023React Summit US 2023
30 min
El Ascenso del Ingeniero de IA
Top Content
The rise of AI engineers is driven by the demand for AI and the emergence of ML research and engineering organizations. Start-ups are leveraging AI through APIs, resulting in a time-to-market advantage. The future of AI engineering holds promising results, with a focus on AI UX and the role of AI agents. Equity in AI and the central problems of AI engineering require collective efforts to address. The day-to-day life of an AI engineer involves working on products or infrastructure and dealing with specialties and tools specific to the field.
Aplicaciones Web del Futuro con Web AI
JSNation 2024JSNation 2024
32 min
Aplicaciones Web del Futuro con Web AI
Web AI in JavaScript allows for running machine learning models client-side in a web browser, offering advantages such as privacy, offline capabilities, low latency, and cost savings. Various AI models can be used for tasks like background blur, text toxicity detection, 3D data extraction, face mesh recognition, hand tracking, pose detection, and body segmentation. JavaScript libraries like MediaPipe LLM inference API and Visual Blocks facilitate the use of AI models. Web AI is in its early stages but has the potential to revolutionize web experiences and improve accessibility.
Cobertura de código con IA
TestJS Summit 2023TestJS Summit 2023
8 min
Cobertura de código con IA
Premium
Codium is a generative AI assistant for software development that offers code explanation, test generation, and collaboration features. It can generate tests for a GraphQL API in VS Code, improve code coverage, and even document tests. Codium allows analyzing specific code lines, generating tests based on existing ones, and answering code-related questions. It can also provide suggestions for code improvement, help with code refactoring, and assist with writing commit messages.

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.
AI para Desarrolladores de React
React Advanced 2024React Advanced 2024
142 min
AI para Desarrolladores de React
Top Content
Featured Workshop
Eve Porcello
Eve Porcello
El conocimiento de las herramientas de AI es fundamental para preparar el futuro de las carreras de los desarrolladores de React, y la suite de herramientas de AI de Vercel es una vía de acceso accesible. En este curso, examinaremos más de cerca el Vercel AI SDK y cómo esto puede ayudar a los desarrolladores de React a construir interfaces de transmisión con JavaScript y Next.js. También incorporaremos APIs de terceros adicionales para construir y desplegar una aplicación de visualización de música.
Temas:- Creación de un Proyecto de React con Next.js- Elección de un LLM- Personalización de Interfaces de Transmisión- Construcción de Rutas- Creación y Generación de Componentes - Uso de Hooks (useChat, useCompletion, useActions, etc)
How to 9,2x Your Development Speed with Cline
JSNation 2025JSNation 2025
64 min
How to 9,2x Your Development Speed with Cline
Featured Workshop
Nik Pash
Nik Pash
La forma en que escribimos código está cambiando fundamentalmente. En lugar de quedar atrapado en bucles anidados y detalles de implementación, imagine enfocarse puramente en la arquitectura y la resolución creativa de problemas mientras su programador de pares de IA maneja la ejecución. En esta masterclass práctica, te mostraré cómo aprovechar Cline (un agente de codificación autónomo que recientemente alcanzó 1M de descargas en VS Code) para acelerar drásticamente tu flujo de trabajo de desarrollo a través de una práctica que llamamos "vibe coding" - donde los humanos se enfocan en el pensamiento de alto nivel y la IA maneja la implementación.Descubrirás:Los principios fundamentales del "vibe coding" y cómo se diferencia del desarrollo tradicionalCómo diseñar soluciones a un alto nivel y hacer que la IA las implemente con precisiónDemostración en vivo: Construcción de un sistema de almacenamiento en caché de grado de producción en Go que nos ahorró $500/semanaTécnicas para usar IA para entender bases de código complejas en minutos en lugar de horasMejores prácticas para solicitar a los agentes de IA que obtengan exactamente el código que deseasErrores comunes a evitar al trabajar con asistentes de codificación de IAEstrategias para usar IA para acelerar el aprendizaje y reducir la dependencia de ingenieros seniorCómo combinar efectivamente la creatividad humana con las capacidades de implementación de IAYa sea que seas un desarrollador junior que busca acelerar tu aprendizaje o un ingeniero senior que desea optimizar tu flujo de trabajo, saldrás de esta masterclass con experiencia práctica en desarrollo asistido por IA que puedes aplicar inmediatamente a tus proyectos. A través de demostraciones de codificación en vivo y ejercicios prácticos, aprenderás cómo aprovechar Cline para escribir mejor código más rápido mientras te enfocas en lo que importa: resolver problemas reales.
Building Full Stack Apps With Cursor
JSNation 2025JSNation 2025
46 min
Building Full Stack Apps With Cursor
Featured Workshop
Mike Mikula
Mike Mikula
En esta masterclass cubriré un proceso repetible sobre cómo iniciar aplicaciones full stack en Cursor. Espere comprender técnicas como el uso de GPT para crear requisitos de producto, esquemas de base de datos, hojas de ruta y usarlos en notas para generar listas de verificación que guíen el desarrollo de aplicaciones. Profundizaremos más en cómo solucionar alucinaciones/errores que ocurren, indicaciones útiles para hacer que su aplicación se vea y se sienta moderna, enfoques para conectar cada capa y más. Al final, ¡espere poder ejecutar su propia aplicación full stack generada por IA en su máquina!
Por favor, encuentre las preguntas frecuentes aquí
Webinar gratuito: Construyendo aplicaciones Full Stack con Cursor
Productivity Conf for Devs and Tech LeadersProductivity Conf for Devs and Tech Leaders
71 min
Webinar gratuito: Construyendo aplicaciones Full Stack con Cursor
Top Content
WorkshopFree
Mike Mikula
Mike Mikula
Para asistir al webinar, por favor regístrate aquí.En este webinar cubriré un proceso repetible sobre cómo iniciar aplicaciones Full Stack en Cursor. Espera entender técnicas como usar GPT para crear requisitos de producto, esquemas de base de datos, hojas de ruta y usar esos en notas para generar listas de verificación que guíen el desarrollo de la aplicación. Profundizaremos más en cómo corregir alucinaciones/errores que ocurren, indicaciones útiles para hacer que tu aplicación se vea y se sienta moderna, enfoques para conectar cada capa y más. Al final, ¡espera poder ejecutar tu propia aplicación Full Stack generada por IA en tu máquina!
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
React Advanced 2023React Advanced 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