Example-driven development: bridging tests and documentation
Software systems should be explainable, that is, they should help us to answer questions while exploring, developing or using them. Textual documentation is a very weak form of explanation, since it is not causally connected to the code, so easily gets out of date. Tests, on the other hand, are causally connected to code, but they are also a weak form of explanation. Although some tests encode interesting scenarios that answer certain questions about how the system works, most tests tend to be uninteresting.
Examples are tests that are also factories for interesting system entities. Instead of simply succeeding or failing, an example returns the object under test so that it can be inspected, or reused to compose further tests. An example is causally connected to the system, is always live and tested, and can be embedded into live documentation. Although technically examples constitute just a tiny modification to test methods, their impact is potentially ground-breaking.
We show (i) how Example-Driven Development (EDD) enriches TDD with live programming, (ii) how examples can be molded with tiny tools to answer analysis questions, and (iii) how examples can be embedded within live documentation to make a system explainable.
Mon 21 OctDisplayed time zone: Pacific Time (US & Canada) change
14:00 - 15:30 | |||
14:00 20mTalk | Run, Build and Grow Small Systems Without Leaving Your Text Editor LIVE | ||
14:20 20mTalk | TAPE: From direct to programmatic and back LIVE Ian Clester Georgia Institute of Technology | ||
14:40 10mTalk | Diff-based interactive compiler debugging and testing LIVE Luyu Cheng Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology) Link to publication | ||
14:50 10mTalk | Example-driven development: bridging tests and documentation LIVE Link to publication DOI | ||
15:00 20mTalk | Live Programming a Live Programming Environment: An Experience Report LIVE Elliot Evans Polytope, Philippa Markovics Nextjournal, Martin Kavalar Nextjournal, Andrea Amantini Nextjournal, Jack Rusher Nextjournal |