Revolucionando las pruebas de JS con IA: Desenmascarando el futuro de la garantía de calidad

Rate this content
Bookmark

"Revolucionando las pruebas de JS con IA: Desenmascarando el futuro de la garantía de calidad" es una charla progresista que se adentra en el poder transformador de la IA en las pruebas de JavaScript. La presentación ofrece una exploración iluminadora de los principios de las pruebas de IA, las aplicaciones prácticas y el potencial futuro. Al presentar herramientas impulsadas por IA como Testim, ReTest, Datadog y Applitools, esta charla da vida a la teoría, demostrando cómo la IA puede automatizar la generación de casos de prueba, optimizar la detección de anomalías y agilizar las pruebas de regresión visual. Los asistentes también obtendrán información sobre los avances anticipados en las pruebas de IA para JavaScript. La charla concluye con un animado Q&A, invitando a todos a profundizar en el mundo de la IA y las pruebas de JavaScript. ¡Prepárate para reimaginar tu proceso de QA con IA!

20 min
11 Dec, 2023

AI Generated Video Summary

Las pruebas de IA con IA generativa están revolucionando las pruebas de JS al automatizar la creación de pruebas y mejorar los procesos de prueba de software. Tecnologías clave como el procesamiento del lenguaje natural y las redes neuronales, así como los datos de calidad, juegan un papel crucial en las pruebas de IA. Los beneficios de las pruebas de IA incluyen velocidad, eficiencia, adaptabilidad, detección de errores y potencial ilimitado. La generación de pruebas de JavaScript puede adaptarse a diferentes herramientas como Selenium, y hay herramientas populares disponibles para automatizar la automatización de pruebas. Herramientas de IA como Datadog, RecheckWeb y Applitools Eyes ofrecen poderosas capacidades para la detección de anomalías, las pruebas de regresión visual y las pruebas de listas de códigos. El horizonte para la IA en las pruebas continúa expandiéndose con capacidades en evolución, y entender el papel de la IA en la revolución de las pruebas y el aprendizaje automático es crucial para la aplicación práctica y el aprendizaje continuo.

1. Revolucionando las pruebas de JS con IA

Short description:

¡Hola a todos! Mi nombre es Rinaldi, y hoy voy a dar una charla sobre cómo revolucionar las pruebas de JS con IA. La IA, particularmente la IA generativa, ha estado haciendo grandes avances en el cambio del panorama de la programación y las pruebas. Ha abierto oportunidades para la mejora dentro del aseguramiento de la calidad. Exploraremos la creciente tendencia de la IA generativa dentro de las pruebas, su potencial para automatizar la creación de pruebas y cómo revoluciona el panorama. El papel del aprendizaje automático en las pruebas de IA es mejorar los procesos de prueba de software, prevenir errores humanos y automatizar la detección de errores basándose en la historia.

¡Hola a todos! Mi nombre es Rinaldi, y hoy voy a dar una charla sobre cómo revolucionar las pruebas de JS con IA. Desvelando el futuro del aseguramiento de la calidad. Como probablemente ya saben, la IA, particularmente la IA generativa, ha estado haciendo grandes avances en el cambio del panorama de diferentes tipos de programación. Javascript es solo uno de ellos. Y no solo el aspecto de programación en sí, sino también el elemento de testing. Y eso ha sido capaz de abrir muchas oportunidades para la mejora dentro del aseguramiento de la calidad. Y por lo tanto, es ahí donde vamos a profundizar en este tema hoy.

Así que sin más preámbulos, vamos directo al grano. Me gustaría presentarme brevemente. Soy ingeniero de software para Seek. También poseo las 13 certificaciones de AWS. Soy un experto en la materia para la certificación de Arquitecto Profesional de Soluciones AWS y Especialista en Análisis de Datos de AWS. He sido ponente internacional en más de 30 eventos y conferencias. También disfruto de todas las cosas relacionadas con AWS, el código abierto, las pruebas y la realidad virtual.

