December 7 - 11, 2023
TestJS Summit
Berlin, Germany & Online
TestJS Summit 2023

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.

Replay.ioPostmanFocusReactiveChromaticCodiumAI
32 min
The Art of ‘Humble Views’: Testing React Native Apps the Smart Way
In this talk, we explore the divisive world of testing, where developers often find themselves torn between writing no tests and striving for 100% test coverage. Learn how to navigate these polarizing positions and adopt a more nuanced strategy that makes testing efficient and effective.We'll dive into the concept of 'Humble Views,' where we minimize untestable objects by extracting logic from UI elements into test-friendly parts of the codebase. This approach simplifies testing, focusing on business logic instead of UI complexities. Discover how the Model-View-Presenter (MVP) architecture helps achieve this, with presenters serving as a logical layer for testing and hooks aiding in separating logic from UI components.Throughout the talk, we'll discuss the trade-offs of this approach, the role of End-to-End (E2E) tests, and how to strike the perfect balance between too much and too little testing. Join us as we delve into the art of creating 'Humble Views,' ensuring that our React Native apps are scalable, maintainable, and effectively tested!
8 min
Code coverage with AI
In this lightning demo I will showcase how Codium, a cutting-edge generative AI tool, is revolutionizing code integrity. We will demonstrate Codium's ability to generate useful Mocha tests, taken from a public repository and highlight the seamless integration. You can see Codium as it transforms complex test scenarios into actionable insights, propelling code coverage forward. Join us for an insightful peek into the future of automated testing where speed meets quality!
29 min
Fighting Test Flakiness with Time Machines
What would you do differently if you could travel back in time? Modern testing frameworks have transformed this whimsical question into a practical one, by creating their own “time machines”.Cypress’ timeline, Playwright’s trace-viewer and Replay.io’s recordings have offered a retrospective look into the life of a test, ensuring that developers and testers are no longer limited to basic error messages on test failures.However, these different time machines will bring different insights. So how do you decide? The decision on which one to use can make a significant difference in time spent on debugging a flaky test.In this presentation I will be focusing on comparing different time machine solutions and showing various flaky test examples to demonstrate how to navigate through debugging process and believe it or not - make it fun.Key Takeaways:- learn about how different time machine solutions work- discover how to effectively use time machines to debug a flaky test- find out about sources of flakiness within the test and within the application under test
21 min
Everyone Can Easily Write Tests
Let’s take a look at how Playwright can help you get your end to end tests written with tools like Codegen that generate tests on user interaction. Let’s explore UI mode for a better developer experience and then go over some tips to make sure you don’t have flakey tests. Then let’s talk about how to get your tests up and running on CI, debugging on CI and scaling using shards.
27 min
Testing Frameworks, Mobile Frameworks, and Browsers Love Developers and Testers
Focusing on being where your users are isn't as difficult as you think. A lot of groups out there will tell you that their tool is the best and that even though none of your users use that browser or mobile setup it is fine. In this talk, David will talk about all the differences that come up, why browser vendors are even telling folks not to focus on browser engines or virtual doms, and how the setup of development environments is simple to set up these days.

By ignoring the love that is being pushed to developers and testers through the work being done there can be tests that are passing but your users are failing to use your application! Don't worry, David will have the real world examples to show you how broken things are :)
27 min
What I Learned About Software Quality From The 10 Most Popular Javascript Projects On Github
It is very common for teams to have code review processes and this usually happens through pull requests. Each comment represents a step towards improving the quality of the software, however, there is a wide variety of points of view. The seniority of the team, the team itself, the company, the time left, the mentality, internal agreements, all of this impacts the way of reviewing code.

As a tester, I need to understand what happens in the code and when reviewing it, to identify flaws in the development process and improve my testing strategy.

