Back To Schedule
Monday, November 15 • 23:10 - Tuesday, November 16 •00:00
(Replay) End-to-end Testing of a JUCE Desktop Application

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Please note that the recordings on Zoom are Dual Mono and not Stereo - some pre-recorded sessions have been uploaded to YouTube to preserve the independent dual channel audio, but some sessions may still be affected.

Unit tests are a great way to test isolated units of code, but they can’t give you confidence about a complete application. End-to-end testing aims to test an application in close to real-world circumstances. However, the automated end-to-end testing of desktop applications presents a number of challenges.

We will demonstrate an end-to-end test system that we have developed for testing JUCE desktop applications. The tests are written in Typescript. Each test starts the application, runs a single test, then shuts the application down and logs the results.

We will discuss how we overcame some of the challenges that we faced. For example, how do you control the keyboard and mouse without special privileges? How do you stream audio on a continuous integration node that doesn’t have any audio devices? How do you read the state of the user interface in a reliable way?


avatar for Joe Noel

Joe Noel

Senior Software Developer, Focusrite
Joe is a Software Developer at Focusrite. During the last eight years, Joe has worked on various projects across the Focusrite, Novation, and Ampify brands. These have ranged from desktop development for macOS and Windows, mobile development for iOS, and embedded development for ARM... Read More →

Monday November 15, 2021 23:10 - Tuesday November 16, 2021 00:00 GMT
Online 1
  Online Only
  • Level Intermediate, Advanced