Así que, adentrándonos directamente en este tema, ¿cuál es el meollo del asunto que queremos abordar hoy? Bueno, realmente se trata de poder entender la creciente tendencia de la IA generativa dentro de las testing, porque hemos visto una mayor tendencia de cómo se está llevando a cabo actualmente en el ámbito de las testing. Y hoy en día, no solo puedes automatizar y crear nuevos textos o generar nuevas historias con IA generativa, sino que ahora puedes crear código con IA generativa, crear pruebas con IA generativa para tu código. Así que tiene mucho potencial en lo que puedes hacer con ella. Y como mencioné antes, esto conduce a muchas nuevas áreas como la creación sin código de casos de prueba. Y por supuesto, eso luego conduce al potencial de abrir la creación de pruebas a cualquiera. Así que no solo son aquellos que están muy versados en la creación de pruebas los que pueden hacer esto, sino que los desarrolladores normales o incluso las personas no técnicas pueden empezar a investigar esto y ayudar con el proceso de desarrollo de las pruebas también. Así que en general, está revolucionando el panorama de una manera realmente grande.

¿Cuál es el papel del machine learning dentro de las pruebas de IA? Bueno, en primer lugar, estamos utilizando la IA para poder mejorar los procesos de prueba de software. Se está convirtiendo en un asistente para nosotros con el que poder trabajar, para poder crear una plantilla sobre la que poder construir. Y aparte de eso, nos ayuda a asegurarnos de que lo que estamos haciendo es correcto. Así que una de las cosas que es muy común en la creación de casos de prueba es la ocurrencia de errores humanos. Introduciendo la IA en la mezcla, puede ayudarnos a prevenir que eso ocurra y redirigirnos en cambio a estar más centrados en cómo podemos hacer mejores pruebas y cómo podemos hacer pruebas más a prueba de errores. Ese es el poder de la IA generativa. Y queremos poder automatizar también la detección de errores basándonos en la historia. Eso es una de las cosas que ha podido hacer por nosotros también, porque lo que podemos hacer es que podemos crear un proceso automatizado donde el manejo de errores y la comprobación de errores es algo normal, de modo que la IA puede inmediatamente simplemente comprobar basándose en la historia. Quizás podría haber errores potenciales aquí y en consecuencia simplemente proporcionar y proporcionar mejores sugerencias basándose en eso.

2. Tecnologías Clave y Datos en las Pruebas de IA

Short description:

Además de redefinir el aseguramiento de la calidad, las pruebas de IA implican tecnologías clave como el procesamiento del lenguaje natural, el análisis predictivo y las redes neuronales. El papel de los datos es crucial ya que alimentar con datos de calidad determina el rendimiento de la IA. La afinación de soluciones requiere datos suficientes.

Además de eso, también está redefiniendo cómo somos capaces de realizar el aseguramiento de la calidad, como se mencionó antes, también podemos integrarlo como parte de nuestro pipeline y por lo tanto construir basándonos en eso para poder asegurar que la calidad que tenemos en cada etapa está garantizada debido a las comprobaciones que realiza la IA.

Entonces, ¿cuáles son las tecnologías clave que están involucradas en esto? Para nombrar algunas, algunas de ellas incluyen el procesamiento del lenguaje natural, el análisis predictivo, y las redes neuronales. El procesamiento del lenguaje natural, por ejemplo, en este caso particular es algo muy importante porque realmente determina cómo estamos procesando el texto que introducimos. Y es por eso que la ingeniería de problemas es algo muy grande dentro de la IA porque queremos asegurarnos de que realmente le estamos dando las instrucciones correctas en lugar de hacerlo vago. Bueno, vamos a cubrirlo un poco más tarde también. Así que solo espera un poco. Y aparte de eso, hay un papel muy grande que juegan los data en esto porque alimentar a la IA con data de calidad realmente determina qué tan bien va a funcionar. Hemos visto a muchos proveedores diferentes como chat.gtbt o los modelos bedrock de Amazon rendir ya sea bien o mal basado en una serie de parámetros que se les da basado en los data que se han utilizado para entrenarlos. Así que realmente afecta esto y es importante entender que esto también lo afecta.

3. Beneficios de las Pruebas de IA y Uso de IA Generativa

Short description:

Las pruebas de IA aportan velocidad, eficiencia, adaptabilidad, detección de errores y potencial ilimitado. Puede generar pruebas más rápido y refinarlas en función de las pruebas anteriores. La IA ayuda a los desarrolladores a tener en cuenta los casos límite y a descubrir errores sutiles. Al usar IA generativa, especifica el lenguaje, la funcionalidad e incluye lo que quieres que se pruebe. Ten cuidado al insertar código en la IA generativa y utiliza las API para seguridad.

Entonces, si decides, por ejemplo, investigar cómo afinar tus soluciones, eso es definitivamente una gran consideración porque quieres asegurarte de que lo estás afinando en base a suficientes data y no solo a data parciales.

