<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Black Box Black Box Testing</title>
	<atom:link href="http://www.entertainingcode.com/archives/black-box-black-box-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/</link>
	<description>Coding and the games industry</description>
	<lastBuildDate>Sat, 10 Jul 2010 08:04:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Rob</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-316</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Thu, 22 Oct 2009 15:17:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-316</guid>
		<description>Where are all the new blog posts!?</description>
		<content:encoded><![CDATA[<p>Where are all the new blog posts!?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slicedlime</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-313</link>
		<dc:creator>slicedlime</dc:creator>
		<pubDate>Thu, 17 Sep 2009 19:34:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-313</guid>
		<description>You&#039;re talking about a different system Jenn. You pass 18/20 tests, you don&#039;t know that... all you know is &quot;Fail&quot;. No information on what you passed or not, no partial credit, nothing.

The course I saw my friend was doing gave them 1-2 test cases, then had 100+ cases in the system test. If you failed, you had no idea if it was the first or the last test that failed.

Your autograder system sounds like a step up from KATTIS.</description>
		<content:encoded><![CDATA[<p>You&#8217;re talking about a different system Jenn. You pass 18/20 tests, you don&#8217;t know that&#8230; all you know is &#8220;Fail&#8221;. No information on what you passed or not, no partial credit, nothing.</p>
<p>The course I saw my friend was doing gave them 1-2 test cases, then had 100+ cases in the system test. If you failed, you had no idea if it was the first or the last test that failed.</p>
<p>Your autograder system sounds like a step up from KATTIS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jenn</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-312</link>
		<dc:creator>Jenn</dc:creator>
		<pubDate>Thu, 17 Sep 2009 19:29:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-312</guid>
		<description>This is the system that was used when I was in college, the &quot;autograder&quot;. It wasn&#039;t as bad as this article makes it sound.

First of all, it&#039;s not about &quot;pleasing the system&quot;; the system is pleased by correct code. You do get one or two test inputs/outputs to work with, and then there are usually around 20 black box test cases which include the tests you were given originally. It should be trivial, therefore, to pass a couple of tests, and usually if you can pass a couple you&#039;ll pass most. Say you pass 18/20, then you know you&#039;re missing a border condition. And even if that&#039;s the best you can do, you get partial credit.

Also, at my college they used the autograder to check the code functionality and then a TA would actually read through your code and possibly give you more credit. They tried to give you as much room to succeed as possible without handing out their test cases. Speaking of TA&#039;s, most of them were more than willing to at least give you hints as to what test cases you might be missing. Most would even take a look at your code. It&#039;s not like you&#039;re totally on your own, pitted against some inscrutable machine.

My main problem with the system is that you had a very limited number of submissions (like 5). Sometimes you&#039;d fix something that was a red herring and waste a submission. That can be stressful.</description>
		<content:encoded><![CDATA[<p>This is the system that was used when I was in college, the &#8220;autograder&#8221;. It wasn&#8217;t as bad as this article makes it sound.</p>
<p>First of all, it&#8217;s not about &#8220;pleasing the system&#8221;; the system is pleased by correct code. You do get one or two test inputs/outputs to work with, and then there are usually around 20 black box test cases which include the tests you were given originally. It should be trivial, therefore, to pass a couple of tests, and usually if you can pass a couple you&#8217;ll pass most. Say you pass 18/20, then you know you&#8217;re missing a border condition. And even if that&#8217;s the best you can do, you get partial credit.</p>
<p>Also, at my college they used the autograder to check the code functionality and then a TA would actually read through your code and possibly give you more credit. They tried to give you as much room to succeed as possible without handing out their test cases. Speaking of TA&#8217;s, most of them were more than willing to at least give you hints as to what test cases you might be missing. Most would even take a look at your code. It&#8217;s not like you&#8217;re totally on your own, pitted against some inscrutable machine.</p>
<p>My main problem with the system is that you had a very limited number of submissions (like 5). Sometimes you&#8217;d fix something that was a red herring and waste a submission. That can be stressful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slicedlime</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-311</link>
		<dc:creator>slicedlime</dc:creator>
		<pubDate>Thu, 17 Sep 2009 19:27:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-311</guid>
		<description>If you&#039;re saying you want to teach people to debug programs, then you should let them practice... eh... debugging programs. If you want to teach them unit testing, you really need to be teaching them that, not just setting up assignments in a way that forces them to learn it on their own.

There are good techniques for it, but they don&#039;t teach it, and you sure can&#039;t expect people to figure those techniques out by themselves.

The situation here is more similar to what happens when you&#039;ve done your unit testing and move on to integration testing... but then you&#039;re unable to use debugging tools. There is no good point for that.</description>
		<content:encoded><![CDATA[<p>If you&#8217;re saying you want to teach people to debug programs, then you should let them practice&#8230; eh&#8230; debugging programs. If you want to teach them unit testing, you really need to be teaching them that, not just setting up assignments in a way that forces them to learn it on their own.</p>
<p>There are good techniques for it, but they don&#8217;t teach it, and you sure can&#8217;t expect people to figure those techniques out by themselves.</p>
<p>The situation here is more similar to what happens when you&#8217;ve done your unit testing and move on to integration testing&#8230; but then you&#8217;re unable to use debugging tools. There is no good point for that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Guthrie</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-310</link>
		<dc:creator>Brian Guthrie</dc:creator>
		<pubDate>Thu, 17 Sep 2009 19:19:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-310</guid>
		<description>&quot;So, you’re left with your own wit coming up with new test data (and making sure you get it right), or just reviewing code.&quot;

Isn&#039;t that sort of the point? How does that discourage the development of world-class programming skills? Unit testing is a complex topic worthy of study, but it doesn&#039;t belong in its own course; every programmer should be doing it. If it&#039;s one function per assignment, part of being a world-class programmer is understanding what it takes to test the dickens out of that function.</description>
		<content:encoded><![CDATA[<p>&#8220;So, you’re left with your own wit coming up with new test data (and making sure you get it right), or just reviewing code.&#8221;</p>
<p>Isn&#8217;t that sort of the point? How does that discourage the development of world-class programming skills? Unit testing is a complex topic worthy of study, but it doesn&#8217;t belong in its own course; every programmer should be doing it. If it&#8217;s one function per assignment, part of being a world-class programmer is understanding what it takes to test the dickens out of that function.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slicedlime</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-309</link>
		<dc:creator>slicedlime</dc:creator>
		<pubDate>Thu, 17 Sep 2009 19:00:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-309</guid>
		<description>Paul: I agree in part that it&#039;s a good way to test things thoroughly... thus my comment at the end. However, part of the issue on these problems is that the available test data is very limited... usually one or two example inputs. So, you&#039;re left with your own wit coming up with new test data (and making sure you get it right), or just reviewing code.

I agree that in a real-world situation you&#039;ll want to test everything in pieces before shipping it, but we&#039;re not talking about a software system here... it&#039;s more or less one function per assignment.

There are good ways of working to systematically work with this situation too, but really that&#039;s more something for a course in unit testing than anything else. It&#039;s a skill many professional programmers are missing too.

But more on that in a future post.</description>
		<content:encoded><![CDATA[<p>Paul: I agree in part that it&#8217;s a good way to test things thoroughly&#8230; thus my comment at the end. However, part of the issue on these problems is that the available test data is very limited&#8230; usually one or two example inputs. So, you&#8217;re left with your own wit coming up with new test data (and making sure you get it right), or just reviewing code.</p>
<p>I agree that in a real-world situation you&#8217;ll want to test everything in pieces before shipping it, but we&#8217;re not talking about a software system here&#8230; it&#8217;s more or less one function per assignment.</p>
<p>There are good ways of working to systematically work with this situation too, but really that&#8217;s more something for a course in unit testing than anything else. It&#8217;s a skill many professional programmers are missing too.</p>
<p>But more on that in a future post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Winsrp</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-308</link>
		<dc:creator>Winsrp</dc:creator>
		<pubDate>Thu, 17 Sep 2009 18:20:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-308</guid>
		<description>well, as a programmer myself, it just feels stupid. Debugging and tracking is the most useful thing when dealing with errors/bugs, most of the people that work with me, are freshmen right out of the college, and they try to make things work without event test it, and if they find an error they get frustrated, I&#039;m trying really hard to teach them that programing is a &quot;by-parts&quot; job, when you have to do and test 1 thing at the time, so everything will work like a clock at the end. And working on their debugging skills since most if not all of the available tricks are pretty much new to them.</description>
		<content:encoded><![CDATA[<p>well, as a programmer myself, it just feels stupid. Debugging and tracking is the most useful thing when dealing with errors/bugs, most of the people that work with me, are freshmen right out of the college, and they try to make things work without event test it, and if they find an error they get frustrated, I&#8217;m trying really hard to teach them that programing is a &#8220;by-parts&#8221; job, when you have to do and test 1 thing at the time, so everything will work like a clock at the end. And working on their debugging skills since most if not all of the available tricks are pretty much new to them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://www.entertainingcode.com/archives/black-box-black-box-testing/comment-page-1/#comment-307</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Thu, 17 Sep 2009 17:35:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.entertainingcode.com/?p=934#comment-307</guid>
		<description>hmm. I&#039;m torn on this.  I&#039;d say 98% of the time I&#039;m forced to use the poke system.  I&#039;m used to it and can get what I want about 50% of the time and the other time I have to really really break it and work backwards.  That being said, in order to do this black box programming right, you&#039;d have to start with writing your own debugging script and then write output to it until you get to the final product and switch it from a debug/comment system to a final product system.  That&#039;s not really that bad an idea.

I do hope they can at least use try-catch otherwise I&#039;d have to agree with the writer.  Hopeless!</description>
		<content:encoded><![CDATA[<p>hmm. I&#8217;m torn on this.  I&#8217;d say 98% of the time I&#8217;m forced to use the poke system.  I&#8217;m used to it and can get what I want about 50% of the time and the other time I have to really really break it and work backwards.  That being said, in order to do this black box programming right, you&#8217;d have to start with writing your own debugging script and then write output to it until you get to the final product and switch it from a debug/comment system to a final product system.  That&#8217;s not really that bad an idea.</p>
<p>I do hope they can at least use try-catch otherwise I&#8217;d have to agree with the writer.  Hopeless!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
