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 Audio Engineering Ltd.
Joe is a Software Developer at Focusrite. He has worked on desktop, mobile, and embedded products for the Focusrite, Novation, and Ampify brands. He is a keen dabbler in Rust, making use of it in various personal projects.

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