Entonces, ¿cuáles son los beneficios de las pruebas de IA testing? En primer lugar, es simplemente la velocidad porque las pruebas pueden ser ejecutadas e invalidadas rápidamente. Realmente hay un potencial ilimitado para poder realizar la cantidad de pruebas que puedes ejecutar con eso. Y puedes generarlas mucho más rápido de lo que puedes hacer manualmente porque, aunque no sean correctas o según tu visualización en el momento, al menos es capaz de ayudar a refinarlo en consecuencia. Entonces puedes pedirle que refine en función de la prueba que creó antes, o puedes desarrollarlo directamente de forma manual también. Eso realmente ayuda a desarrollarlo mucho más rápido en comparación con si estás codificando pruebas una por una.

Aparte de eso, también aporta eficiencia. Poder hacer más pruebas en menos tiempo reduciría el esfuerzo humano. También puedes proporcionar más cobertura, como sabemos, las pruebas de JavaScript tienen la cobertura como uno de sus aspectos más importantes. Entonces sabemos que como desarrolladores, una de las cosas más importantes es que, ¿podemos tener en cuenta los casos límite que se proporcionan? ¿Y cómo podemos asegurarnos de que está lo más limpio posible de errores? Y con la IA, podemos planificar mejor para eso y cubrir los posibles casos de prueba que podríamos no haber pensado. Y por eso es bueno tenerlos como asistentes.

En cuarto lugar, también tenemos adaptabilidad. Podemos hacer respuestas rápidas a los cambios en el código y la funcionalidad. Vamos a ver algunos ejemplos de eso más tarde también. Finalmente, también tenemos detección de errores, porque son realmente buenos para descubrir errores sutiles o no obvios. Uno de los mejores casos de esto es cómo hay pruebas de regresión visual hoy en día, y también en cuanto a cómo la IA puede comparar diferencias sutiles entre imágenes, por ejemplo, o dentro del código. Realmente, el potencial es ilimitado. Así que este es un ejemplo de cómo decir específicamente a una IA generativa, y realmente depende también de qué LLM estás usando. Podría ser ChachiBT. Podría ser Amazon Bedrock. Este en particular, por ejemplo, lo introduje en el Modelo Fundacional de Cloud de Amazon Bedrock porque quería ver cómo se desempeña, y resultó que era capaz de hacer esto bien. Así que estoy proporcionando esto como la plantilla ahora para poder entender mejor cómo proporcionar este tipo de indicación como una indicación para generar nuevos casos de prueba. Entonces, por ejemplo, estamos proporcionándole esencialmente instrucciones basadas en esto. Así que podemos ver que estamos especificando qué lenguaje estamos usando, estamos especificando qué funcionalidad queremos, y básicamente estamos poniendo a prueba los casos. Ahora puedes poner casos de prueba, puede que no quieras, así que realmente depende, pero lo que realmente quieres poder hacer a partir de esto es que quieres poder, en lugar de mencionar genéricamente que me generes un conjunto de casos de prueba basados en este código, en cambio, quieres asegurarte de que también estás incluyendo lo que quieres que se pruebe también. Entonces, por ejemplo, digamos que quieres poder probar si este botón en esta página web funciona, entonces dirás página web para el botón X, y después de eso en la descripción, dirás, quiero probar el botón X para ver si realmente funciona correctamente, y también puedes no ser capaz de hacerlo. Y de nuevo, una precaución que me gustaría hacer también es tener en cuenta también de simplemente insertar código aleatoriamente dentro de la IA generativa porque necesitas asegurarte de que estás utilizando la API en lugar de una interfaz de cara al público. Por ejemplo, como HatchiBT, es generalmente más, es muy arriesgado y es muy, muy desaconsejable insertar tu código o cualquier PII directamente en la interfaz. Pero mientras tanto, puedes tener una solución interna o puedes usar

4. Generando Pruebas de JavaScript y Herramientas Populares

Short description:

Al generar pruebas de JavaScript, puedes especificar tokens adicionales como entrada, salida esperada y consideraciones especiales. Las pruebas pueden adaptarse a diferentes herramientas, como Selenium. Herramientas populares como Amazon Bedrock y Hedgey te permiten generar casos proporcionando código e instrucciones. También discutiremos otras herramientas listas para usar que automatizan la automatización de pruebas.

