<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>ISerializable - Roy Osherove's  Blog</title><link>http://weblogs.asp.net/rosherove/default.aspx</link><description>Unit Testing, Agile Development, Leadership &amp;amp; .NET  - By Roy Osherove</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><image><link>http://www.ISerializable.com</link><url>http://files.osherove.com/Roy_Pic_BW_Small.jpg</url><title>Roy Osherove</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Iserializable" type="application/rss+xml" /><feedburner:emailServiceId>Iserializable</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Recommended books part III</title><link>http://feedproxy.google.com/~r/Iserializable/~3/gC7dq8V6izM/recommended-books-part-iii.aspx</link><pubDate>Thu, 05 Nov 2009 10:48:49 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7247700</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7247700</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/11/05/recommended-books-part-iii.aspx#comments</comments><description>&lt;object width="580" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/RVmOFPtn85w&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/RVmOFPtn85w&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;as usual, the &lt;a href="http://osherove.com/books-i-like"&gt;book link list can be found here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7247700" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=gC7dq8V6izM:8RdBnIV_cvM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=gC7dq8V6izM:8RdBnIV_cvM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=gC7dq8V6izM:8RdBnIV_cvM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=gC7dq8V6izM:8RdBnIV_cvM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/gC7dq8V6izM" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/11/05/recommended-books-part-iii.aspx</feedburner:origLink></item><item><title>Recommended books - part II</title><link>http://feedproxy.google.com/~r/Iserializable/~3/W9j3dxs87-E/recommended-books-part-ii.aspx</link><pubDate>Sun, 01 Nov 2009 23:22:01 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7244839</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7244839</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/11/01/recommended-books-part-ii.aspx#comments</comments><description>&lt;object width="580" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1FSdXt2sML0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/1FSdXt2sML0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;as usual, the &lt;a href="http://osherove.com/books-i-like"&gt;book link list can be found here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7244839" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=W9j3dxs87-E:WyJOPx_6TFY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=W9j3dxs87-E:WyJOPx_6TFY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=W9j3dxs87-E:WyJOPx_6TFY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=W9j3dxs87-E:WyJOPx_6TFY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/W9j3dxs87-E" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/11/01/recommended-books-part-ii.aspx</feedburner:origLink></item><item><title>Recommended books - part 1</title><link>http://feedproxy.google.com/~r/Iserializable/~3/dG66w-xwmRA/recommended-books-part-1.aspx</link><pubDate>Thu, 29 Oct 2009 23:17:02 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7242829</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7242829</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/10/29/recommended-books-part-1.aspx#comments</comments><description>&lt;object width="580" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IffTHbOjUbQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IffTHbOjUbQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;You can find the list of books with links over here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://osherove.com/books-i-like"&gt;http://osherove.com/books-i-like&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7242829" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=dG66w-xwmRA:-4dlSFGXn8g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=dG66w-xwmRA:-4dlSFGXn8g:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=dG66w-xwmRA:-4dlSFGXn8g:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=dG66w-xwmRA:-4dlSFGXn8g:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/dG66w-xwmRA" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/10/29/recommended-books-part-1.aspx</feedburner:origLink></item><item><title>TypeMOQ API</title><link>http://feedproxy.google.com/~r/Iserializable/~3/IIBCl4X0klo/typemoq-api.aspx</link><pubDate>Fri, 23 Oct 2009 13:18:14 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7237123</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7237123</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/10/23/typemoq-api.aspx#comments</comments><description>&lt;p&gt;I was fiddling around with the typemock API, see what it would belike to use it in a more &lt;a href="http://code.google.com/p/moq/" target="_blank"&gt;MOQ&lt;/a&gt; like manner:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/image_16BF1A0C.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/rosherove/image_thumb_7DB323F9.png" width="702" height="256" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;to support this, &lt;a href="http://codepaste.net/kqqyrm" target="_blank"&gt;all the code you need, including the Faker class exists here&lt;/a&gt;. you’d need to reference the typemock dll and the typemock c# API dll to make it work.&lt;/p&gt;  &lt;p&gt;I’m not sure I’m crazy about it, but it is shorter. I’m not sure it’s as readable, though.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7237123" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=IIBCl4X0klo:NE9LWobk5oM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=IIBCl4X0klo:NE9LWobk5oM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=IIBCl4X0klo:NE9LWobk5oM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=IIBCl4X0klo:NE9LWobk5oM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/IIBCl4X0klo" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Unit+Testing/default.aspx">Unit Testing</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Typemock/default.aspx">Typemock</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/10/23/typemoq-api.aspx</feedburner:origLink></item><item><title>Introducing Typemock IntelliTest</title><link>http://feedproxy.google.com/~r/Iserializable/~3/PYWDSCtIGqo/introducing-typemock-intellitest.aspx</link><pubDate>Sun, 18 Oct 2009 19:25:31 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7232581</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7232581</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/10/18/introducing-typemock-intellitest.aspx#comments</comments><description>We just released &lt;a href="http://learn.typemock.com/download/" target="_blank"&gt;the latest version (5.4.2)&lt;/a&gt; of Typemock Isolator, with one cool Addon built in - &lt;strong&gt;Typemock Intellitest&lt;/strong&gt;.   &lt;p&gt;what’s it about? in one word: productivity.&lt;/p&gt;  &lt;p&gt;Here's what it does: &lt;/p&gt;  &lt;p&gt;&lt;object width="445" height="364"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AIr1uheuPIs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/AIr1uheuPIs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;(&lt;a href="http://blog.typemock.com/2009/10/isolator-542-released-introducing.html" target="_blank"&gt;here's the full info&lt;/a&gt;)&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7232581" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=PYWDSCtIGqo:2lfTJZYUcLA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=PYWDSCtIGqo:2lfTJZYUcLA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=PYWDSCtIGqo:2lfTJZYUcLA:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=PYWDSCtIGqo:2lfTJZYUcLA:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/PYWDSCtIGqo" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Unit+Testing/default.aspx">Unit Testing</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Typemock/default.aspx">Typemock</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/10/18/introducing-typemock-intellitest.aspx</feedburner:origLink></item><item><title>Test Review: MEF</title><link>http://feedproxy.google.com/~r/Iserializable/~3/LQQ7xyggdU0/test-review-mef.aspx</link><pubDate>Sun, 18 Oct 2009 05:19:37 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7232287</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7232287</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/10/18/test-review-mef.aspx#comments</comments><description>&lt;p&gt;it’s late at night, and my new baby just went to sleep, again.&lt;/p&gt;  &lt;p&gt;Time for another test review! (you can find &lt;a href="http://weblogs.asp.net/rosherove/archive/tags/TestReview/default.aspx" target="_blank"&gt;other test reviews here&lt;/a&gt;)&lt;/p&gt;   &lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7121073&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=7121073&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/7121073"&gt;Test Review - MEF&lt;/a&gt; from &lt;a href="http://vimeo.com/user222785"&gt;Roy Osherove&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7232287" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=LQQ7xyggdU0:WaF1gqE9qis:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=LQQ7xyggdU0:WaF1gqE9qis:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=LQQ7xyggdU0:WaF1gqE9qis:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=LQQ7xyggdU0:WaF1gqE9qis:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/LQQ7xyggdU0" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Unit+Testing/default.aspx">Unit Testing</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Testing+Guidelines/default.aspx">Testing Guidelines</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/TestReview/default.aspx">TestReview</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/10/18/test-review-mef.aspx</feedburner:origLink></item><item><title>Why Google Chrome and FireFox are a big security risk for anyone using them</title><link>http://feedproxy.google.com/~r/Iserializable/~3/eSLSdKPmyXc/why-google-chrome-and-firefox-are-a-big-security-risk-for-anyone-using-them.aspx</link><pubDate>Mon, 05 Oct 2009 21:18:39 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7223783</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>37</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7223783</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/10/05/why-google-chrome-and-firefox-are-a-big-security-risk-for-anyone-using-them.aspx#comments</comments><description>&lt;p&gt;I’ve stopped using Internet Explorer – Too damn slow, memory hogging beast.&lt;/p&gt;  &lt;p&gt;I’ve stopped using FireFox, for the same reasons, funnily enough (until I found out about the security flaw).&lt;/p&gt;  &lt;p&gt;I’m now using Safari – it’s blazing fast, reliable and does not have that aweful security risk that Chrome does.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;What is it?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Google Chrome will reveal your saved passwords to anyone&lt;/strong&gt; who wants them, with no possibility of securing them with a master password. The image below shows what happens when I use Chrome to save my password for gmail, I can then just go an open chrome options, click “Show Saved passwords” and select a line there, and click “Show password” (in the image that button is titled “Hide password” after clicking it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/image_328DB129.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/rosherove/image_thumb_09FEA948.png" width="788" height="528" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;With Firefox, the &lt;strong&gt;default&lt;/strong&gt; behavior is to allow anyone to see your passwords as well, but you can &lt;strong&gt;actively&lt;/strong&gt; choose to use a master password in firefox to make this less accessible. the &lt;strong&gt;default&lt;/strong&gt; is that it’s open for anyone to see. With Chrome, there isn’t even a “master password” option.&lt;/p&gt;  &lt;p&gt;Until they fix this, I am &lt;strong&gt;not&lt;/strong&gt; going to use Chrome, I don’t care how fast it is. Safari is fast and doesn’t show my passwords. &lt;/p&gt;  &lt;p&gt;K THX BY&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7223783" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=eSLSdKPmyXc:kJY143zXFEs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=eSLSdKPmyXc:kJY143zXFEs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=eSLSdKPmyXc:kJY143zXFEs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=eSLSdKPmyXc:kJY143zXFEs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/eSLSdKPmyXc" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/.NET/default.aspx">.NET</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/10/05/why-google-chrome-and-firefox-are-a-big-security-risk-for-anyone-using-them.aspx</feedburner:origLink></item><item><title>Poll: Which mocking\isolation framework do you use?</title><link>http://feedproxy.google.com/~r/Iserializable/~3/iYDAGP86YHg/poll-which-mocking-isolation-framework-do-you-use.aspx</link><pubDate>Wed, 30 Sep 2009 21:34:34 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7220628</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7220628</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/09/30/poll-which-mocking-isolation-framework-do-you-use.aspx#comments</comments><description>&lt;p&gt;Time for the bi-annual frameworks poll!&lt;/p&gt;  &lt;script type="text/javascript" charset="utf-8" src="http://static.polldaddy.com/p/2061228.js"&gt;&lt;/script&gt;&lt;noscript&gt; &lt;a href="http://answers.polldaddy.com/poll/2061228/"&gt;Which isolation framework do you mostly use these days?&lt;/a&gt;&lt;span style="font-size:9px;"&gt;(&lt;a href="http://www.polldaddy.com"&gt;online surveys&lt;/a&gt;)&lt;/span&gt; &lt;/noscript&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7220628" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=iYDAGP86YHg:RJseUNJ3a18:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=iYDAGP86YHg:RJseUNJ3a18:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=iYDAGP86YHg:RJseUNJ3a18:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=iYDAGP86YHg:RJseUNJ3a18:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/iYDAGP86YHg" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Unit+Testing/default.aspx">Unit Testing</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/09/30/poll-which-mocking-isolation-framework-do-you-use.aspx</feedburner:origLink></item><item><title>Unit Test Definition 2.0</title><link>http://feedproxy.google.com/~r/Iserializable/~3/cefV9JGd1Lc/unit-test-definition-2-0.aspx</link><pubDate>Mon, 28 Sep 2009 15:26:37 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7219351</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>20</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7219351</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/09/28/unit-test-definition-2-0.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Update: &lt;/strong&gt;added the difference from integration tests at the end of the post.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here’s my latest definition of what a unit test is:&lt;/p&gt;  &lt;p&gt;A unit test is a&lt;strong&gt; fast, in-memory, consistent, automated&lt;/strong&gt; and &lt;strong&gt;repeatable&lt;/strong&gt; test of a functional &lt;strong&gt;unit-of-work&lt;/strong&gt; in the system.&lt;/p&gt;  &lt;p&gt;A &lt;strong&gt;unit of work&lt;/strong&gt; is any functional scenario in the system that contains logic. it can be as short as a function, or it can span multiple classes and functions, and it provides internal or business value to the system under test.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;how is it different that an integration test?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;An integration test usually is not in-memory: it may touch the disk file system, databases, registry or other shared resources.&amp;#160; It may read or need a configuration file of the file system, wheas a unit test can be fully configured in-memory, for example.&lt;/p&gt;  &lt;p&gt;An integration test will usually run much slower because it does not run in-memory.&lt;/p&gt;  &lt;p&gt;An integration test can be less consistent – it may use threads or random number generators so that the result of the test is not always consistent.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7219351" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=cefV9JGd1Lc:P8WAWTcBpFs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=cefV9JGd1Lc:P8WAWTcBpFs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=cefV9JGd1Lc:P8WAWTcBpFs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=cefV9JGd1Lc:P8WAWTcBpFs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/cefV9JGd1Lc" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Unit+Testing/default.aspx">Unit Testing</category><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/09/28/unit-test-definition-2-0.aspx</feedburner:origLink></item><item><title>Steal My Book</title><link>http://feedproxy.google.com/~r/Iserializable/~3/HYbE8E4esJ4/steal-my-book.aspx</link><pubDate>Wed, 23 Sep 2009 00:16:33 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7214396</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>90</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7214396</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/09/22/steal-my-book.aspx#comments</comments><description>&lt;p&gt;last night &lt;a href="http://twitter.com/royosherove" target="_blank"&gt;I found out on twitter&lt;/a&gt;, that people are spreading the full PDF versions of &lt;a href="http://www.ArtOfUnitTesting.com" target="_blank"&gt;my book&lt;/a&gt;. What made me angry was that the person who did this had the audacity to also retweet stuff I said, a few minutes after spreading a link to an illegal copy of my book.&lt;/p&gt;  &lt;p&gt;then I got a few responses, some supportive, some telling me that “that’s the way things are” and that it might actually be a good thing. &lt;/p&gt;  &lt;p&gt;So I decided to have an experiment.&lt;/p&gt;  &lt;p&gt;I’m going to give you some links to download an illegal, full PDF version of my book. A book that took me three years to finish. A book that I started with zero kids, and was released with me having two kids. A book that has changed during its writing, that I learned a lot from, and that I am making about 2$ off of every PRINT copy sold, and much less on PDF copies sold (in short – the money ain’t great).&lt;/p&gt;  &lt;p&gt;I want you to &lt;strong&gt;steal&lt;/strong&gt; my book as PDF. and if you like it, I want you to be straight about it, and purchase either the &lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=462_91" target="_blank"&gt;PDF version of it&lt;/a&gt;, or buy &lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=462_91" target="_blank"&gt;a print version on Manning&lt;/a&gt; or &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1933988274/iserializable-20" target="_blank"&gt;Amazon’s site&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Here goes:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=462_91" target="_blank"&gt;Buy the print or the PDF eBook on the Manning site&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/1933988274/iserializable-20" target="_blank"&gt;Buy the print book on Amazon&lt;/a&gt;&amp;#160; (FYI – every print copy has a coupon for a full PDF copy inside)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://xrl.us/bfnipn" target="_blank"&gt;Download the FULL Illegal PDF of the book from RapidShare&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(&lt;a href="http://www.google.com/search?q=art+of+unit+tesitng+ebook" target="_blank"&gt;or just google&lt;/a&gt; for an illegal version)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Answer &lt;/u&gt;&lt;/strong&gt;this poll so that I know if this was a smart idea or not&lt;/p&gt; &lt;script type="text/javascript" charset="utf-8" src="http://static.polldaddy.com/p/2026936.js"&gt;&lt;/script&gt;&lt;noscript&gt;&lt;/noscript&gt;  &lt;p&gt;[You’re reading my .NET Blog. I’ve also started a team leadership blog over &lt;a href="http://5whys.com" target="_blank"&gt;at 5Whys.com&lt;/a&gt; – it’s all about leading software teams. You can also &lt;a href="http://www.osherove.com" target="_blank"&gt;attend varioius courses on TDD and team leadership&lt;/a&gt; that I provide]&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7214396" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=HYbE8E4esJ4:daOe97lVe44:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=HYbE8E4esJ4:daOe97lVe44:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=HYbE8E4esJ4:daOe97lVe44:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=HYbE8E4esJ4:daOe97lVe44:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/HYbE8E4esJ4" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/09/22/steal-my-book.aspx</feedburner:origLink></item><item><title>Announcing the Team Leadership Google Group</title><link>http://feedproxy.google.com/~r/Iserializable/~3/lcwLKnus_mE/announcing-the-team-leadership-google-group.aspx</link><pubDate>Wed, 16 Sep 2009 18:20:24 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7208381</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7208381</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/09/16/announcing-the-team-leadership-google-group.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;I believe the next wave of issues that we will need to start solving is that of &lt;strong&gt;software team leadership&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;We may all believe in the stuff that agile, tdd and the like bring to the company, but we often have problems following through on these, since we can't find a way to drive the people in our teams to &amp;quot;get&amp;quot; these things. Team leadership is the essential skill that binds together the will do be better and the ability to drive a team to be better, and to eventually truly become a self directing group of people.    &lt;br /&gt;I think most software leads suck at people skills, at driving their team and getting things ready to be more agile. and I think that's one of the main reasons some agile adoptions fail so badly.&lt;/p&gt;  &lt;p&gt;But I have not found a place to get answers on leading teams at the people level, or even at the basic skill level that would target exactly this role.   &lt;br /&gt;I started &lt;a href="http://5whys.com"&gt;http://5whys.com&lt;/a&gt; for that reason, but I believe that many of us will benefit from a more open and honest dialog about managing people, the problems we deal with, and ways to solve them.&lt;/p&gt;  &lt;p&gt;I invite you to join the group at &lt;a href="http://groups.google.com/group/leading-teams"&gt;http://groups.google.com/group/leading-teams&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7208381" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=lcwLKnus_mE:SoUHAQ1PlNw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=lcwLKnus_mE:SoUHAQ1PlNw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=lcwLKnus_mE:SoUHAQ1PlNw:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=lcwLKnus_mE:SoUHAQ1PlNw:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/lcwLKnus_mE" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/09/16/announcing-the-team-leadership-google-group.aspx</feedburner:origLink></item><item><title>Your testimonials needed on TDD master class and my teaching skills</title><link>http://feedproxy.google.com/~r/Iserializable/~3/yk7zY1PCbIA/your-testimonials-needed-on-tdd-master-class.aspx</link><pubDate>Tue, 15 Sep 2009 20:22:31 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7207066</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7207066</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/09/15/your-testimonials-needed-on-tdd-master-class.aspx#comments</comments><description>&lt;p&gt;It seems that there are some clients that require client testimonials about my &lt;a href="http://osherove.com/training"&gt;5 day TDD master class&lt;/a&gt; and about my TDD related classes in general. It has suddenly occurred to me that I have none (except those verbally given).&lt;/p&gt;  &lt;p&gt;Dear reader, if you’ve been to my class at some point in the past 3-4 years, and found it useful, I’d love it if you either left a comment on this blog post with your testimonial, or contact me directly with your testimonial and name. Does not have to be much -&amp;#160; a sentence or a paragraph – anything would be great.&lt;/p&gt;  &lt;p&gt;I will then place those testimonials (along with any blog links you have sent me attached if you’d like) on my &lt;a href="http://osherove.com"&gt;personal website&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Yours truly,&lt;/p&gt;  &lt;p&gt;Roy&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7207066" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=yk7zY1PCbIA:dVFy2XBfO_s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=yk7zY1PCbIA:dVFy2XBfO_s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=yk7zY1PCbIA:dVFy2XBfO_s:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=yk7zY1PCbIA:dVFy2XBfO_s:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/yk7zY1PCbIA" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/09/15/your-testimonials-needed-on-tdd-master-class.aspx</feedburner:origLink></item><item><title>Introducing 5Whys.com</title><link>http://feedproxy.google.com/~r/Iserializable/~3/MydaBGWAIn4/introducing-5whys-com.aspx</link><pubDate>Sun, 06 Sep 2009 09:32:29 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7194272</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7194272</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/09/06/introducing-5whys-com.aspx#comments</comments><description>&lt;p&gt;I created &lt;a href="http://5whys.com/"&gt;5Whys&lt;/a&gt; because… well – &lt;a href="http://5whys.com/blog/the-first-five-whys.html"&gt;here’s why&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This blog will remain about TDD and other things, but 5Whys.com will be about a focused gateway to developers who want to be better, and team leads who want to be better.&lt;/p&gt;  &lt;p&gt;And I’ll ask you one more thing: &lt;a href="http://5whys.com/blog/call-for-content-ndash-what-do-new-team-leads-to-know-on-the.html"&gt;what would you tell a newly minted team lead on his first day&lt;/a&gt;, that they could not find in any book?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7194272" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=MydaBGWAIn4:xDzjXYPxK2M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=MydaBGWAIn4:xDzjXYPxK2M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=MydaBGWAIn4:xDzjXYPxK2M:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=MydaBGWAIn4:xDzjXYPxK2M:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/MydaBGWAIn4" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/09/06/introducing-5whys-com.aspx</feedburner:origLink></item><item><title>8 techniques to find problems in your unit tests within 30 seconds</title><link>http://feedproxy.google.com/~r/Iserializable/~3/NkqxAAgxJvA/8-techniques-to-find-problems-in-your-unit-tests-within-30-seconds.aspx</link><pubDate>Mon, 31 Aug 2009 13:18:49 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7186448</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7186448</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/08/31/8-techniques-to-find-problems-in-your-unit-tests-within-30-seconds.aspx#comments</comments><description>&lt;p&gt;when reviewing tests, there are “easy finds” you can have.&lt;/p&gt;  &lt;p&gt;Here’s how I might start search for the following issues:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;u&gt;&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;u&gt;Trust issues – can I trust the test (is it repeatable, conssistent and tests the right thing?&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;u&gt;Search the test project for use of “DateTime.”&amp;#160; &lt;/u&gt;&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;using DateTime in your tests means that everytime you run the test, you’re essentially running a &lt;strong&gt;different&lt;/strong&gt; unit test. if it somehow fails due to the datetime, there might not be an easy way to recreate the failing test (if you’ve never logged the datetime being used)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;u&gt;Search the Test Project for any word to do with Threads&lt;/u&gt;&lt;/strong&gt;&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;if you’re using threads, then your test might break due to threading issues, and not logic issues. even running it on a slow machine, or a machine with multiple CPUs changes the test execution. It’s ok for an integration test, but not for a unit test, which should &lt;strong&gt;always&lt;/strong&gt; have the same result.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;u&gt;Search for “Environment.” (ignore newline) &lt;/u&gt;&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you’re using anything from the current environment, then there are two possible things happening: You run a different a test every time you change your test machine, and your test may be repeating the logic that exists in the production code. Instead, try to fake the environment values (abstract them away) and have hard coded expected values in your tests. otherwise- you have an integration test.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font color="#ff0000"&gt;Maintainability issues – how fragile are the tests? will the break even if the code under test changes, but isn’t broken?&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Use Resharper to search for the “.Verifiable” method, and &lt;strong&gt;group by member&lt;/strong&gt;. there should be no more than one per test.&amp;#160; If there is then you are testing more than one thing – and your test is more fragile since it over-specifies internal behavior. any internal change in the code, even if the end behavior is OK, can break your test quite easily.&lt;/li&gt;    &lt;li&gt;If using &lt;strong&gt;Moq&lt;/strong&gt;: Search for “.VerifyAll”&amp;#160; - you are again over specifying the test, making it fragile and easy to break for the wrong reason. You should verify only on a single mock object.&lt;/li&gt;    &lt;li&gt;If using &lt;strong&gt;Rhino Mocks&lt;/strong&gt;: Search for multiple .AssertWasCalled or multiple Verify() or VerifyAll() for the same reason above.&lt;/li&gt;    &lt;li&gt;If using &lt;strong&gt;Isolator&lt;/strong&gt;: Search for multiple Verify() calls in one test for the same reasons&lt;/li&gt;    &lt;li&gt;Search for creation of the objects under test inside the test – this is a big chance for refactoring – if you don’t, and the constructor for the object changes – you will have to change all these tests as well. Refactor to a factory method, or use the Setup method in the tests.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Again – these are all “easy wins”. there are things which take a bit more digging up to find, which will greatly improve your tests.&lt;/p&gt;  &lt;p&gt;for more examples see:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://ArtOfUnitTesting.com"&gt;My book&lt;/a&gt;, the art of unit testing, has a bunch of test review guidelines at the last page&lt;/li&gt;    &lt;li&gt;My &lt;a href="http://www.osherove.com/videos/category/test-review"&gt;test review videos&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7186448" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=NkqxAAgxJvA:DYkWzmhVO9I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=NkqxAAgxJvA:DYkWzmhVO9I:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=NkqxAAgxJvA:DYkWzmhVO9I:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=NkqxAAgxJvA:DYkWzmhVO9I:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/NkqxAAgxJvA" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/08/31/8-techniques-to-find-problems-in-your-unit-tests-within-30-seconds.aspx</feedburner:origLink></item><item><title>My Videos</title><link>http://feedproxy.google.com/~r/Iserializable/~3/ZKLJm6-uXZk/my-videos.aspx</link><pubDate>Mon, 31 Aug 2009 09:00:13 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7186296</guid><dc:creator>RoyOsherove</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/rosherove/rsscomments.aspx?PostID=7186296</wfw:commentRss><comments>http://weblogs.asp.net/rosherove/archive/2009/08/31/my-videos.aspx#comments</comments><description>&lt;p&gt;I’ve started to load up all the videos of me from conferences and such on the web, and put them al in one place.&lt;/p&gt;  &lt;p&gt;They are all &lt;a href="http://osherove.com/videos"&gt;over here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;for example:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.osherove.com/videos/2009/8/25/deep-reflection-400-level.html"&gt;Deep Reflection&lt;/a&gt;&amp;#160; - from TechEd&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.osherove.com/videos/2009/8/25/tdd-understanding-mock-objects.html"&gt;TDD – Understanding Mock Objects&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7186296" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=ZKLJm6-uXZk:vcohqSgFBYE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=ZKLJm6-uXZk:vcohqSgFBYE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Iserializable?a=ZKLJm6-uXZk:vcohqSgFBYE:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Iserializable?i=ZKLJm6-uXZk:vcohqSgFBYE:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Iserializable/~4/ZKLJm6-uXZk" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/rosherove/archive/tags/Agile/default.aspx">Agile</category><feedburner:origLink>http://weblogs.asp.net/rosherove/archive/2009/08/31/my-videos.aspx</feedburner:origLink></item></channel></rss>
