<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Configuration Management and Agile Software Development &#187; unit test</title>
	<atom:link href="http://accurev.com/blog/tag/unit-test/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:28:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Use Case: Fixing the Broken Build</title>
		<link>http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/</link>
		<comments>http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 13:39:37 +0000</pubDate>
		<dc:creator>rmohr</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[broken builds]]></category>
		<category><![CDATA[change packages]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[issue tracking]]></category>
		<category><![CDATA[private workspaces]]></category>
		<category><![CDATA[software development process]]></category>
		<category><![CDATA[time-based stream]]></category>
		<category><![CDATA[unit test]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=414</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/' addthis:title='Use Case: Fixing the Broken Build ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>by Rob Mohr, AccuRev In one of many travels and customer visits, I came across a very cool way that AccuRev was helping to improve the way development teams do their work. To be more specific, this group was using Change Packages integrated with the JIRA Issue Tracking system to manage changes across their various product [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/' addthis:title='Use Case: Fixing the Broken Build '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/' addthis:title='Use Case: Fixing the Broken Build ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><p><strong>by Rob Mohr, AccuRev</strong></p>
<p>In one of many travels and customer visits, I came across a very cool way that AccuRev was helping to improve the way development teams do their work. To be more specific, this group was using <a href="http://www.accurev.com/change-packages.html" target="_blank">Change Packages</a> integrated with the <a href="http://www.accurev.com/accubridge-jira.html" target="_blank">JIRA</a> Issue Tracking system to manage changes across their various product releases. They also used CruiseControl for <a href="http://www.accurev.com/continuous-integration.html" target="_blank">continuous integration</a> that would kick off nightly builds and notify the team with the results of the build.</p>
<p>From what they told me, the success of builds has significantly improved since they started using AccuRev because of the ability for the developers to work in their own <a href="http://www.accurev.com/private-versioning.html" target="_blank">private workspaces</a> where they can integrate and unit test before promoting their changes for the rest of the team. Although broken builds are, for the most part, a thing of the past, they will still occur once in a while and need to be fixed ASAP.</p>
<p><strong>Here is how they do it with AccuRev</strong></p>
<p>The <a href="http://www.accurev.com/streambrowser.html" target="_blank">stream structure</a> below is a simpler view of their overall <a href="http://www.accurev.com/product-overview.html" target="_blank">software development process</a>, but will be sufficient to show the use case.</p>
<p><strong>Promoting to the Integration Stream</strong></p>
<p>To start, the 4 developers below have made changes in their workspaces that will be promoted and associated to 4 different issues.</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/11/b1.jpg" target="_blank"><img class="alignnone size-full wp-image-415" title="b1" src="http://www.accurev.com/blog/wp-content/uploads/2008/11/b1.jpg" alt="b1 Use Case: Fixing the Broken Build" width="449" height="156" /></a></p>
<p>As you can see below, the integration stream (EntSoft_Client_Int) is “aware” of which issues are active in the stream. These are the new “change packages” introduced in the stream to be included in the next nightly build.</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/11/2-show-issues.jpg" target="_blank"><img class="alignnone size-full wp-image-416" title="2-show-issues" src="http://www.accurev.com/blog/wp-content/uploads/2008/11/2-show-issues.jpg" alt="2 show issues Use Case: Fixing the Broken Build" width="450" height="108" /></a></p>
<p><strong>Build Fails in the Integration Stream</strong></p>
<p>The next morning, the team is notified that last nights build failed via an email notification from CruiseControl. They have also scripted CruiseControl to automatically enable a time based stream called the “Temp_Fix_Build” stream and assign the appropriate transaction number to rollback the change packages from last night.</p>
<p><strong><a href="http://www.accurev.com/blog/wp-content/uploads/2008/11/b31.jpg" target="_blank"><img class="alignnone size-full wp-image-420" title="b31" src="http://www.accurev.com/blog/wp-content/uploads/2008/11/b31.jpg" alt="b31 Use Case: Fixing the Broken Build" width="450" height="182" /></a></strong></p>
<p><strong>Assign the Developer to Fix the Build</strong></p>
<p>One of the developers creates a workspace on the Temp_Fix_Build and “change palettes” over each change package one at a time.<span>  </span>This gives them the ability to mix and match change packages together to determine which one of them is the problem.</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/11/b4.jpg" target="_blank"><img class="alignnone size-full wp-image-418" title="b4" src="http://www.accurev.com/blog/wp-content/uploads/2008/11/b4.jpg" alt="b4 Use Case: Fixing the Broken Build" width="450" height="184" /></a></p>
<p><strong>Problem Solved</strong></p>
<p>After the culprit is fixed, the repaired change package(s) are promoted back into the integration stream for all to share.</p>
<p><a href="http://www.accurev.com/blog/wp-content/uploads/2008/11/b5.jpg" target="_blank"><img class="alignnone size-full wp-image-419" title="b5" src="http://www.accurev.com/blog/wp-content/uploads/2008/11/b5.jpg" alt="b5 Use Case: Fixing the Broken Build" width="450" height="184" /></a></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/' addthis:title='Use Case: Fixing the Broken Build '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2008/11/04/use-case-fixing-the-broken-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force Testing</title>
		<link>http://accurev.com/blog/2007/10/19/force-testing/</link>
		<comments>http://accurev.com/blog/2007/10/19/force-testing/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 20:10:00 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[force testing]]></category>
		<category><![CDATA[funcional testing]]></category>
		<category><![CDATA[functional test]]></category>
		<category><![CDATA[mocks]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[unit test]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[white box]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/2007/10/19/force-testing/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/19/force-testing/' addthis:title='Force Testing ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>There are a variety of testing methods: White Box. TDD. Mocks. Unit. Stress. Functional. Taste. Flight. Load. and more&#8230; It&#8217;s Friday&#8230; Here&#8217;s my favorite test courtesy of Boeing&#8230; check out the 777 Wing Force Test. /happy testing/ &#8211; dave<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/19/force-testing/' addthis:title='Force Testing '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/19/force-testing/' addthis:title='Force Testing ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><p>There are a variety of testing methods: White Box. TDD. Mocks. Unit. Stress. Functional. Taste. Flight. Load. and more&#8230;</p>
<p>It&#8217;s Friday&#8230; Here&#8217;s my favorite test courtesy of Boeing&#8230; check out the <a href="http://www.youtube.com/watch?v=Ai2HmvAXcU0" target="_blank">777 Wing Force Test</a>.</p>
<p>/happy testing/ &#8211; dave</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2007/10/19/force-testing/' addthis:title='Force Testing '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2007/10/19/force-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