a través de una API, en cuyo caso tus data probablemente estarán más seguros. Así que eso es solo una advertencia rápida cuando estés considerando esto. Aparte de eso, solo estás agregando tokens adicionales como entrada, salida esperada y consideraciones especiales, así como las restricciones o condiciones que deseas. Y a partir de esto, puedes generar pruebas de JavaScript de una manera fácil. Y también pueden ser adaptadas a diferentes herramientas. Por ejemplo, si quieres probar con Selenium, también puede hacerlo . Solo tienes que especificar en este escenario de caso particular. Este es solo un modelo para mostrarte cómo especificar y proporcionar al LLM las consideraciones adecuadas que necesita. Entonces, algunas herramientas populares, un par de herramientas populares incluyen Amazon Bedrock y Hedgey, de las cuales he estado hablando antes. Estas son las que he estado usando mucho. He estado experimentando con sus APIs, he estado experimentando con cómo se desempeñan. Y esto en general es una forma de poder generar casos. Porque es la forma en que simplemente introduces tu código, introduces las instrucciones para eso, y generas los casos en base a eso. Pero, por supuesto, también hablaremos sobre las diferentes otras herramientas listas para usar que ya te ayudan

5. Herramientas de IA para Pruebas y Monitoreo

Short description:

Entonces, Datadog es una herramienta poderosa con capacidades de IA para la detección de anomalías y el monitoreo continuo. Su característica Bits.ai permite consultar anomalías con texto general. RecheckWeb verifica pequeños errores en el código y realiza pruebas de regresión visual. Applitools eyes es una herramienta popular para pruebas de regresión visual. Las pruebas de lista de códigos de AAPower permiten grabar y comparar interacciones de usuarios con fines de prueba.

automatiza tus pruebas de una manera más fácil. Y aquí hay uno de ellos. Entonces, Datadog es una de las herramientas que se ha utilizado con el tiempo y que también se ha desarrollado con capacidades de IA. Entonces, una de sus capacidades es poder realizar la detección de anomalías basada en la historia. Entonces, con eso, puedes obtener directamente recomendaciones basadas en el gráfico que proporcionaste, y utilizará anomalías anteriores y te recomendará que estés atento a los indicadores y patterns basados en esa historia. Entonces, es una herramienta realmente poderosa para investigar, y es realmente genial adoptarla definitivamente como parte de una solución de monitoreo continuo. Y una de las cosas que siento que vale la pena mencionar también es su característica Bits.ai, que es su nuevo componente que te permite consultar este tipo de anomalías o data con texto general. Entonces, ni siquiera necesitas buscar por ejemplo, ir a este período de tiempo, ir a esta parte específica del gráfico, puedes simplemente decir, oh, como, sí, ¿ha ocurrido una anomalía en este segmento en particular?

Aparte de eso, RecheckWeb es otra gran herramienta que se está utilizando mucho actualmente. Entonces, una de las cosas que puede hacer es que puede verificar pequeños errores que podrías haber hecho en tu código, que pueden afectar la visualización. Entonces, en casos normales, podrías tener un problema con la visualización de código roto, pero en este escenario, apunta al código roto que tienes mientras puede visualizarlo basándose en la suposición de que el código sigue intacto y en realidad no está roto basado en cambios. Entonces, como podemos ver aquí, por ejemplo, con button dot recommend dot slash dash cert, accidentalmente lo puse a, en lugar de cert, lo puse a cet, set, pero puede detectar esto y debido a esto, puede detectar esa falla en particular y luego visualizarla adecuadamente. También hay una regresión visual testing también, y uno de los casos de uso más grandes en este momento es con applitools. Tienen applitools eyes, que puede realizar regresión visual, lo que ayuda a asegurar que lo que estás testing actualmente es comparable con lo que debería ser. Y esto realmente ayuda mucho. Entonces puedes integrar el Selenium WebDriver con esto. Son capaces de realizar esto, y puedes realizar pruebas funcionales y visuales a través de la herramienta. Entonces este es solo un caso de prueba de ejemplo que escribí como parte de poder trabajar con applitools eyes. Entonces puedes ver que estoy básicamente solo llamando a eyes open, eyes checked, y finalmente, puedes ver que esta es una gran forma de poder integrarse con applitools eyes y usarlo adecuadamente para este escenario de caso. Sí. Aparte de eso, también tenemos pruebas de lista de códigos de AAPower. Entonces hay una realmente genial que encontré recientemente, y este es solo un ejemplo de cómo pude hacer esto. Entonces podemos ver que con esto, estoy testing mi sitio web. Entonces básicamente solo estoy tratando de hacer clic en un botón. Estoy tratando de navegar desde la página de inicio haciendo clic, rastrea mis CPEs. Y lo mejor es que puedes grabar esto en pantalla y puede seguirte y grabar cada paso que das. Entonces podemos ver que puede rastrear, hago clic en rastrear mis CPEs, hago clic en las actividades, hago clic en agregar actividad. Entonces quería poder ilustrar esa funcionalidad de agregar actividad, y lo que puede hacer más tarde es que puede usar esto para poder usarlo como una prueba y compararlo con lo que ya tienes actualmente, el comportamiento en tu código, para asegurarte de que está funcionando correctamente. Entonces puedes hacer esencialmente esta prueba, ejecutarla en tu, por ejemplo, entorno de staging, y lo que hará es que iniciará un Chrome driver. Por ejemplo, y básicamente solo probará para ver si funciona en el Chrome driver y cerrará de manera apropiada, y si pasa, entonces dirá que pasa. Y este es un ejemplo de cómo funciona. Entonces puedo reproducir este ejemplo de cómo puede configurar la página, luego después de eso esto se ejecuta por sí mismo. Y este no soy yo, estos son ellos haciendo esto por su cuenta, pueden simplemente mencionar esto

