{"id":3,"date":"2006-06-14T22:16:32","date_gmt":"2006-06-15T04:16:32","guid":{"rendered":"https:\/\/www.chrisedwards.dreamhosters.com\/blog\/?p=3"},"modified":"2010-06-14T22:26:42","modified_gmt":"2010-06-15T04:26:42","slug":"is-test-driven-development-a-misnomer","status":"publish","type":"post","link":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/","title":{"rendered":"Is Test Driven &quot;Development&quot; a Misnomer?"},"content":{"rendered":"<p>I have been practicing Test Driven Development for about a year now, and have just recently had a revelation that has led me to change my perspective. I feel that Test Driven &#8220;Development&#8221;, may better be explained as Test Driven &#8220;Design&#8221;.<\/p>\n<p>In the agile world, the process of TDD is ingrained in all of us as a &#8220;must do&#8221; practice. However, many of us approach this from a completely wrong perspective. Its not just about testing, its also about design. But the terms &#8220;Design&#8221; and &#8220;Test&#8221; have historically been portrayed as polar opposites: design being done at the beginning of the project, and testing at the end. It seems counter-intuitive to combine the two into one process, but then again, the agile process as a whole is very counter-intuitive, yet very effective. So is TDD.<\/p>\n<p>The project I have been working on for the last year and a half is a dynamic calculation engine that evaluates formulas defined in metadata against a datastore. It is designed to be reusable so it has to be highly extensible to meet the varying needs of multiple applications. This introduces the need for configurability. In a recent iteration, we began to see that the code to actually instantiate the CalcEngine is very unwieldy. When did we find this out? When we wrote the test! Had we written the test first, we would have quickly realized this an designed it to be simpler to use.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been practicing Test Driven Development for about a year now, and have just recently had a revelation that has led me to change my perspective. I feel that Test Driven &#8220;Development&#8221;, may better be explained as Test Driven &#8220;Design&#8221;. In the agile world, the process of TDD is ingrained in all of us [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,6,3,8],"tags":[76,72,36,71],"class_list":["post-3","post","type-post","status-publish","format-standard","hentry","category-agile","category-design","category-test-driven-development","category-testing","tag-agile","tag-design","tag-tdd","tag-testing"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"ChrisEdwards\"\/>\n\t<link rel=\"canonical\" href=\"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Architester - Chris Edwards | Design, Testing &amp; Architecture\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Is Test Driven &quot;Development&quot; a Misnomer? | Architester - Chris Edwards\" \/>\n\t\t<meta property=\"og:url\" content=\"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2006-06-15T04:16:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2010-06-15T04:26:42+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Is Test Driven &quot;Development&quot; a Misnomer? | Architester - Chris Edwards\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#article\",\"name\":\"Is Test Driven \\\"Development\\\" a Misnomer? | Architester - Chris Edwards\",\"headline\":\"Is Test Driven &quot;Development&quot; a Misnomer?\",\"author\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/author\\\/chrisedwards\\\/#author\"},\"publisher\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/#organization\"},\"datePublished\":\"2006-06-14T22:16:32-06:00\",\"dateModified\":\"2010-06-14T22:26:42-06:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#webpage\"},\"isPartOf\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#webpage\"},\"articleSection\":\"Agile, Design, Test-Driven Development, Testing, Agile, Design, TDD, Testing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/architester.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/category\\\/test-driven-development\\\/#listItem\",\"name\":\"Test-Driven Development\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/category\\\/test-driven-development\\\/#listItem\",\"position\":2,\"name\":\"Test-Driven Development\",\"item\":\"http:\\\/\\\/architester.com\\\/blog\\\/category\\\/test-driven-development\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#listItem\",\"name\":\"Is Test Driven &quot;Development&quot; a Misnomer?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#listItem\",\"position\":3,\"name\":\"Is Test Driven &quot;Development&quot; a Misnomer?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/category\\\/test-driven-development\\\/#listItem\",\"name\":\"Test-Driven Development\"}}]},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/#organization\",\"name\":\"Architester - Chris Edwards\",\"description\":\"Design, Testing & Architecture\",\"url\":\"http:\\\/\\\/architester.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/author\\\/chrisedwards\\\/#author\",\"url\":\"http:\\\/\\\/architester.com\\\/blog\\\/author\\\/chrisedwards\\\/\",\"name\":\"ChrisEdwards\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3476e01c3ceb55c77ff6a84486161a657ee30d427833aef52e45c6fbc2c1105e?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"ChrisEdwards\"}},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#webpage\",\"url\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/\",\"name\":\"Is Test Driven \\\"Development\\\" a Misnomer? | Architester - Chris Edwards\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/2006\\\/06\\\/14\\\/is-test-driven-development-a-misnomer\\\/#breadcrumblist\"},\"author\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/author\\\/chrisedwards\\\/#author\"},\"creator\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/author\\\/chrisedwards\\\/#author\"},\"datePublished\":\"2006-06-14T22:16:32-06:00\",\"dateModified\":\"2010-06-14T22:26:42-06:00\"},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/#website\",\"url\":\"http:\\\/\\\/architester.com\\\/blog\\\/\",\"name\":\"Architester - Chris Edwards\",\"description\":\"Design, Testing & Architecture\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"http:\\\/\\\/architester.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Is Test Driven \"Development\" a Misnomer? | Architester - Chris Edwards","description":"","canonical_url":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#article","name":"Is Test Driven \"Development\" a Misnomer? | Architester - Chris Edwards","headline":"Is Test Driven &quot;Development&quot; a Misnomer?","author":{"@id":"http:\/\/architester.com\/blog\/author\/chrisedwards\/#author"},"publisher":{"@id":"http:\/\/architester.com\/blog\/#organization"},"datePublished":"2006-06-14T22:16:32-06:00","dateModified":"2010-06-14T22:26:42-06:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#webpage"},"isPartOf":{"@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#webpage"},"articleSection":"Agile, Design, Test-Driven Development, Testing, Agile, Design, TDD, Testing"},{"@type":"BreadcrumbList","@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"http:\/\/architester.com\/blog#listItem","position":1,"name":"Home","item":"http:\/\/architester.com\/blog","nextItem":{"@type":"ListItem","@id":"http:\/\/architester.com\/blog\/category\/test-driven-development\/#listItem","name":"Test-Driven Development"}},{"@type":"ListItem","@id":"http:\/\/architester.com\/blog\/category\/test-driven-development\/#listItem","position":2,"name":"Test-Driven Development","item":"http:\/\/architester.com\/blog\/category\/test-driven-development\/","nextItem":{"@type":"ListItem","@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#listItem","name":"Is Test Driven &quot;Development&quot; a Misnomer?"},"previousItem":{"@type":"ListItem","@id":"http:\/\/architester.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#listItem","position":3,"name":"Is Test Driven &quot;Development&quot; a Misnomer?","previousItem":{"@type":"ListItem","@id":"http:\/\/architester.com\/blog\/category\/test-driven-development\/#listItem","name":"Test-Driven Development"}}]},{"@type":"Organization","@id":"http:\/\/architester.com\/blog\/#organization","name":"Architester - Chris Edwards","description":"Design, Testing & Architecture","url":"http:\/\/architester.com\/blog\/"},{"@type":"Person","@id":"http:\/\/architester.com\/blog\/author\/chrisedwards\/#author","url":"http:\/\/architester.com\/blog\/author\/chrisedwards\/","name":"ChrisEdwards","image":{"@type":"ImageObject","@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3476e01c3ceb55c77ff6a84486161a657ee30d427833aef52e45c6fbc2c1105e?s=96&d=mm&r=g","width":96,"height":96,"caption":"ChrisEdwards"}},{"@type":"WebPage","@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#webpage","url":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/","name":"Is Test Driven \"Development\" a Misnomer? | Architester - Chris Edwards","inLanguage":"en-US","isPartOf":{"@id":"http:\/\/architester.com\/blog\/#website"},"breadcrumb":{"@id":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/#breadcrumblist"},"author":{"@id":"http:\/\/architester.com\/blog\/author\/chrisedwards\/#author"},"creator":{"@id":"http:\/\/architester.com\/blog\/author\/chrisedwards\/#author"},"datePublished":"2006-06-14T22:16:32-06:00","dateModified":"2010-06-14T22:26:42-06:00"},{"@type":"WebSite","@id":"http:\/\/architester.com\/blog\/#website","url":"http:\/\/architester.com\/blog\/","name":"Architester - Chris Edwards","description":"Design, Testing & Architecture","inLanguage":"en-US","publisher":{"@id":"http:\/\/architester.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Architester - Chris Edwards | Design, Testing &amp; Architecture","og:type":"article","og:title":"Is Test Driven &quot;Development&quot; a Misnomer? | Architester - Chris Edwards","og:url":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/","article:published_time":"2006-06-15T04:16:32+00:00","article:modified_time":"2010-06-15T04:26:42+00:00","twitter:card":"summary","twitter:title":"Is Test Driven &quot;Development&quot; a Misnomer? | Architester - Chris Edwards"},"aioseo_meta_data":{"post_id":"3","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-02-03 04:59:47","updated":"2025-12-10 06:53:42","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/architester.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/architester.com\/blog\/category\/test-driven-development\/\" title=\"Test-Driven Development\">Test-Driven Development<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tIs Test Driven \"Development\" a Misnomer?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"http:\/\/architester.com\/blog"},{"label":"Test-Driven Development","link":"http:\/\/architester.com\/blog\/category\/test-driven-development\/"},{"label":"Is Test Driven &quot;Development&quot; a Misnomer?","link":"http:\/\/architester.com\/blog\/2006\/06\/14\/is-test-driven-development-a-misnomer\/"}],"_links":{"self":[{"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/posts\/3","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/comments?post=3"}],"version-history":[{"count":4,"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/posts\/3\/revisions"}],"predecessor-version":[{"id":139,"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/posts\/3\/revisions\/139"}],"wp:attachment":[{"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/media?parent=3"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/categories?post=3"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/architester.com\/blog\/wp-json\/wp\/v2\/tags?post=3"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}