<?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: Middleware integration testing with JUnit, Maven and VMware, part 1 (of 3)</title>
	<atom:link href="http://blog.xebia.com/2009/12/07/middleware-integration-testing-with-junit-maven-and-vmware-part-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com/2009/12/07/middleware-integration-testing-with-junit-maven-and-vmware-part-1/</link>
	<description>Software development done right!</description>
	<lastBuildDate>Wed, 08 Feb 2012 14:41:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: cuppa-joe</title>
		<link>http://blog.xebia.com/2009/12/07/middleware-integration-testing-with-junit-maven-and-vmware-part-1/#comment-93986</link>
		<dc:creator>cuppa-joe</dc:creator>
		<pubDate>Sat, 23 Jan 2010 18:15:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3825#comment-93986</guid>
		<description>&quot;Without knowing the code under test, these sound to me as typical signs of code smells. Why do you need to debug often?&quot;

Suggesting that a system does not need to be debuggable is a typical sign of developer smells.</description>
		<content:encoded><![CDATA[<p>&#8220;Without knowing the code under test, these sound to me as typical signs of code smells. Why do you need to debug often?&#8221;</p>
<p>Suggesting that a system does not need to be debuggable is a typical sign of developer smells.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vincent Partington</title>
		<link>http://blog.xebia.com/2009/12/07/middleware-integration-testing-with-junit-maven-and-vmware-part-1/#comment-93421</link>
		<dc:creator>Vincent Partington</dc:creator>
		<pubDate>Tue, 08 Dec 2009 09:57:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3825#comment-93421</guid>
		<description>&lt;b&gt;@Lars:&lt;/b&gt; Thanks for your comments. You make some good points! I&#039;ll reply to them one by one.

1a. To start from the end of your point: I guess you could say that these tests are actually our unit tests. They are tests for what it is basically about 20 lines of Python code and some Java glue. It&#039;s just that they require a &lt;em&gt;very big&lt;/em&gt; test fixture (in the non-Fitnesse meaning of the word ;-)) and that they integrate with the middleware. These tests are not the integration tests for our product itself but tests for the integration with the middleware. And because JUnit provides a nice way to run these steps in isolation we use JUnit to develop and therefore debug our Python/Java code. Using Fitnesse for that was just too painful (what with the remote attaching of the debugger and all).

1b. To set up the actual integration test for our product we&#039;d actually want to test from our Flex UI (or the command line interface) straight to the middleware. Most of our product integration woes had to do with the BlazeDS or Hessian serialization used by the Flex UI and the CLI respectively. For the Flex UI we&#039;ve looked into all kinds of different Flex UI testing frameworks about a year ago but found none to be working very well. Recently I&#039;ve seen good things from &lt;a href=&quot;http://code.google.com/p/flexmonkey/&quot; rel=&quot;nofollow&quot;&gt;FlexMonkey&lt;/a&gt; so we&#039;ll try again soon.

2. The product will indeed be used by sysadmins. And since they are usually not that versed in Java we chose Fitnesse in the first place. But since we are building a standard product and there are no non-Java-savvy (Java-unsavvy) people on our team, it really did not fit us that well. If this were a bespoke project where non-Java developers were more involved in the daily development of our product Fitnesse would certainly make sense.

BTW, I&#039;ve changed the title of this blog (and the URL) to reflect the kind of integration this blog is talking about. There was a typo in the old title anyway. ;-)</description>
		<content:encoded><![CDATA[<p><b>@Lars:</b> Thanks for your comments. You make some good points! I&#8217;ll reply to them one by one.</p>
<p>1a. To start from the end of your point: I guess you could say that these tests are actually our unit tests. They are tests for what it is basically about 20 lines of Python code and some Java glue. It&#8217;s just that they require a <em>very big</em> test fixture (in the non-Fitnesse meaning of the word <img src='http://blog.xebia.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) and that they integrate with the middleware. These tests are not the integration tests for our product itself but tests for the integration with the middleware. And because JUnit provides a nice way to run these steps in isolation we use JUnit to develop and therefore debug our Python/Java code. Using Fitnesse for that was just too painful (what with the remote attaching of the debugger and all).</p>
<p>1b. To set up the actual integration test for our product we&#8217;d actually want to test from our Flex UI (or the command line interface) straight to the middleware. Most of our product integration woes had to do with the BlazeDS or Hessian serialization used by the Flex UI and the CLI respectively. For the Flex UI we&#8217;ve looked into all kinds of different Flex UI testing frameworks about a year ago but found none to be working very well. Recently I&#8217;ve seen good things from <a href="http://code.google.com/p/flexmonkey/" rel="nofollow">FlexMonkey</a> so we&#8217;ll try again soon.</p>
<p>2. The product will indeed be used by sysadmins. And since they are usually not that versed in Java we chose Fitnesse in the first place. But since we are building a standard product and there are no non-Java-savvy (Java-unsavvy) people on our team, it really did not fit us that well. If this were a bespoke project where non-Java developers were more involved in the daily development of our product Fitnesse would certainly make sense.</p>
<p>BTW, I&#8217;ve changed the title of this blog (and the URL) to reflect the kind of integration this blog is talking about. There was a typo in the old title anyway. <img src='http://blog.xebia.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Vonk</title>
		<link>http://blog.xebia.com/2009/12/07/middleware-integration-testing-with-junit-maven-and-vmware-part-1/#comment-93417</link>
		<dc:creator>Lars Vonk</dc:creator>
		<pubDate>Mon, 07 Dec 2009 20:57:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3825#comment-93417</guid>
		<description>Hi Vincent,

You should indeed always use tools the team is most comfortable with. Mix and match. Use the best tools for the job. When something is really an unit test and if it is easier to write with junit you should of course use that. 

I have some remarks/questions though about your reasoning:

1. You say &quot;If we wanted to test just a single step, we had to make a deployment scenario that used that step just to be able to test it.&quot; and &quot;And while debugging code under test in Fitnesse is complicated enough, debugging Fixture is even harder&quot;. Without knowing the code under test, these sound to me as typical signs of code smells. Why do you need to debug often? Why is a single step hard to test? To need to debug is often a smell of lack of (smaller) unit tests.

2. &quot;While it might be a very nice to tool do user acceptance testing and allow end users to write (or at least understand) tests, the technical nature of our product already ensured that we would not have tests for non-technical end-users&quot;.
As I understand the product it will be used by sysadmins right? Do they understand/read/extend the junit tests? I hardly believe that. Do not underestimate the power of readable tests. It is not only providing them readable tests, but you also provide the ability to add tests. This is very good for building trust in an application (and team). 

Regards, Lars</description>
		<content:encoded><![CDATA[<p>Hi Vincent,</p>
<p>You should indeed always use tools the team is most comfortable with. Mix and match. Use the best tools for the job. When something is really an unit test and if it is easier to write with junit you should of course use that. </p>
<p>I have some remarks/questions though about your reasoning:</p>
<p>1. You say &#8220;If we wanted to test just a single step, we had to make a deployment scenario that used that step just to be able to test it.&#8221; and &#8220;And while debugging code under test in Fitnesse is complicated enough, debugging Fixture is even harder&#8221;. Without knowing the code under test, these sound to me as typical signs of code smells. Why do you need to debug often? Why is a single step hard to test? To need to debug is often a smell of lack of (smaller) unit tests.</p>
<p>2. &#8220;While it might be a very nice to tool do user acceptance testing and allow end users to write (or at least understand) tests, the technical nature of our product already ensured that we would not have tests for non-technical end-users&#8221;.<br />
As I understand the product it will be used by sysadmins right? Do they understand/read/extend the junit tests? I hardly believe that. Do not underestimate the power of readable tests. It is not only providing them readable tests, but you also provide the ability to add tests. This is very good for building trust in an application (and team). </p>
<p>Regards, Lars</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.xebia.com/2009/12/07/middleware-integration-testing-with-junit-maven-and-vmware-part-1/feed/ ) in 0.48365 seconds, on Feb 9th, 2012 at 9:58 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 9th, 2012 at 10:58 pm UTC -->