6. Automatizando Procesos y Expandiendo el Horizonte para la IA

Short description:

Y esto es por test them. Así que es un breve estudio de caso en el que estaba buscando automatizar procesos, incluyendo la detección de anomalías y la generación de casos de prueba. La implementación de herramientas de IA como Datadog resultó en una calidad mejorada y una reducción del mantenimiento de las pruebas. El horizonte para la IA continúa expandiéndose con capacidades en evolución, abordando las necesidades futuras en automatización, generación de casos de prueba y seguridad. Las mejores prácticas incluyen priorizar los datos de calidad, equilibrar la visión humana y de la IA, implementar el control de versiones, fomentar la comprensión de la IA, establecer una integración instrumental y mantenerse actualizado con la evolución de la IA. Comprender el papel de la IA en la revolución de las pruebas y el aprendizaje automático es crucial, junto con la aplicación práctica y el aprendizaje continuo.

en consecuencia. Y esto es por test them. Así que básicamente es otra herramienta que es realmente genial para investigar que también he estado utilizando para este buen escenario de caso. Así que es un breve case study, más o menos, tuve un escenario también, donde estaba buscando automatizar procesos. Y tuve el problema también de poder automatizar la detección de anomalías y generar casos de prueba mejor también, porque una de las cosas que estaba investigando es cómo puedo hacer más eficientemente lo que estoy haciendo actualmente, y automatizar estos tipos de procesos para poder asegurar que no tenemos errores que aparecen aquí y allá. Porque una de las cosas que estoy seguro de que muchos probadores aquí están bastante familiarizados también es, si dejas tu acumulación de errores o security riesgos solos por un tiempo, definitivamente se poblarán rápidamente si no estás realmente cuidando demasiado testing. Así que poder automatizar es una cosa muy importante. Así que como parte de la implementación, integra herramientas de IA como Datadog para la detección de anomalías y también pruébalas como parte del flujo de trabajo. Y lo que entonces pude obtener fue una calidad mejorada y poder reducir el tiempo necesario para el mantenimiento de las pruebas.

Así que definitivamente va a haber un horizonte en expansión continuada para la IA. Para mañana, definitivamente va a haber más áreas de crecimiento potencial con capacidades en evolución también. Va a seguir desarrollándose como lo vemos ahora. Vamos a seguir siendo capaces de anticipar las necesidades de las futuras aplicaciones de JavaScript porque va a haber muchas. Y con el desarrollo de la IA, va a seguir demostrando el potencial de ella para poder ayudar a abordar las necesidades futuras, incluyendo automation y la generación de casos de prueba y security. Así que hay mucho que puede hacer. Y por supuesto, automatizar, automatizar, automatizar, porque si puedes, ¿por qué no, hace tu vida más fácil como probador y como desarrollador.

