Brussels / 31 January & 1 February 2015


It Doesn't Do What You Think It Does

A Survey of Strategies for Gaining Confidence in (Testing) Applications/Systems

How do we have confidence that our applications and systems do what they say on the tin? This will be a brief survey of how people gain confidence that their systems work as intended, finding links between everything from type systems to operational monitoring and how each layer of a system can help improve our confidence in the other.

We will start with the emphasis of modern type systems on the compile time correctness of a program as well as language level strategies for run time assertions. We will transition from having confidence in our systems via language level features to external tests as we compare and contrast how tests are written using xUnit style and BDD style testing as well as introduce generative testing from functional languages. Going farther up the layers of abstraction, we will look at full system level testing of emergent behaviors via simulation testing. Finally we will compare similarities with simulation testing and staging environments, and how this level of insight is extended into production via monitoring.

This talk will discuss high level concepts with brief examples using FLOSS tools and many links for further examples and reading. Its target audience is intermediate Developers, Testers, and Leads that want to understand the big picture of how testing fits into many other disciplines.


Photo of Justin Stoller Justin Stoller