{"id":458,"date":"2011-10-17T09:57:21","date_gmt":"2011-10-17T13:57:21","guid":{"rendered":"http:\/\/sqlity.net\/en\/?p=458"},"modified":"2014-11-13T15:23:50","modified_gmt":"2014-11-13T20:23:50","slug":"presentation-materials-tdd-thwarting-database-defects","status":"publish","type":"post","link":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/","title":{"rendered":"Presentation Materials: TDD &#8211; Thwarting Database Defects"},"content":{"rendered":"<h3>Abstract<\/h3>\n<p>\nIt\u2019s bad enough to spend hours finding and fixing database defects, explaining to the rest of the team what went wrong and trying to clean up the mess. It\u2019s even worse when a defect causes the end-user to make a bad decision. Database defects are far too costly and most testing practices do not adequately detect or prevent them. This presentation introduces <a title=\"tSQLt\" href=\"http:\/\/tsqlt.org\">tSQLt<\/a>, a framework for automated database unit testing. You\u2019ll learn techniques to write SQL code that is resilient to defects and is easier to change and maintain.\n<\/p>\n<h3>Downloads<\/h3>\n<ul>\n<li><a href=\"http:\/\/downloads.sqlity.net\/ThwartingDatabaseDefects.zip\">Slides<\/a><\/li>\n<\/ul>\n<h3>Other Resources<\/h3>\n<ul>\n<li>tSQLt Website: <a href=\"http:\/\/tSQLt.org\">http:\/\/tSQLt.org<\/a><\/li>\n<li>tSQLt Mailing List: <a target=\"tSQLtGooglegroup\" href=\"http:\/\/groups.google.com\/forum\/?fromgroups#!forum\/tsqlt\">t&#x73;q&#108;&#x74;&#64;&#103;&#x6f;o&#x67;&#x6c;e&#x67;r&#111;&#x75;p&#115;&#x2e;c&#x6f;&#x6d;<\/a><\/li>\n<li>TestDrivenDatabases Website: <a href=\"http:\/\/www.testdrivendatabases.com\/\">http:\/\/www.testdrivendatabases.com\/<\/a><\/li>\n<li>sqlity.net Website: <a href=\"http:\/\/sqlity.net\">http:\/\/sqlity.net<\/a><\/li>\n<li>Curiously Correct Website: <a href=\"http:\/\/curiouslycorrect.com\">http:\/\/curiouslycorrect.com<\/a><\/li>\n<\/ul>\n<h3>Class Announcement<\/h3>\n<div>\n<a href='http:\/\/agiledatabases.tsqlt.org\/'\nonClick=\"_gaq.push(['_trackEvent', 'Cat', 'Btn', 'Training_AgileDbTour']);abtest.trackGoal(1, this);\"\n><\/p>\n<div style=\"width:400px;border-radius:10px;border:1px solid #0077C5;margin:10px 0;padding:10px;background-image:url(http:\/\/tsqlt.org\/wp-content\/uploads\/2012\/09\/14lx87y-bkgseattle.png)\">\n<p style=\"text-align:left;color:#BD0000;font-weight:bold;font-size:24px;\">Agile Database Development<\/p>\n<p style=\"text-align:left;color:#F4AF4F;font-weight:bold;font-size:24px;\">Seattle<\/p>\n<p style=\"text-align:left;color:#555;font-weight:bold;font-size:16px;\">November 6th, 2012<\/p>\n<p style=\"text-align:left;color:#555;font-weight:bold;font-size:12px;\">A one-day introduction to Agile database practices with SQL Server, held between Red Gate\u2019s SQL in the City and SQL PASS Summit 2012.<\/p>\n<\/div>\n<p><\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Abstract It\u2019s bad enough to spend hours finding and fixing database defects, explaining to the rest of the team what went wrong and trying to clean up the mess. It\u2019s even worse when a defect causes the end-user to make <a href=\"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/\">[more&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[11],"tags":[],"class_list":["post-458","post","type-post","status-publish","format-standard","hentry","category-presentations"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Presentation Materials: TDD - Thwarting Database Defects - sqlity.net<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Presentation Materials: TDD - Thwarting Database Defects - sqlity.net\" \/>\n<meta property=\"og:description\" content=\"Abstract It\u2019s bad enough to spend hours finding and fixing database defects, explaining to the rest of the team what went wrong and trying to clean up the mess. It\u2019s even worse when a defect causes the end-user to make [more...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/\" \/>\n<meta property=\"og:site_name\" content=\"sqlity.net\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/sqlity.net\" \/>\n<meta property=\"article:published_time\" content=\"2011-10-17T13:57:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-13T20:23:50+00:00\" \/>\n<meta name=\"author\" content=\"Sebastian Meine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sqlity\" \/>\n<meta name=\"twitter:site\" content=\"@sqlity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sebastian Meine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/\"},\"author\":{\"name\":\"Sebastian Meine\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"headline\":\"Presentation Materials: TDD &#8211; Thwarting Database Defects\",\"datePublished\":\"2011-10-17T13:57:21+00:00\",\"dateModified\":\"2014-11-13T20:23:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/\"},\"wordCount\":164,\"commentCount\":2,\"articleSection\":[\"Presentations\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/\",\"name\":\"Presentation Materials: TDD - Thwarting Database Defects - sqlity.net\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\"},\"datePublished\":\"2011-10-17T13:57:21+00:00\",\"dateModified\":\"2014-11-13T20:23:50+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/458\\\/presentation-materials-tdd-thwarting-database-defects\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Presentation Materials: TDD &#8211; Thwarting Database Defects\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\",\"name\":\"sqlity.net\",\"description\":\"Quality for SQL\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sqlity.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\",\"name\":\"Sebastian Meine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"caption\":\"Sebastian Meine\"},\"sameAs\":[\"http:\\\/\\\/sqlity.net\",\"https:\\\/\\\/x.com\\\/sqlity\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Presentation Materials: TDD - Thwarting Database Defects - sqlity.net","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/","og_locale":"en_US","og_type":"article","og_title":"Presentation Materials: TDD - Thwarting Database Defects - sqlity.net","og_description":"Abstract It\u2019s bad enough to spend hours finding and fixing database defects, explaining to the rest of the team what went wrong and trying to clean up the mess. It\u2019s even worse when a defect causes the end-user to make [more...]","og_url":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/","og_site_name":"sqlity.net","article_publisher":"https:\/\/www.facebook.com\/sqlity.net","article_published_time":"2011-10-17T13:57:21+00:00","article_modified_time":"2014-11-13T20:23:50+00:00","author":"Sebastian Meine","twitter_card":"summary_large_image","twitter_creator":"@sqlity","twitter_site":"@sqlity","twitter_misc":{"Written by":"Sebastian Meine","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/#article","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/"},"author":{"name":"Sebastian Meine","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"headline":"Presentation Materials: TDD &#8211; Thwarting Database Defects","datePublished":"2011-10-17T13:57:21+00:00","dateModified":"2014-11-13T20:23:50+00:00","mainEntityOfPage":{"@id":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/"},"wordCount":164,"commentCount":2,"articleSection":["Presentations"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/","url":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/","name":"Presentation Materials: TDD - Thwarting Database Defects - sqlity.net","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/#website"},"datePublished":"2011-10-17T13:57:21+00:00","dateModified":"2014-11-13T20:23:50+00:00","author":{"@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"breadcrumb":{"@id":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sqlity.net\/en\/458\/presentation-materials-tdd-thwarting-database-defects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sqlity.net\/en\/"},{"@type":"ListItem","position":2,"name":"Presentation Materials: TDD &#8211; Thwarting Database Defects"}]},{"@type":"WebSite","@id":"https:\/\/sqlity.net\/en\/#website","url":"https:\/\/sqlity.net\/en\/","name":"sqlity.net","description":"Quality for SQL","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sqlity.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c","name":"Sebastian Meine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","caption":"Sebastian Meine"},"sameAs":["http:\/\/sqlity.net","https:\/\/x.com\/sqlity"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2wXuw-7o","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/comments?post=458"}],"version-history":[{"count":0,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/458\/revisions"}],"wp:attachment":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media?parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/categories?post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/tags?post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}