Así que algunas best practices y patterns. Prioriza la calidad de los data, equilibra la visión humana y de la IA, implementa el control de versiones, fomenta la comprensión de la IA, establece una integración instrumental, mantente al día con la evolución de la IA, gestiona los data de prueba, análisis de monitoreo continuo. Y algunas conclusiones clave son, es importante entender que la IA es prácticamente una revolución en testing. También tenemos el machine learning jugando un papel pivotal, también, para poder entender. Entiende cómo puedes integrar las herramientas adecuadamente, como mencioné antes, con los cuatro ejemplos que proporcioné antes, excluyendo ChatGPTN Amazon Bedrock, ya que también puedes definitivamente usarlos como herramientas. La aplicación práctica es muy importante para entender, entender la perspectiva futura de cómo se ve en el futuro, y entender que es muy importante verlo como un empoderamiento a través del conocimiento, porque es un proceso de aprendizaje continuo. Y eso es todo por mi parte. Gracias de nuevo a todos, por escuchar esta sesión. Y estoy feliz de responder a cualquier pregunta después de la sesión también. Gracias.

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

TestJS Summit 2021TestJS Summit 2021
33 min
Network Requests with Cypress
Whether you're testing your UI or API, Cypress gives you all the tools needed to work with and manage network requests. This intermediate-level task demonstrates how to use the cy.request and cy.intercept commands to execute, spy on, and stub network requests while testing your application in the browser. Learn how the commands work as well as use cases for each, including best practices for testing and mocking your network requests.
TestJS Summit 2021TestJS Summit 2021
38 min
Testing Pyramid Makes Little Sense, What We Can Use Instead
Featured Video
The testing pyramid - the canonical shape of tests that defined what types of tests we need to write to make sure the app works - is ... obsolete. In this presentation, Roman Sandler and Gleb Bahmutov argue what the testing shape works better for today's web applications.
TestJS Summit 2022TestJS Summit 2022
27 min
Full-Circle Testing With Cypress
Cypress has taken the world by storm by brining an easy to use tool for end to end testing. It’s capabilities have proven to be be useful for creating stable tests for frontend applications. But end to end testing is just a small part of testing efforts. What about your API? What about your components? Well, in my talk I would like to show you how we can start with end-to-end tests, go deeper with component testing and then move up to testing our API, circ
TestJS Summit 2021TestJS Summit 2021
31 min
Test Effective Development
Developers want to sleep tight knowing they didn't break production. Companies want to be efficient in order to meet their customer needs faster and to gain competitive advantage sooner. We ALL want to be cost effective... or shall I say... TEST EFFECTIVE!But how do we do that?Are the "unit" and "integration" terminology serves us right?Or is it time for a change? When should we use either strategy to maximize our "test effectiveness"?In this talk I'll show you a brand new way to think about cost effective testing with new strategies and new testing terms!It’s time to go DEEPER!
JSNation 2023JSNation 2023
24 min
AI and Web Development: Hype or Reality
In this talk, we'll take a look at the growing intersection of AI and web development. There's a lot of buzz around the potential uses of AI in writing, understanding, and debugging code, and integrating it into our applications is becoming easier and more affordable. But there are also questions about the future of AI in app development, and whether it will make us more productive or take our jobs.
There's a lot of excitement, skepticism, and concern about the rise of AI in web development. We'll explore the real potential for AI in creating new web development frameworks, and separate fact from fiction.
So if you're interested in the future of web development and the role of AI in it, this talk is for you. Oh, and this talk abstract was written by AI after I gave it several of my unstructured thoughts.

Workshops on related topic

