<?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"
	>
<channel>
	<title>Comments on: Mocking</title>
	<atom:link href="http://barelyenough.org/blog/2007/06/mocking/feed/" rel="self" type="application/rss+xml" />
	<link>http://barelyenough.org/blog/2007/06/mocking/</link>
	<description></description>
	<pubDate>Wed, 19 Nov 2008 23:02:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Inter-Sections &#187; Blog Archive &#187; The difference between TDD and BDD</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-31989</link>
		<dc:creator>Inter-Sections &#187; Blog Archive &#187; The difference between TDD and BDD</dc:creator>
		<pubDate>Wed, 03 Oct 2007 09:25:33 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-31989</guid>
		<description>&lt;p&gt;[...] On the other hand, please note that I don&#8217;t suggest that we shouldn&#8217;t use tests at all. As mentioned here, specs do not validate whether your system actually hangs together and works on the whole. Tests are the ones to give you that. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[&#8230;] On the other hand, please note that I don&#8217;t suggest that we shouldn&#8217;t use tests at all. As mentioned here, specs do not validate whether your system actually hangs together and works on the whole. Tests are the ones to give you that. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dick Brodine</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19941</link>
		<dc:creator>Dick Brodine</dc:creator>
		<pubDate>Tue, 19 Jun 2007 14:24:39 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19941</guid>
		<description>&lt;p&gt;gnoll,&lt;/p&gt;

&lt;p&gt;You express a lot of true ideas in regard to the life of a mainframe programmer! Cobol was the programming language of the masses back then. I used to write a lot of Pl/i/Asm at IBM. With Pl/i, we could develop external subroutines that were reusable and were linked into the manager module. So, we could unit test each subroutine with a "main" stub. After that, we hooked the validated subroutines into the actual mainline and performed integration test. Pl/i, with pointers and dynamic memory allocation, was the Cadillac of programing languages. Only an elite few mastered this language. And ASM(BAL) was used for the hot spots, in terms of performance, in a Pl/i application system.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>gnoll,</p>
<p>You express a lot of true ideas in regard to the life of a mainframe programmer! Cobol was the programming language of the masses back then. I used to write a lot of Pl/i/Asm at IBM. With Pl/i, we could develop external subroutines that were reusable and were linked into the manager module. So, we could unit test each subroutine with a &#8220;main&#8221; stub. After that, we hooked the validated subroutines into the actual mainline and performed integration test. Pl/i, with pointers and dynamic memory allocation, was the Cadillac of programing languages. Only an elite few mastered this language. And ASM(BAL) was used for the hot spots, in terms of performance, in a Pl/i application system.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gnoll110</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19865</link>
		<dc:creator>gnoll110</dc:creator>
		<pubDate>Tue, 19 Jun 2007 03:26:27 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19865</guid>
		<description>&lt;p&gt;I will add, due to the age/nature of COBOL (things like granularity, global only memory model etc), these missing tools will likely never exist.&lt;/p&gt;

&lt;p&gt;I was to use a language that is younger than I am!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I will add, due to the age/nature of COBOL (things like granularity, global only memory model etc), these missing tools will likely never exist.</p>
<p>I was to use a language that is younger than I am!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gnoll110</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19864</link>
		<dc:creator>gnoll110</dc:creator>
		<pubDate>Tue, 19 Jun 2007 03:16:26 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19864</guid>
		<description>&lt;p&gt;I've work on a number of these sites, in recent years, and they are still using 80s tools and methods today!&lt;/p&gt;

&lt;p&gt;Endeavor sucks and it is one of those 80s tools I was talking about! Worked with Endeavor as late as a year ago. It one bit of the solution. On the mainframe, most bits are still missing.&lt;/p&gt;

&lt;p&gt;We can keep these old, degrading systems in the ‘air’, but the backlogs (often hidden) and the time it takes to get a change through the system both become longer &#38; longer.&lt;/p&gt;

&lt;p&gt;It’s been said that &#62; 95% of all problems are management problems. An organization that gets itself into this state has only its management to blame.&lt;/p&gt;

