November 3 - 4, 2022
TestJS Summit
Online

TestJS Summit 2022

Test JavaScript. Test with JavaScript.

TestJS Summit is getting back in 2023 in hybrid format with the first in-person day streamed from the Berlin venue including hybrid networking features and interactive entertainment; and second day, as well as the numerous free workshops, streamed to the global audience online. TestJS Summit is event for QAs and software developers to get up to date with JS testing best practices, sharpen skills and get latest updates from top products core teams. Get a full ticket to participate in workshops, and network with others JS testing folks on December 7-11, 2023.

Esta edición del evento ha finalizado, las últimas actualizaciones de este JavaScript Conference están disponibles en el sitio web de la marca.
Automatizar Pruebas de Seguridad de Aplicaciones Web usando GitHub Actions (del equipo de StackHawk)
87 min
Automatizar Pruebas de Seguridad de Aplicaciones Web usando GitHub Actions (del equipo de StackHawk)
WorkshopFree
Zachary Conger
Zachary Conger
El desarrollo de software ha cambiado: Despliegues frecuentes, APIs, GraphQL, Arquitectura en la Nube y Automatización CI/CD son la norma. Entonces, ¿por qué las pruebas de seguridad siguen siendo iguales que hace una década?
Los equipos líderes se están dando cuenta de que las pruebas de penetración periódicas y las auditorías de seguridad no son suficientes cuando el código se envía a diario. En su lugar, estos equipos están utilizando herramientas centradas en los desarrolladores para ejecutar pruebas de seguridad automatizadas en un pipeline de CI/CD. Únete a Zachary Conger mientras te guía en cómo automatizar las pruebas de seguridad de aplicaciones JS utilizando GitHub Actions.
Pruebas de ciclo completo con Cypress
27 min
Pruebas de ciclo completo con Cypress
Top Content
Cypress is a powerful tool for end-to-end testing and API testing. It provides instant feedback on test errors and allows tests to be run inside the browser. Cypress enables testing at both the application and network layers, making it easier to reach different edge cases. With features like AppActions and component testing, Cypress allows for comprehensive testing of individual components and the entire application. Join the workshops to learn more about full circle testing with Cypress.
Un Popurrí de Pruebas de Rendimiento Frontend y Backend
34 min
Un Popurrí de Pruebas de Rendimiento Frontend y Backend
Performance testing is the practice of measuring and evaluating system response. Front-end and back-end performance testing are crucial for identifying bottlenecks. XK6 Browser is a new tool that allows for browser automation and end-to-end web testing. K6 is a versatile testing tool that covers various use cases. The combination of browser and protocol level testing provides a comprehensive view of performance.
Cómo elegir una herramienta de automatización
21 min
Cómo elegir una herramienta de automatización
I am Lia, a software engineer at Nocare, and I'm going to show you a process to choose an automation tool. I'll compare three frameworks and discuss other integration options. Selenium is a well-established framework with a large community, but it requires third-party integrations for certain types of tests. Cypress is an all-in-one tool that supports unit testing, but it only works with JavaScript and lacks parallel testing capabilities. Playwright is a newer framework that is more complete and supports parallel testing, but it has a smaller community and less mature documentation. If you want a framework that does it all, choose Playwright. Documentation is essential to remember your initial thoughts, show others what is being tested, and establish good practice. Once you have your test list, chosen framework, and prioritizations, schedule a meeting with management. Present your work confidently, as it is the best approach for the team and product.
5 Hábitos para Tratar tu Código de Pruebas como Código de Producción
22 min
5 Hábitos para Tratar tu Código de Pruebas como Código de Producción
Today's Talk focuses on the five habits to treat test code like production code. It emphasizes the importance of modular testing and breaking down UI tests into smaller components. Treating SDETs as software engineers is crucial for code and test quality. The challenges of snapshot testing and the benefits of component testing are also discussed, including improved efficiency and addressing asynchronicity and nested promises.
Desglosando la complejidad en las pruebas
15 min
Desglosando la complejidad en las pruebas
Today's Talk discusses complexity in tests and how to effectively deal with it. The speaker emphasizes the importance of testing critical user-facing paths and modeling tests from the user's perspective. They also highlight the significance of creating a testing setup that allows any test to run smoothly and the implicit testability of a well-designed system. The Talk explores the impact of choosing the right testing environment, the role of testing setup in mitigating complexity, and the importance of test structure and expectations. The speaker provides practical tips for tackling complexity in tests, such as keeping tests flat, using helper utilities, and splitting tests into separate files.
Pruebas unitarias basadas en aprendizaje automático en JavaScript
22 min
Pruebas unitarias basadas en aprendizaje automático en JavaScript
This talk explores machine learning-based unit testing in JavaScript and TypeScript, focusing on tools like the Pony Code VS Code extension and GitHub Copilot. The Pony Code tool provides a graphical user interface for generating and managing unit test cases. GitHub Copilot acts as an intelligent code auto-completion tool, understanding the context of the code and suggesting unit test cases. These tools aim to improve code coverage and achieve 100% coverage.
Pruebas de utilidades de línea de comandos
34 min
Pruebas de utilidades de línea de comandos
CLI utilities are important to test because they act as an intersection point between different parts of an application. The main challenge in testing CLI utilities is performance, which can be improved by using temporary directories. Managing ports and resources is crucial to avoid conflicts when running multiple test suites. The test context ensures that processes run in the correct context, including the use of the right directories. Running tests on different configurations helps identify compatibility issues and provides comprehensive test coverage.
Prueba del Servicio de Correo con Playwright
17 min
Prueba del Servicio de Correo con Playwright
Top Content
This Talk discusses how to test mail service with Playwright, covering e-mail verification, reset password user journey, and more. It explores the use of third-party providers for reliable e-mail delivery and demonstrates how Playwright can help perform checks on e-mail content. The Talk also introduces the concept of a fake SMTP server and showcases how fixtures can be used to access the SMTP server and perform assertions on the HTML body of emails. Playwright's HTML rendering feature allows for interaction with email content as if it were a regular web page. It highlights the ability to render HTML from API calls, perform assertions on the rendered page, and exclude dynamically generated data from visual regression tests.
Pruebas pequeñas, grandes resultados
21 min
Pruebas pequeñas, grandes resultados
Automated atomic tests are a great way to improve UI tests by making them less brittle and faster. The tests focus on testing a single feature or component and have minimal UI interactions. The Talk explores examples of automated atomic tests and their implementation on web applications. It also discusses the analysis of atomic tests, login tests, and working with JSON Web Tokens for authentication and authorization. The Talk concludes by highlighting the use of UI and web requests in automated atomic testing.
Más allá de REST - Pruebas de contrato en la era de gRPC, Kafka y GraphQL
22 min
Más allá de REST - Pruebas de contrato en la era de gRPC, Kafka y GraphQL
This talk explores the challenges of API communication in a multi-protocol environment and the limitations of REST. It discusses how contract testing can address these challenges by focusing on API communications and reducing reliance on end-to-end tests. The talk also examines the limitations of specifications like OpenAPI and JSON schema and the challenges of endpoint evolution and versioning. It highlights the benefits of consumer-driven contract testing in ensuring API compatibility and provides an overview of the PACT framework as a standardized solution.
Pruebas unitarias en aplicaciones Angular
24 min
Pruebas unitarias en aplicaciones Angular
This talk explores unit testing in Angular applications, covering topics such as testing front-end applications, specifics of testing Angular, best practices, and educational resources. It discusses the anatomy of a unit test in both Jasmine and Jest, the setup and initial tests in Angular, testing user interaction and event handlers, testing rendered output and change detection, and unit testing parent components with child components. It also highlights best practices like using test doubles, testing components with dependency injection, and considerations for unit testing. Code coverage is emphasized as a metric that doesn't guarantee bug-free code.
Pruebas de Aplicaciones Web con Playwright
20 min
Pruebas de Aplicaciones Web con Playwright
Top Content
Testing web applications with Playwright, a reliable end-to-end testing tool. Playwright offers fast execution, powerful tooling, and support for multiple languages. It provides precise selectors, web-first assertions, and code generation for easy testing. Playwright also offers features like live debugging, tracing, and running tests on CI. The future of Playwright aims to make testing easy and fun, with a focus on creating frustration-free web experiences.
Pruebas de integración encantadoras con Testcontainers
21 min
Pruebas de integración encantadoras con Testcontainers
Top Content
Testing is crucial for development and production, with integration tests becoming more popular. Test containers is a library that integrates with Docker to create reliable test environments. It is flexible and can be used with various frameworks and test libraries. The IDE setup involves configuring the container and connecting it to the application. Test containers can be used for complex operations and allows running tests with real dependencies.
Desafíos de Pruebas y Monitoreo de Aplicaciones WebRTC
21 min
Desafíos de Pruebas y Monitoreo de Aplicaciones WebRTC
WebRTC is an HTML5 specification for real-time media communications between browsers and devices, with challenges in testing and monitoring. Browsers frequently update, potentially breaking WebRTC applications. Testing requires browser automation, consideration of network conditions, and device characteristics. Virtual machines and raw data injection are important for testing. Manual testing is necessary for specific workflows and scalability. Orchestrating multiple machines in the cloud and validating video, packet loss, and bit rate are challenges. Visibility and analysis of WebRTC API calls and metrics are crucial. TestRTC by Spearline offers testing and monitoring solutions.
Overtesting: por qué ocurre y cómo evitarlo
7 min
Overtesting: por qué ocurre y cómo evitarlo
This talk is about overtesting, a technique to improve test suites and testing proficiency. It addresses the common problem of spending excessive time on maintaining test suites. The goal is to maintain 100% coverage while spending equal or less time on test suites. The talk suggests splitting tests into functional units, using expect object containing for manageable expectations, and prioritizing ease of testing and time spent.
Pruebas sin dependencias con Node.js
10 min
Pruebas sin dependencias con Node.js
Today's Talk is about zero dependency testing with Node.js. The new test runner in Node.js supports CLI and standalone file execution, and different test runner styles are supported. Writing tests with Node.js is simple using its assert and test modules. The test runner passed one test and failed another, and future work includes implementing a tap parser and adding code coverage and mocking features.
¿Para qué usar pruebas?!
11 min
¿Para qué usar pruebas?!
Today's Talk introduces VEST, a form validation framework that combines the syntax and style of Unitest with form validation. The lack of structure in form validation is a major problem, leading to messy and difficult-to-maintain code. Testing forms and form validation can be challenging, especially with complex logic. VEST offers a solution by allowing the creation of a form validation suite using unit tests. It provides features like multiple validations per field, async validations, and memoization, with support for any JavaScript environment and full TypeScript support.
Pruebas de seguridad automatizadas para aplicaciones JS
9 min
Pruebas de seguridad automatizadas para aplicaciones JS
At StackHawk, we do application security testing, specifically dynamic application security testing. Legacy DAST tools are not effective for testing JavaScript front ends and APIs. To achieve better testing, it is essential to drive the API directly using industry standards like postman collections, OpenAPI spec, GraphQL, and introspection queries. StackHawk simplifies finding and fixing security issues in applications, integrating with CI/CD processes and providing simple descriptions and examples. Start a free trial at stackhawk.com to improve software quality.
¿Playwright puede hacer esto?
23 min
¿Playwright puede hacer esto?
Playwright is a powerful tool for end-to-end testing, offering support for all major browsers and platforms. It provides features like parallelization, built-in waiting, and assertions. Playwright allows for running tests on multiple browsers with a single command and has functionality for generating tests and performing visual regression testing. It also enables the manipulation of the network layer and loading internals of web pages. Best practices include using short and idempotent scripts, splitting user account flows into separate tests, and cleaning up after each test case.
CCTDD: Diseño impulsado por pruebas de componentes Cypress
25 min
CCTDD: Diseño impulsado por pruebas de componentes Cypress
Cypress component test-driven design can take front-end engineers to the next level by covering TDD examples, component testing, endpoint testing, and recommended best practices. The TDD flow involves starting with failing tests, making them work, and then improving them. Component tests can be written incrementally, using custom wrappers and props. The differences between React Testing Library and Cypress Component Test lie in the API style. Code coverage can be achieved with Cypress component tests, and the Pack.js Cypress Adapter can be used to avoid test duplication between the backend and frontend.
Pruebas E2E para Aplicaciones Web3
21 min
Pruebas E2E para Aplicaciones Web3
Top Content
In this Talk, Rafaela discusses Web3, its decentralized and token-based model, and the architecture based on smart contracts. Testing Web3 poses challenges due to the need for third-party providers like MetaMask. Approaches such as mocking the Web3 flow and using end-to-end testing tools like Taskafar are suggested. The trade-offs in Web3 testing include test speed and dependency on third-party apps. Balancing unit, integration, and end-to-end tasks is crucial for a robust testing strategy.
Automatización de pruebas utilizando WebdriverIO
163 min
Automatización de pruebas utilizando WebdriverIO
Workshop
Kevin Lamping
Kevin Lamping
En este masterclass, cubro no solo lo que WebdriverIO puede hacer, sino también cómo lo utilizarás día a día. He construido los ejercicios en torno a escenarios del mundo real que demuestran cómo realmente configurar las cosas. No es solo "qué hacer", sino específicamente "cómo llegar allí". Cubriremos los fundamentos de las pruebas automatizadas de UI para que puedas escribir pruebas mantenibles y útiles para tu sitio web y/o aplicación web.
Arquitectura de Pruebas Web y Refactorización con Cypress
158 min
Arquitectura de Pruebas Web y Refactorización con Cypress
Workshop
Walmyr
Walmyr
En este masterclass, te presentaré el proyecto migrator.cypress.io de una manera poco convencional, donde además de repasar los comandos de Cypress equivalentes a Protractor (y mostrarte lo simple que es Cypress), también te mostraré cómo probé dicho proyecto evolucionando los scripts de prueba automatizados según la demanda, arquitecturando el conjunto de pruebas de forma evolutiva.
Cómo empezar con Cypress
146 min
Cómo empezar con Cypress
WorkshopFree
Filip Hric
Filip Hric
La web ha evolucionado. Finalmente, también lo ha hecho el testing. Cypress es una herramienta de testing moderna que responde a las necesidades de testing de las aplicaciones web modernas. Ha ganado mucha popularidad en los últimos años, obteniendo reconocimiento a nivel mundial. Si has estado esperando aprender Cypress, ¡no esperes más! Filip Hric te guiará a través de los primeros pasos sobre cómo empezar a usar Cypress y configurar tu propio proyecto. La buena noticia es que aprender Cypress es increíblemente fácil. Escribirás tu primer test en poco tiempo y luego descubrirás cómo escribir un test de extremo a extremo completo para una aplicación web moderna. Aprenderás conceptos fundamentales como la capacidad de reintentar. Descubre cómo trabajar e interactuar con tu aplicación y aprende cómo combinar pruebas de API y de UI. A lo largo de todo este masterclass, escribiremos código y realizaremos ejercicios prácticos. Saldrás con una experiencia práctica que podrás aplicar a tu propio proyecto.
Automate WebApp Security Testing using GitHub Actions (from StackHawk team)
Recording pending
Automate WebApp Security Testing using GitHub Actions (from StackHawk team)
Workshop
Zachary Conger
Zachary Conger
Software development has changed - Frequent deployments, APIs, GraphQL, Cloud Architecture and CI/CD Automation are the norm. So why is security testing the same way it was a decade ago?Leading teams are realizing that periodical penetration testing and security audits is not enough when code is being shipped daily. Instead, these teams are using developer-centric tools to run automated security testing in a CI/CD pipeline. Join Zachary Conger as he walks through how to automate application JS security testing using GitHub.
How to Design a Sustainable Freelance/Contracting Career (from Toptal team)
Recording pending
How to Design a Sustainable Freelance/Contracting Career (from Toptal team)
Workshop
Shane Ketterman
Shane Ketterman
Ready to kickstart your freelance career or just getting started on your journey? You’re in the right spot. Learn from the world’s largest fully distributed workforce in the world.The independent talent movement is the future of work. If you’re considering leaving full-time employment for a career as a freelancer, now is the time to find your successful space in the independent talent workforce. More people are working freelance today than ever before, with the freelance marketplace now contributing $1.2 trillion to the US economy. Some of the most in-demand roles for freelancers right now are senior developers with professional experience in React, Python, Blockchain, QA, and Node.js.This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing/contracting career. We will give you tools, tips, best practices, and help you avoid common pitfalls.At the end of the workshop there will be a Q&A session with a Toptal Talent (Developer) who can answer your questions and provide insights and tips into their own success.