diff --git a/articles/published/testing-telos.md b/articles/published/testing-telos.md index 7dec8c0..d374e6e 100644 --- a/articles/published/testing-telos.md +++ b/articles/published/testing-telos.md @@ -1,6 +1,6 @@ # Testing Telos -The classic *Testing Pyramid* is not wrong; it is simply *incomplete*. It was forged for one specific kind of engineering work: the steady addition of new user-facing features. In that narrow context the pyramid makes perfect sense: a broad base of fast, inexpensive unit tests, a smaller middle layer of integration tests, and a thin apex of end-to-end checks. The shape itself is the visual signature of a final cause or ultimate purpose of that work. The word that Aristotle used for this concept, was *telos*. +The classic *Testing Pyramid* is not wrong; it is simply *incomplete*. It was forged for one specific kind of engineering work: the steady addition of new user-facing features. In that narrow context the pyramid makes perfect sense: a broad base of fast, inexpensive unit tests, a smaller middle layer of integration tests, and a thin apex of end-to-end checks. The shape itself is the visual signature of a final cause or ultimate purpose of that work. The word that Aristotle used for the concept of an ultimate purpose was *telos*. In Aristotelian terms, also, software testing (and software development) is *techne* — a craft. A craftsman does not begin with a fixed form and force every material into it. He begins with the *purpose* the artifact must serve, then lets the material and the method follow. In testing, the software is the material object; the testing strategy is the form; and the engineering goal is the telos. When these causes are mismatched, confidence is illusory and effort is wasted.