One of the most useful tools for deploying applications in production is an automated test system. Automated tests allow developers to be more confident when they modify their code, and it allows IT stuff to worry less that software upgrades will break existing applications.
Shiny developers now have tools for automated testing of complete applications, with the Shinytest package, so that you can be confident that your applications will keep operating as expected. Shinytest provides an easy-to-use test recorder that lets you create test scripts simply interacting with your application as usual. A test script represents user actions, and it plays back those actions with the application, using a headless browser. Shinytest records and saves the behavior of the application in response to these user actions. In the future, you run the test script again on the application, and the application’s new behavior is compared to its previous behavior; if there are any changes, it will alert you so that you can inspect the new behavior, and either confirm that the new behavior is expected, or reject it and find the cause of the changed behavior.
Shinytest can be used with continuous integration so that applications are tested every time code is committed. This webinar is for anyone who wants to learn how to use automated tests to make their Shiny applications more reliable and have fewer surprises in production.
Winston Chang is a software engineer at Posit and currently works on Shiny and related projects. He has also worked on several other R packages, including devtools, R6, and ggplot2. Winston is the author of the R Graphics Cookbook, published by O'Reilly Media, and has a PhD in psychology from Northwestern University.