&lt;p&gt;Organizations in this technological state tend to have other management problems too. Arse covering, blame games, miles of red tape, the list goes on. These all create wasted time/labour &#38; looooong feedback cycles.&lt;/p&gt;

&lt;p&gt;The doers on the floor have to live with the consequences.&lt;/p&gt;

&lt;p&gt;What I get sick of is finding broken corner cases. Writing a fix. Writing a detailed test setup for the Test team. You know that once the fix is done, that the test case &#38; all that supporting work will never get read or used again (due to time/labour costs, because its not been automated). Some future change could break it again and no one will know until the system breaks or the database is corrupted or a customer complains or …&lt;/p&gt;

&lt;p&gt;The result of any design process is a set of unvalidated design decisions.&lt;/p&gt;

&lt;p&gt;The other half of the process is design validation. In other engineering discipline, it’s call analysis. IT uses this term for something else. Until they develop mathematical proof methods that are computationally cheap. The best validation process is testing. The cheapest (cost per individual test execution) testing system is an automated one.&lt;/p&gt;

&lt;p&gt;Mocking is something that can greatly reduce time costs. This means the revalidation of a design can be done more often. The closer the revalidation is to the point of design change, the better &#38; faster the design feedback loop works.&lt;/p&gt;

&lt;p&gt;I, as a professional, have a responsibility to the shareholders/tax payers (and other stake holders) to ensure that the money invested in the development process, is invested in a best way possible. That means looking a both the short &#38; longer term returns that can be gained from the different ways of doing me job.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;ve work on a number of these sites, in recent years, and they are still using 80s tools and methods today!</p>
<p>Endeavor sucks and it is one of those 80s tools I was talking about! Worked with Endeavor as late as a year ago. It one bit of the solution. On the mainframe, most bits are still missing.</p>
<p>We can keep these old, degrading systems in the ‘air’, but the backlogs (often hidden) and the time it takes to get a change through the system both become longer &amp; longer.</p>
<p>It’s been said that &gt; 95% of all problems are management problems. An organization that gets itself into this state has only its management to blame.</p>
<p>Organizations in this technological state tend to have other management problems too. Arse covering, blame games, miles of red tape, the list goes on. These all create wasted time/labour &amp; looooong feedback cycles.</p>
<p>The doers on the floor have to live with the consequences.</p>
<p>What I get sick of is finding broken corner cases. Writing a fix. Writing a detailed test setup for the Test team. You know that once the fix is done, that the test case &amp; all that supporting work will never get read or used again (due to time/labour costs, because its not been automated). Some future change could break it again and no one will know until the system breaks or the database is corrupted or a customer complains or …</p>
<p>The result of any design process is a set of unvalidated design decisions.</p>
<p>The other half of the process is design validation. In other engineering discipline, it’s call analysis. IT uses this term for something else. Until they develop mathematical proof methods that are computationally cheap. The best validation process is testing. The cheapest (cost per individual test execution) testing system is an automated one.</p>
<p>Mocking is something that can greatly reduce time costs. This means the revalidation of a design can be done more often. The closer the revalidation is to the point of design change, the better &amp; faster the design feedback loop works.</p>
<p>I, as a professional, have a responsibility to the shareholders/tax payers (and other stake holders) to ensure that the money invested in the development process, is invested in a best way possible. That means looking a both the short &amp; longer term returns that can be gained from the different ways of doing me job.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dick Brodine</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19805</link>
		<dc:creator>Dick Brodine</dc:creator>
		<pubDate>Mon, 18 Jun 2007 19:02:34 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19805</guid>
		<description>&lt;p&gt;Actually, I have maintained several million line Cobol systems back in the day. However, "write using record" usually solved the problem. The situation was improved somewhat with the development of Endevor, etc. and search tools. And, incidentally, we managed to keep these systems up and running, even the 7/24 beasts at MCI in COS that supported the base telecommunications network. I just find it a pain in the butt to write formal test cases when my code just about always works doing test as you go.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Actually, I have maintained several million line Cobol systems back in the day. However, &#8220;write using record&#8221; usually solved the problem. The situation was improved somewhat with the development of Endevor, etc. and search tools. And, incidentally, we managed to keep these systems up and running, even the 7/24 beasts at MCI in COS that supported the base telecommunications network. I just find it a pain in the butt to write formal test cases when my code just about always works doing test as you go.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nosewheelie &#187; Blog Archive &#187; BDD Activity</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19746</link>
		<dc:creator>nosewheelie &#187; Blog Archive &#187; BDD Activity</dc:creator>
		<pubDate>Mon, 18 Jun 2007 10:18:48 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19746</guid>
		<description>&lt;p&gt;[...] There&#8217;s been a flurry of BDD activity in the last week or so. Via evolving my understanding of behavior driven development (bdd) comes Pete Williams&#8217; Mocking and R-S-P-E-C 4-ME. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[&#8230;] There&#8217;s been a flurry of BDD activity in the last week or so. Via evolving my understanding of behavior driven development (bdd) comes Pete Williams&#8217; Mocking and R-S-P-E-C 4-ME. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gnoll110</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19725</link>
		<dc:creator>Gnoll110</dc:creator>
		<pubDate>Mon, 18 Jun 2007 06:36:05 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19725</guid>
		<description>&lt;p&gt;Someone take Dick out and make him maintain a system with a few million lines of (COBOL) code and 1980s (mainframe) testing tools &#38; methods.&lt;/p&gt;