In this talk, I will bring the results of research I carried out analyzing the comments contained in pull requests from the 10 most popular GitHub projects created in Javascript and bring some insights related to what I discovered. Among them: are which software quality characteristics are most exercised by Devs, which are weak points in their development process, where we can improve our tests to anticipate failures, and tools that can be used to test more comprehensively, among others.
21 min
Holistic Web Performance With Grafana and K6
When writing web performance tests, the tests you create from these tools come from lab data collected from pre-defined environments, devices, and network settings. Lab data allows you to reproduce performance results repeatably, making it useful for detecting and fixing performance issues early. However, lab data ignores a very important aspect: your users’ real experience of using your applications. Field data, collected from real users under various conditions, reflect how your application is being used in the real world and track the performance your users experience and even the errors they encounter. Real users also have different user behaviors, which cannot be all simulated realistically via test scripts or test cases. Real users use different devices, network conditions, caching mechanisms, and even system fonts that can impact how a site loads. Therefore, you must still complement your performance tools that are using lab data with field data or real-user monitoring (RUM) solutions to achieve a holistic approach to web performance testing. One way to do this is by complementing Grafana k6 browser with Grafana Faro.
29 min
No More Flaky Tests!
In this talk, you’ll learn what flaky tests are, the importance of deterministic tests, the collateral effects of non-deterministic tests, the motives why tests can become brittle, and finally, what to do (and what not to do) when you find flaky tests
29 min
Generative Ai In Your App? What Can Possibly Go Wrong?
Utilizing generative AI models can result in a lot of varied and even unexpected outputs, making them less deterministic and harder to test. When trying to integrate these models into your app, it can be challenging to ensure that you maintain a high level of quality from these AI outputs, and even ensure that their results don’t crash the flow of your app. Come relive my journey of discovery into how I was able to drastically improve results from OpenAi’s ChatGPT API, for use within my company’s product. In this talk I will share many tips that will help enable you to more effectively utilize the power of AI models like ChatGPT within your own apps, including testing strategies and how to avoid many of the issues I ran into.
27 min
Unlocking Rapid Delivery - perspective of a shift from DevOps to QAOps
Speed and quality are the two most common factors that development and operations teams are continuously fighting between. QA plays a strategic role, it is a connection point between development and operations. How can we accelerate software delivery without sacrificing quality? Join this presentation and you will find out why QA and Ops have a complimentary mindset.
29 min
Stop Triaging Your Test Suite
At some point, we accepted that end-to-end tests will be flaky, it’s okay to add retries, and it’s best practice to quarantine bad tests. It doesn’t have to be this way!This talk will cover the most common reasons for flaky tests, how to debug them with a time travel debugger, and how to fix them. While flaky tests are a problem that is as old as testing, it turns out that when you can capture and inspect them with Browser DevTools and retroactive console logs, they are quite fixable. And a test suite that is free of flakes runs faster, more reliably, and helps catch more issues before they reach production.
28 min
Mobile Device Testing for Cross-Platform Apps
Testing your React Native, Capacitor, or other cross-platform apps on mobile devices is a critical but complex step of deployment. If you’re used to web testing, navigating the options for iOS and Android can be daunting. This session will cover virtual & real device options, native build types for test deployments, how to deliver apps to testers, and even how to run automated tests against real devices.
9 min
Visual Testing: Optimize Storybook and Win
One thing most people agree on is that UI's have multiple dimensions of complexity.Imagine you are at lunch with some of your team or family, and you get a Slack message that a portion of the site isn’t working.The Ad placement no longer loads on your money-generating news site that sees millions of monthly users.Or your login form loads infinitely after a user attempts to log in, and no one can access the application.The backend logic works and all API requests return 200 responses.It turns out we missed a loading state handler for the component, and the UI does not render correctly.How do we manage all of that?The conventional approach is to build the component on the application page where it is first used and manually test or use integration tests to verify UI.This approach makes it difficult to verify all the component states.Instead of all this overwhelm, you want a simple comparison of your UI and how it looks now after making changes.This is where Storybook + a visual regression testing tool come in!
27 min
Rise of the Robots
Discover the future of automated mobile application testing with a JavaScript-powered mechanical arm. During this talk we will explore the design, prototyping, and implementation of this cutting-edge solution, optimizing testing efficiency and precision on real mobile devices. We will also discuss the challenges of building a hardware solution for the real world, and how to overcome them.
22 min
Measure and Improve Frontend Performance by Using Test Automation
Automated performance testing can help detect the harmful effects of code changes on application performance. Learn how to use tools like Lighthouse and Web Core Vitals in your CI and set performance thresholds to maintain optimal frontend performance in this session.
17 min
We've Rested Long Enough, What's Next?
Many developers are familiar with consuming/designing RESTful APIs, but what about building and consuming GraphQL and gRPC APIs? What about event-driven or asynchronous APIs? What are the benefits and technical limitations of each? Let’s go down the rabbit hole and explore some of these API types as alternatives to REST.
19 min
From Good to Great: Elevate Testing with Cypress Contract Tests
Discover the power of Cypress Contract Tests, a cutting-edge approach that takes your testing to new heights. In this presentation, we'll explore the concept of contract testing and how it ensures seamless communication between microservices. Then, we'll delve into the game-changing capabilities of Cypress, showcasing its unmatched potential to elevate your testing practices from good to great. Join us for insights, best practices, and real-world examples on how to integrate Cypress Contract Tests into your existing workflows, and revolutionize your testing strategy.
19 min
Synthetic Monitoring and e2e Testing: 2 Sides of the Same Coin
Despite the emergency of DevOp to unite development, support and SRE factions together using common processes, we still face cultural and tooling challenges that create the Dev and Ops silos. Specifically, we often use different tools to achieve similar testing: case in point validating the user experience in production using Synthetic Monitoring and in development using e2e testing. By joining forces around common tooling, we can use the same tool for both production monitoring and testing within CI. In this talk, I will discuss how Synthetic Monitoring and e2e Testing are two sides of the same coin. Furthermore, I shall show how production monitoring and development testing can be achieved using Playwright, GitHub Actions and Elastic Synthetics.
19 min
Exploring Node Modules for Test Automation
In my talk I will explore the challenges faced when trying to manage and maintain test code across multiple projects and what made me create my first Javascript module. I will showcase the process of building, publishing, and versioning it using the powerful capabilities of GitHub Actions. And finally, I will talk about the benefits of doing it.
22 min
Testing Library: Everybody Uses It, But Nobody Understands It
Testing is an essential part of software development, but it can be a tricky and time-consuming process. The popular testing-library package is a widely used tool that helps developers write reliable and maintainable frontend tests based on a behavior driven approach, but many users are not fully aware of how it works. In this talk, I, as one of the maintainers of the package, give an in-depth look into testing-library. You will learn how testing-library is designed to encourage good testing practices and how it can help you write more maintainable tests.
21 min
Zen and the Art of UI Components Testing
Yes, we do need to test our UI components but... If this rings a bell, and especially if your application has advanced UI functionality, this talk is for you.In this talk, we will cover what are the factors that need to be tested in UI components. We will challenge the testing pyramid when it comes to UI Components testing, and review the different tools that we have nowadays for making UI component testing complete Zen.
20 min
Revolutionizing JS Testing with AI: Unmasking the Future of Quality Assurance
"Revolutionizing JS Testing with AI: Unmasking the Future of Quality Assurance" is a forward-thinking talk that delves into the transformative power of AI in JavaScript testing. The presentation offers an enlightening exploration of AI Testing principles, practical applications, and future potential. By featuring AI-driven tools like Testim, ReTest, Datadog, and Applitools, this talk brings theory to life, demonstrating how AI can automate test case generation, optimize anomaly detection, and streamline visual regression testing. Attendees will also gain insights into the anticipated advancements in AI Testing for JavaScript. The talk concludes with a lively Q&A, inviting everyone to delve deeper into the world of AI and JavaScript testing. Be prepared to reimagine your QA process with AI!