Integration testing can be reliable and low-effort in a projectional IDE through snapshots - DEMOVirtual
Snapshot tests are integration tests that remember the expected outcome of a given expression. When being run, snapshot tests compare if the actual return value is still equal to the remembered snapshot.
We transferred the snapshot testing principle to a projectional, DSL-friendly programming environment, where our implementation allows us to conveniently review and process failing integration tests.
In this demo, we will show how we utilize the projectional IDE MPS to create an assert_snapshot_equals statement that is easy to maintain. We further show how we apply this principle to our application’s domain “automotive cybersecurity risk calculation”, where we crafted a domain-specific user interface for reviewing the snapshots of calculation results.
We found it inspiring to see how snapshot testing is especially useful for our integration tests to reliably spot changes at relatively low maintenance effort.
Here is the 5min video: https://vimeo.com/745367004
Mon 5 DecDisplayed time zone: Auckland, Wellington change
10:30 - 12:00 | |||
10:30 15mTalk | Integration testing can be reliable and low-effort in a projectional IDE through snapshots - DEMOVirtual PAINT Bastian Kruck itemis SECURE // Hasso Plattner Institute | ||
10:45 15mTalk | Towards a Python 3 IDE for Teaching Creative Programming PAINT Tristan Bunn Victoria University of Wellington, Craig Anslow Victoria University of Wellington, Karsten Lundqvist | ||
11:00 15mTalk | Conjecturing on a Fundamental Theorem of Computation and its Implications for a New Theory in Programmer Experience Design PAINT Gary Miller University of Technology Sydney | ||
11:15 15mTalk | Domain-Specific Visual Language for Data Engineering Quality PAINT DOI Pre-print | ||
11:30 15mTalk | Blocks, Blocks, and More Blocks-Based Programming PAINT Benjamin Selwyn-Smith Oracle Labs, Craig Anslow Victoria University of Wellington, Michael Homer Victoria University of Wellington DOI | ||
11:45 15mTalk | Interleaved 2D Notation for Concatenative Programming PAINT Michael Homer Victoria University of Wellington DOI Pre-print |