<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx</link><description>Diligent Reader Ayaz asks: Everywhere there is talk about *the tester mentality* and how the testers should refine their approach towards a problem. My question is what would you advise a *developer* so that he can test his code and catch the bugs himself</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1276624</link><pubDate>Wed, 13 Dec 2006 21:02:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1276624</guid><dc:creator>Kevin Daly</dc:creator><description>&lt;p&gt;Developers have to do whatever testing they can...in my opinion that is *never* going to be enough however, because as developers we suffer from the singular disadvantage of knowing what we think the code is supposed to do and how it is supposed to work. This almost inevitably makes us blind to things that a normal user might try first off as a matter of course but which we would never think of. &amp;quot;But who would do that?&amp;quot; looms large over everything. It's very hard to get over the psychological barrier of prior knowledge.&lt;/p&gt;</description></item><item><title>Interesting Finds: December 13, 2006</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1280531</link><pubDate>Thu, 14 Dec 2006 07:52:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1280531</guid><dc:creator>Jason Haley</dc:creator><description /></item><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1283345</link><pubDate>Thu, 14 Dec 2006 15:04:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1283345</guid><dc:creator>Alfred Thompson</dc:creator><description>&lt;p&gt;I don't understand needing testers for anything other than cross-feature integration-type bugs. I think that having too many testers (say more than one per 40-50 develoeprs) is going to cause more problems than solve. It makes developers lazy, careless and distroys any chance for getting reliable code in a reasonable time. You can't test quality in. It has to be designed in and that means starting with good program design, developers who do it right the first time, and verify their own work.&lt;/p&gt;
&lt;p&gt;Admittidly it has been 25 years since I was an OS developer and operating systems have gotten a little more complicated but still I don't see anything fundimental that makes writing good quality code harder now than it was back then.&lt;/p&gt;</description></item><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1283462</link><pubDate>Thu, 14 Dec 2006 15:32:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1283462</guid><dc:creator>Lothar</dc:creator><description>&lt;p&gt;I'm developing server-based software primarily and I'm using JUnit for development all the time. In retrospect my way of programming has changed the last six years (when I started using JUnit) because as a developer who is writing the test-code himself the question I'm now not asking myself anymore is &amp;quot;what the code is supposed to do and how it is supposed to work&amp;quot; as stated by Kevin. Now I'm asking myself &amp;quot;what the code is supposed to do, how is it sopposed to work and how can I find out that this state is reached without testing it for myself all the time&amp;quot;.&lt;/p&gt;
&lt;p&gt;To be able to test functionality in an automated way, the way of programming a functionality changes. You break up things into smaller pieces (methods, classes, ...) automatically to reduce the number of combinations within one test, leading to a more clear source and more reusable code.&lt;/p&gt;
&lt;p&gt;But - as Kevin already stated - a testing developer is not eliminating the need of a tester. With a different perspective (as a user) and a different goal: See the applicaiton break and not see it work.&lt;/p&gt;
&lt;p&gt;Best regards, Lothar&lt;/p&gt;</description></item><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1291885</link><pubDate>Fri, 15 Dec 2006 08:37:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1291885</guid><dc:creator>Ayaz</dc:creator><description>&lt;p&gt;Thanx Michael for a great post :)&lt;/p&gt;
&lt;p&gt;Well as I already said the need for testing at developer's end can never be ignored. The important point is to define the threshold. If developers test too much they will lose the focus of development and if they test too little they will never make a stable product instead they will keep on fixing the tester reported issues. &lt;/p&gt;
&lt;p&gt;As for me I do the sanity testing and some regression testing at my end. Once I’m sure that I’ve implemented the required feature and its working properly for both positive and negative scenarios, I move on to the regression testing. Once I’m sure that there is no regression caused by my code, I submit it to the Quality Assurance team and my product goes through their testing cycle .....&lt;/p&gt;
&lt;p&gt;This way I mostly find out any problems related to my code before submitting. It saves me some QA cycles and a lot of time :)&lt;/p&gt;</description></item><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1292813</link><pubDate>Fri, 15 Dec 2006 13:17:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1292813</guid><dc:creator>Anu</dc:creator><description>&lt;p&gt;Off topic: could you post an entry on when to resolve a bug as &amp;quot;Dupe&amp;quot; or &amp;quot;No repro&amp;quot;. I've been following the rule of resolve a bug as dupe if and only if the repro steps of the 2 bugs are the same. If they are the same root cause, it totally depends on the context whether you can resolve them as dupe or not. Many times, I see devs mark 2 bugs as dupe because of a large root issue. Something like &amp;quot;nested classes not working fine in scenario A&amp;quot; causes 15 bugs on different nested classes scenarios to be resolved as &amp;quot;Dupe&amp;quot;!!! At that rate, we might as well have a giant bug called &amp;quot;Visual Studio not coded fully&amp;quot; and then resolve all bugs in the world as dupes of that!&lt;/p&gt;
&lt;p&gt;Scenario #2. Bugs resolved as not repro because it does not repro on the dev's machine which has a build which is 10 days newer than the build that it was filed on. Errr - how is this not repro? The justification offered is, &amp;quot;I might have fixed this as part of a larger checkin for another bug fix...it is not reproing on a newer build now. So, no repro&amp;quot;!!! WTF?? How does that become a no repro? &lt;/p&gt;
&lt;p&gt;I think this still happens because there are no clear guidelines on how to resolve bugs. I was hoping that you would either point me to a doc that outlines this or make a post yourself. THanks for listening to the rant! :-)&lt;/p&gt;</description></item><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1298263</link><pubDate>Sat, 16 Dec 2006 00:53:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1298263</guid><dc:creator>micahel</dc:creator><description>&lt;p&gt;Kevin: Yep, developers know how their code *should* work and so they know what it &amp;quot;*can't*&amp;quot; do. Which of course if often exactly what it does do! &amp;lt;g/&amp;gt; This is one reason I find checklists helpful: they list specific things to look for and so do an end-run around knowing what code can/'t do.&lt;/p&gt;
&lt;p&gt;Anu: Thanks for the blog post entry! I'll discuss resolving bugs soon-like.&lt;/p&gt;
</description></item><item><title>re: Can Developers Test?</title><link>http://blogs.msdn.com/micahel/archive/2006/12/13/CanDevelopersTest.aspx#1402486</link><pubDate>Wed, 03 Jan 2007 11:39:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1402486</guid><dc:creator>Sanat Sharma</dc:creator><description>&lt;p&gt;I agree that the developers can't test the application with the mindset that a tester have. I have an attitude of &amp;quot;TEST TO BREAK&amp;quot;. Having an experience of around 6 yrs in Software testing, what I can suggest is, that the developers should write the code carefully and perform the unit testing throughly. If possible, perfomr the Integration testing also. And most important, make a document of all those test cases that have been performed while Unit testing or Integration testing. Pass those documents to testing team. These documents will definitely help the testing team to perform the testing further.&lt;/p&gt;
&lt;p&gt;-- Sanat Sharma&lt;/p&gt;</description></item></channel></rss>