React Summit 2023React Summit 2023
151 min
Designing Effective Tests With React Testing Library
Featured Workshop
React Testing Library is a great framework for React component tests because there are a lot of questions it answers for you, so you don’t need to worry about those questions. But that doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is tricky to test? And what in the world are you supposed to do about that persistent act() warning?
In this three-hour workshop we’ll introduce React Testing Library along with a mental model for how to think about designing your component tests. This mental model will help you see how to test each bit of logic, whether or not to mock dependencies, and will help improve the design of your components. You’ll walk away with the tools, techniques, and principles you need to implement low-cost, high-value component tests.
Table of contents- The different kinds of React application tests, and where component tests fit in- A mental model for thinking about the inputs and outputs of the components you test- Options for selecting DOM elements to verify and interact with them- The value of mocks and why they shouldn’t be avoided- The challenges with asynchrony in RTL tests and how to handle them
Prerequisites- Familiarity with building applications with React- Basic experience writing automated tests with Jest or another unit testing framework- You do not need any experience with React Testing Library- Machine setup: Node LTS, Yarn
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
AI on Demand: Serverless AI
Featured WorkshopFree
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
TestJS Summit 2022TestJS Summit 2022
146 min
How to Start With Cypress
Featured WorkshopFree
The web has evolved. Finally, testing has also. Cypress is a modern testing tool that answers the testing needs of modern web applications. It has been gaining a lot of traction in the last couple of years, gaining worldwide popularity. If you have been waiting to learn Cypress, wait no more! Filip Hric will guide you through the first steps on how to start using Cypress and set up a project on your own. The good news is, learning Cypress is incredibly easy. You'll write your first test in no time, and then you'll discover how to write a full end-to-end test for a modern web application. You'll learn the core concepts like retry-ability. Discover how to work and interact with your application and learn how to combine API and UI tests. Throughout this whole workshop, we will write code and do practical exercises. You will leave with a hands-on experience that you can translate to your own project.
React Summit 2022React Summit 2022
117 min
Detox 101: How to write stable end-to-end tests for your React Native application
WorkshopFree
Compared to unit testing, end-to-end testing aims to interact with your application just like a real user. And as we all know it can be pretty challenging. Especially when we talk about Mobile applications.
Tests rely on many conditions and are considered to be slow and flaky. On the other hand - end-to-end tests can give the greatest confidence that your app is working. And if done right - can become an amazing tool for boosting developer velocity.
Detox is a gray-box end-to-end testing framework for mobile apps. Developed by Wix to solve the problem of slowness and flakiness and used by React Native itself as its E2E testing tool.
Join me on this workshop to learn how to make your mobile end-to-end tests with Detox rock.
Prerequisites- iOS/Android: MacOS Catalina or newer- Android only: Linux- Install before the workshop
TestJS Summit 2023TestJS Summit 2023
48 min
API Testing with Postman Workshop
WorkshopFree
In the ever-evolving landscape of software development, ensuring the reliability and functionality of APIs has become paramount. "API Testing with Postman" is a comprehensive workshop designed to equip participants with the knowledge and skills needed to excel in API testing using Postman, a powerful tool widely adopted by professionals in the field. This workshop delves into the fundamentals of API testing, progresses to advanced testing techniques, and explores automation, performance testing, and multi-protocol support, providing attendees with a holistic understanding of API testing with Postman.
1. Welcome to Postman- Explaining the Postman User Interface (UI)2. Workspace and Collections Collaboration- Understanding Workspaces and their role in collaboration- Exploring the concept of Collections for organizing and executing API requests3. Introduction to API Testing- Covering the basics of API testing and its significance4. Variable Management- Managing environment, global, and collection variables- Utilizing scripting snippets for dynamic data5. Building Testing Workflows- Creating effective testing workflows for comprehensive testing- Utilizing the Collection Runner for test execution- Introduction to Postbot for automated testing6. Advanced Testing- Contract Testing for ensuring API contracts- Using Mock Servers for effective testing- Maximizing productivity with Collection/Workspace templates- Integration Testing and Regression Testing strategies7. Automation with Postman- Leveraging the Postman CLI for automation- Scheduled Runs for regular testing- Integrating Postman into CI/CD pipelines8. Performance Testing- Demonstrating performance testing capabilities (showing the desktop client)- Synchronizing tests with VS Code for streamlined development9. Exploring Advanced Features - Working with Multiple Protocols: GraphQL, gRPC, and more
Join us for this workshop to unlock the full potential of Postman for API testing, streamline your testing processes, and enhance the quality and reliability of your software. Whether you're a beginner or an experienced tester, this workshop will equip you with the skills needed to excel in API testing with Postman.
React Advanced Conference 2023React Advanced Conference 2023
98 min
Working With OpenAI and Prompt Engineering for React Developers
Workshop
In this workshop we'll take a tour of applied AI from the perspective of front end developers, zooming in on the emerging best practices when it comes to working with LLMs to build great products. This workshop is based on learnings from working with the OpenAI API from its debut last November to build out a working MVP which became PowerModeAI (A customer facing ideation and slide creation tool).
In the workshop they'll be a mix of presentation and hands on exercises to cover topics including:
- GPT fundamentals- Pitfalls of LLMs- Prompt engineering best practices and techniques- Using the playground effectively- Installing and configuring the OpenAI SDK- Approaches to working with the API and prompt management- Implementing the API to build an AI powered customer facing application- Fine tuning and embeddings- Emerging best practice on LLMOps