{"id":391,"date":"2006-09-11T13:17:25","date_gmt":"2006-09-11T12:17:25","guid":{"rendered":"http:\/\/www.craigmurphy.com\/blog\/?p=391"},"modified":"2006-09-26T08:41:50","modified_gmt":"2006-09-26T07:41:50","slug":"glasgow-26th-september-2006-re-running-test-driven-development-and-code-coverage","status":"publish","type":"post","link":"https:\/\/www.craigmurphy.com\/blog\/?p=391","title":{"rendered":"Glasgow 26th September 2006 &#8211; Re-running Test-Driven Development and Code Coverage"},"content":{"rendered":"<p><strong>What and When<\/strong><br \/>\nI will be running my <strong>Test-Driven Development and Code Coverage<\/strong> session (for the third time) in Glasgow on the <strong>26th of September 2006<\/strong>.  Praise for the session can be found <a href=\"http:\/\/blog.evilissimo.net\/2006\/07\/28\/nrw06-a-bunch-of-geeks\/\">here<\/a>.<\/p>\n<p><strong>Venue<\/strong><br \/>\nWoodside Hall<br \/>\n36, Glenfarg Street<br \/>\nG20 7QS<\/p>\n<p><strong>Map<\/strong><br \/>\n<a href=\"http:\/\/maps.google.co.uk\/maps?f=q&#038;hl=en&#038;q=Woodside+Halls,+36+Glenfarg+Street,G20+7QS&#038;ie=UTF8&#038;z=17&#038;ll=55.872566,-4.26718&#038;spn=0.002721,0.007231&#038;om=1\">Click here<\/a><\/p>\n<p><strong>Contact<\/strong><br \/>\nEmma Britton via <a href=\"http:\/\/www.vbug.com\">VBUG<\/a>.<\/p>\n<p>&#8212;<\/p>\n<p>TDD and Code Coverage in .NET<\/p>\n<p>ABSTRACT<br \/>\nTesting code can be a laborious process that is repetitive in its nature. Empirical evidence confirms that most repetitive processes enjoy a lot of success, or coverage, during early iterations, but later iterations suffer from lower coverage as the tedium sets in. For that reason, we sought to automate the repetitive testing process, i.e. we wrote some code that could replace the repetitive process. The development community achieved this by the adoption of a testing framework that embraced Test-Driven Development (TDD) and testing tools such as NUnit. <\/p>\n<p>The ethos behind TDD and NUnit is \u201cwrite once, use often\u201d, i.e. once a test has been written it can be used many times. Naturally, by embodying \u201ctests\u201d in code and by using a tool to run those tests, we find the repetitive nature of testing disappears and the process of testing actually beings to provide confidence boosts.<\/p>\n<p>However, whilst adoption of TDD and NUnit provides major advances in the reduction of repetitive testing tasks, they do not help us ensure that the tests actually cover as much of the code-base as is possible\/required. It is possible to write a collection of tests that only exercise 25% of the code-base, yet because the tests are successful (i.e. they pass), the developer\u2019s confidence is so high, s\/he fails to spot that there is still a lot of test code still to be written.<\/p>\n<p>Code coverage, is not a new technique, the likes of Boris Bezier discussed it in 1990 and Tom McCabe wrote about it as far back as 1976. Today, we can use graphical tools to determine how much of our code is exercised, or covered during an execution cycle. Such tools help us identify which areas of our code have not been tested and can help us direct our effort. However, they do rely on some manual effort that is repetitive, i.e. a user\/developer must walk through the application. Luckily, if we are practicing TDD, we have a set of automated tests that we can tap into thus alleviate this repetition. <\/p>\n<p>Over the course of 90 minutes Craig will demonstrate four .net tools, NUnit, NCover, NCoverExplorer and TestDriven.Net. All of these tools and free and work with .net 1.1 and 2.0. A variety of IDEs are supported, include Visual Studio 2003 and Visual Studio 2005. He will explain the basics of TDD and code coverage and why they are both important skills and processes to include in your development\/build process. Examples will be written in C# and Visual Studio 2005.<\/p>\n<p>BIO<br \/>\nCraig Murphy is an author, developer, speaker, project manager, Microsoft MVP (Connected Systems) and is a Certified ScrumMaster. Commercially, Craig has been using Borland Delphi since 1998; today, he uses Visual Studio 2005 and C#. He regularly writes articles product\/book reviews: The Delphi Magazine, International Developer, ASPToday and Computer Headline have published his work. Craig has written for virtually every Developers Group magazine issue since the year 2000! He specialises in all things related to .NET, C#, Borland Delphi, XML\/Web Services, XSLT, Test-Driven Development, Extreme Programming, agile methods and Scrum. In his career to date, Craig has written cost estimating software for the oil and gas industry and asset valuation software for local councils and the Ministry of Defence. He has a day-job, a wife and a son.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What and When I will be running my Test-Driven Development and Code Coverage session (for the third time) in Glasgow on the 26th of September 2006. Praise for the session can be found here. Venue Woodside Hall 36, Glenfarg Street G20 7QS Map Click here Contact Emma Britton via VBUG. &#8212; TDD and Code Coverage &hellip; <a href=\"https:\/\/www.craigmurphy.com\/blog\/?p=391\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Glasgow 26th September 2006 &#8211; Re-running Test-Driven Development and Code Coverage<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,16],"tags":[],"class_list":["post-391","post","type-post","status-publish","format-standard","hentry","category-community","category-developer-events"],"_links":{"self":[{"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=391"}],"version-history":[{"count":0,"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/391\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.craigmurphy.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}