&lt;p&gt;Just watch the backlog grow and the code base degrade! Of course any organization, like that, that is still alive today, is in a monopoly situation. Like big govt departments and big oil.&lt;/p&gt;

&lt;p&gt;Unless your in a monopoly (natural or unnatural), if you don’t automate a much as possible, someone (be it down the street, in the next state or India), is going to eat your lunch at some stage.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Someone take Dick out and make him maintain a system with a few million lines of (COBOL) code and 1980s (mainframe) testing tools &amp; methods.</p>
<p>Just watch the backlog grow and the code base degrade! Of course any organization, like that, that is still alive today, is in a monopoly situation. Like big govt departments and big oil.</p>
<p>Unless your in a monopoly (natural or unnatural), if you don’t automate a much as possible, someone (be it down the street, in the next state or India), is going to eat your lunch at some stage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stone mind &#187; Evolving My Understanding of Behavior Driven Development (BDD).</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19301</link>
		<dc:creator>stone mind &#187; Evolving My Understanding of Behavior Driven Development (BDD).</dc:creator>
		<pubDate>Fri, 15 Jun 2007 13:57:19 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19301</guid>
		<description>&lt;p&gt;[...] But I feel compelled to point to Peter Williams&#8217; &#8220;Mocking&#8221; post that I read this morning, because it shines a light on an area of software development that is relatively new and still somewhat nebulous, both for experienced test driven developers (TDD) and those who are not &#8220;test infected&#8221;: behavior driven development (BDD). [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[&#8230;] But I feel compelled to point to Peter Williams&#8217; &#8220;Mocking&#8221; post that I read this morning, because it shines a light on an area of software development that is relatively new and still somewhat nebulous, both for experienced test driven developers (TDD) and those who are not &#8220;test infected&#8221;: behavior driven development (BDD). [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dick Brodine</title>
		<link>http://barelyenough.org/blog/2007/06/mocking/#comment-19164</link>
		<dc:creator>Dick Brodine</dc:creator>
		<pubDate>Thu, 14 Jun 2007 15:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2007/06/mocking/#comment-19164</guid>
		<description>&lt;p&gt;Test frameworks were invented for young folks that don't routinely test code as it is written. Us oldtimers usually write code correctly and that is largely due to the fact that each function point is tested as it is created. Someone had to do something about the kids that kept writing code that did not function correctly. So now we all have to live with formal test software. Of course IT managers and team leads never did understand the problem but the cs media and vendors convinved them that they needed these test tools to solve the problem.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Test frameworks were invented for young folks that don&#8217;t routinely test code as it is written. Us oldtimers usually write code correctly and that is largely due to the fact that each function point is tested as it is created. Someone had to do something about the kids that kept writing code that did not function correctly. So now we all have to live with formal test software. Of course IT managers and team leads never did understand the problem but the cs media and vendors convinved them that they needed these test tools to solve the problem.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
