<?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>JKI Blog &#187; VI Tester</title>
	<atom:link href="http://blog.jki.net/category/labs/vi-tester/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jki.net</link>
	<description>Pushing the Limits of LabVIEW</description>
	<lastBuildDate>Tue, 15 May 2012 16:00:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Don&#8217;t Throw Away Your &#8220;Throw-Away&#8221; Code</title>
		<link>http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/</link>
		<comments>http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 16:06:24 +0000</pubDate>
		<dc:creator>Jack Dunaway</dc:creator>
				<category><![CDATA[JKI Labs]]></category>
		<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[VI Tester]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[integration test]]></category>
		<category><![CDATA[unit test]]></category>

		<guid isPermaLink="false">http://blog.jki.net/?p=2876</guid>
		<description><![CDATA[Lately, software testing has been on my mind. I&#8217;ve been trying to dial in the sweet spot where automated testing is directly profitable by decreasing net development time, and indirectly profitable by increasing the intangible perception of quality. Here&#8217;s the &#8230; <a href="http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lately, <a href="http://en.wikipedia.org/wiki/Software_testing" target="_blank">software testing</a> has been on my mind. I&#8217;ve been trying to dial in the sweet spot where automated testing is directly profitable by decreasing net development time, and indirectly profitable by increasing the intangible perception of quality.</p>
<p>Here&#8217;s the problem: <a href="http://en.wikipedia.org/wiki/Unit_testing" target="_blank">unit testing</a> can seem tedious. Prohibitively expensive. Tough to justify. Even intimidating! As a result, applications and application components can easily get starved of <em>any</em> form of automated testing.</p>
<p>A colleague let me in on a secret that helps break down these misconceptions. It&#8217;s simple, and maybe even obvious, but it&#8217;s still a secret worth sharing: <strong>a <em>unit</em> is as big as you want it to be</strong>. It&#8217;s just that once the unit gets big enough, we call it something else: a functional test, or an <a href="http://en.wikipedia.org/wiki/Integration_testing" target="_blank">integration test</a>. This type of testing can be a great strategy if you&#8217;re looking to minimize time writing tests yet ensure many high-level functional units are working as expected.</p>
<p>Here&#8217;s an example of how I recently used JKI&#8217;s <a href="http://forums.jki.net/topic/985-vi-tester-home-page/" target="_blank">VI Tester</a> to develop an integration test for a LabVIEW application I was working on, and <strong>turned some low-value &#8220;throw-away&#8221; code into a permanent, reusable part of my application&#8217;s build process.</strong></p>
<p>I received a new requirement that would require significant modification to a stable application. In this project, a <a href="http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx" target="_blank">.NET FileSystemWatcher</a> monitors a directory where a third-party app creates test result files. This new requirement involved monitoring for an additional file extension, which meant I could no longer rely on the <a href="http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx" target="_blank">simple filter built-in to the FileSystemWatcher</a>. While working on this modification, two things became evident: I was going to need to write some helper code in order to develop the feature, and I would need a test plan that involved more than just kicking the tires after building.</p>
<p>I started to write some throw-away code to enable development of a <a href="http://www.regular-expressions.info/" target="_blank">regular expression</a> to replace the simple built-in filter. During this process, it hit me: toss this code into a VI Tester Test Case, and the helper code would effectively become my test plan. By making this code part of a Test Case and running those tests automatically at build time, the code became a valuable, functional part of my QA process! (By the way, the winning regex turned out to be &#8220;<em>^[^\~].*\.(xls|xlsm)$</em>&#8220;)</p>
<div id="attachment_2884" class="wp-caption aligncenter" style="width: 650px"><a href="http://blog.jki.net/wp-content/uploads/2011/09/testNewFileDetection.png" rel="lightbox[2876]"><img class="size-large wp-image-2884 " title="Test Case - New Test File Detection" src="http://blog.jki.net/wp-content/uploads/2011/09/testNewFileDetection-1024x454.png" alt="Test Case - New Test File Detection" width="640" height="283" /></a><p class="wp-caption-text">This VI is the Test Case that is run by VI Tester. It ensures that the application is able to properly monitor the test file directory and filter the filenames of interest.</p></div>
<p>&nbsp;</p>
<div id="attachment_2885" class="wp-caption aligncenter" style="width: 650px"><a href="http://blog.jki.net/wp-content/uploads/2011/09/setUp.png" rel="lightbox[2876]"><img class="size-large wp-image-2885 " title="Set Up Method" src="http://blog.jki.net/wp-content/uploads/2011/09/setUp-1024x328.png" alt="Set Up Method" width="640" height="205" /></a><p class="wp-caption-text">By using two application functions (File System Watcher and File Call Back) as part of the Test Harness, I ensure functionality of the entire application component.</p></div>
<p>Functional tests like these help quell misconceptions about writing software tests. Testing does not have to be boring – feel free to whip out some application design patterns to create integration tests! Further, testing does not have to be tedious. Consider functional testing of high-level processes if the application does not warrant unit testing each low-level function.</p>
<p><strong>Download a packaged version of this example below and poke around.</strong> There are a few more goodies in there, such as the source of the FileSystemWatcher setup, and a design pattern I dub &#8220;The Flaky Delegate&#8221; where a .NET callback brokers messages back as LabVIEW User Events.</p>
<p><strong><a href="http://jki.net/sites/default/files/content/jki_lib_functional_testing_demo-1.0.0.3.vip" target="_blank">Download the example</a> as a VI Package.</strong> (108 KB, requires the free <a href="http://jki.net/vipm" target="_blank">VI Package Manager Community Edition</a> or higher)</p>
<p><strong><a href="http://forums.jki.net/topic/985-vi-tester-home-page/" target="_blank">Learn more about VI Tester</a></strong>, JKI&#8217;s free unit testing framework for LabVIEW.</p>
<div id="attachment_2886" class="wp-caption alignleft" style="width: 947px"><a href="http://blog.jki.net/wp-content/uploads/2011/09/FunctionalTestsPassed.png" rel="lightbox[2876]"><img class="size-full wp-image-2886" title="Functional Tests Passed" src="http://blog.jki.net/wp-content/uploads/2011/09/FunctionalTestsPassed.png" alt="Functional Tests Passed" width="937" height="569" /></a><p class="wp-caption-text">A view of VI Tester and the project structure of VIs under test.</p></div>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Flabs%2Fdont-throw-away-your-throw-away-code%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/"  data-text="Don&#8217;t Throw Away Your &#8220;Throw-Away&#8221; Code" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/labs/dont-throw-away-your-throw-away-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NIWeek 2011: &#8220;Five Clever Debugging Techniques&#8221; Slides and Code Now Available</title>
		<link>http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/</link>
		<comments>http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 16:13:17 +0000</pubDate>
		<dc:creator>Omar Mussa</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[NIWeek]]></category>
		<category><![CDATA[VI Tester]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[execution trace]]></category>
		<category><![CDATA[JKI]]></category>
		<category><![CDATA[ni]]></category>
		<category><![CDATA[niweek]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[powerpoint]]></category>
		<category><![CDATA[probe]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[slideshare]]></category>
		<category><![CDATA[suspend when called]]></category>
		<category><![CDATA[trick]]></category>
		<category><![CDATA[unit test]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://blog.jki.net/?p=2862</guid>
		<description><![CDATA[First, I&#8217;d like to thank everyone who attended my presentation at NIWeek 2011. I know that the room was a schlep for everyone since it was not in the typical presentation area, so I was really excited that the session &#8230; <a href="http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>First, I&#8217;d like to thank everyone who attended my presentation at <a href="http://niweek.com/" target="_blank">NIWeek 2011</a>. I know that the room was a schlep for everyone since it was not in the typical presentation area, so I was really excited that the session was full!  I&#8217;d also like to thank Michael Aivaliotis for helping me with impromptu technical support and a special guest appearance during the presentation with great comments about his own debugging tricks and tips.</p>
<p>This presentation came about after I was working with several other JKI Engineers and it became obvious that many of us were using debugging techniques that others had forgotten or never knew existed. We recorded a live screencast of the session and will upload it once we&#8217;ve got it ready, but for those who&#8217;d like to review the slides or download the code now, check them out below.</p>
<p>Do you any super-secret debugging techniques of your own?  <em>Share them in the comments below.</em></p>
<div style="width:425px" id="__ss_8832047"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/jkisoft/niweek-2011-five-clever-debugging-techniques-for-every-labview-developer" title="NIWeek 2011: Five Clever Debugging Techniques for Every LabVIEW Developer">NIWeek 2011: Five Clever Debugging Techniques for Every LabVIEW Developer</a></strong><object id="__sse8832047" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jkicleverdebuggingtechniquesniweek2011-110811201037-phpapp01&#038;stripped_title=niweek-2011-five-clever-debugging-techniques-for-every-labview-developer&#038;userName=jkisoft" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse8832047" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jkicleverdebuggingtechniquesniweek2011-110811201037-phpapp01&#038;stripped_title=niweek-2011-five-clever-debugging-techniques-for-every-labview-developer&#038;userName=jkisoft" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p>&nbsp;</p>
<p><strong>Title:</strong> Five Clever Debugging Techniques for Every LabVIEW Developer</p>
<p><strong>Abstract:</strong> Do you want to be a LabVIEW bug assassin? Do you want to identify, isolate, and fix bugs faster than your coworkers by using clever tricks? Learn several powerful built-in LabVIEW debugging techniques ranging from simple tools like retain wire values to the best LabVIEW debugging feature that no one knows about.</p>
<p><strong>Download Slides &amp; Code:</strong> <a href="http://jki.net/sites/default/files/content/niweek-2011-jki-clever-debugging-techniques.zip" target="_blank">niweek-2011-jki-clever-debugging-techniques.zip</a> (1.0 MB)</p>
<p><strong>Notes:<br />
</strong></p>
<ul>
<li>Example code requires <a href="http://ni.com/labview" target="_blank">LabVIEW 2011</a>.</li>
<li><span class="Apple-style-span" style="font-weight: normal;">Example code depends on several free LabVIEW add-on libraries.  To install these libraries, use <a href="http://jki.net/vipm" target="_blank">VI Package Manager 2011 Community Edition</a> to &#8220;apply&#8221; the included VI Package Configuration file. See <em>Secret #3</em> in <a href="http://blog.jki.net/products/secrets-of-the-vipc/" target="_blank">this JKI blog post</a> for more information.</span></li>
<li><span class="Apple-style-span" style="font-weight: normal;">Example code includes a free trial version of the <a href="http://jki.net/easyxml" target="_blank">EasyXML Toolkit for LabVIEW</a>. The <a href="http://jki.net/easyxml/purchase" target="_blank">full version of EasyXML</a> costs $99 and is a <a href="http://blog.jki.net/community/labview-add-on-of-the-year-easyxml/" target="_blank">2011 LabVIEW Add-on of the Year</a>.</span></li>
</ul>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Fevents%2Fniweek-2011-five-clever-debugging-techniques-slides-and-code-now-available%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/"  data-text="NIWeek 2011: &#8220;Five Clever Debugging Techniques&#8221; Slides and Code Now Available" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/events/niweek-2011-five-clever-debugging-techniques-slides-and-code-now-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Speeding Up Large Application Build Cycles with VI Tester</title>
		<link>http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/</link>
		<comments>http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 18:45:21 +0000</pubDate>
		<dc:creator>Tomi Maila</dc:creator>
				<category><![CDATA[JKI Labs]]></category>
		<category><![CDATA[JKI Software Products]]></category>
		<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[VI Tester]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[application builder]]></category>
		<category><![CDATA[JKI]]></category>
		<category><![CDATA[large application]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=2176</guid>
		<description><![CDATA[JKI’s VI Tester is a LabVIEW unit testing framework that helps developers write and execute automated tests to guarantee their software components work as designed.  Although this usually means verifying that software components meet certain functional requirements, VI Tester can be used &#8230; <a href="http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JKI’s <a href="http://jki.net/vi-tester">VI Tester</a> is a LabVIEW <a href="http://en.wikipedia.org/wiki/Unit_testing">unit testing framework</a> that helps developers write and execute automated tests to guarantee their software components work as designed.  Although this usually means verifying that software components meet certain functional requirements, VI Tester can be used for creating other kinds of software tests, too.  Instead of finding bugs, these tests can do things like perform status and configuration checks on your software, and work around pain points in the LabVIEW build process.  Let&#8217;s look at one example.</p>
<p><strong>LabVIEW Checks for Broken VIs Late in the Build Process</strong></p>
<p>Recently I was working for a JKI customer on a very large piece of LabVIEW software. The development team was trying to optimize the application&#8217;s half-day-long build process. One of the problems we faced was that occasionally there were broken VIs in the build but it took hours before the LabVIEW Application Builder returned an error to notify us about them. This feedback was too slow, as often the new build was needed for the next day and starting another build meant several lost hours.</p>
<p>Our solution was to create a Test Case in VI Tester that tests if the application is OK to build (i.e. if any module&#8217;s Run Arrow is broken). It provides nearly instant feedback to the development team because it runs as the very first step of the build process.  I’ll show you how we did it.</p>
<p><strong>How to Quickly and Automatically Test Your Build for Broken VIs</strong></p>
<p>How can you create a test case to test broken code, since doing so would cause the test case itself to be broken?</p>
<p>First, create an empty VI Tester test case class. By default, a test case class consists of three VIs: a setUp.vi, a tearDown.vi and a VI template for individual tests. You don’t need to worry about the setUp or tearDown steps in this test case; just use the default templates for these two VIs. Just create the test VI by renaming the template to something that begins with “test.” In this example we will call it testBuildTree.vi.</p>
<p style="text-align: center;"><img class="size-full wp-image-2180 aligncenter" title="Broken VI Unit Test Case Class" src="http://blog.jki.net/wp-content/uploads/2011/02/integrity-test-class.png" alt="" width="163" height="93" /></p>
<p>Second, we need to write the content of the actual unit test. The idea behind this unit test is very simple. We create a VI outside the test case class called BuildTree.vi. On the block diagram of this VI we place all the files defined in the Source Files section of your executable build definition (marked with yellow label in the illustration below).</p>
<p style="text-align: center;"><a href="http://blog.jki.net/wp-content/uploads/2011/02/files-to-include.png" rel="lightbox[2176]"><img class="size-medium wp-image-2181 aligncenter" style="border: 0px;" title="Files to include to the build tree block diagram" src="http://blog.jki.net/wp-content/uploads/2011/02/files-to-include-300x201.png" alt="" width="300" height="201" /></a></p>
<p>Wire up all the required inputs of the VIs you dropped on the block diagram to ensure that BuildTree.vi itself is <em>not </em>broken. Don’t worry about whether the data you connect is valid; BuildTree.vi is never actually executed so you don’t need to worry about whether the code would actually do anything if you ran it.</p>
<p>Next open the testBuildTree.vi test from the test case class. Create an empty case structure on the block diagram, and wire a boolean control to the selector input of the case structure as shown below. Drop the just created BuildTree.vi to the True case of the case structure and leave the False case empty. Make sure the default value of the boolean control is false so that the True case of the case structure never executes.</p>
<p style="text-align: center;"><a href="http://blog.jki.net/wp-content/uploads/2011/02/broken-vi-test-case1.png" rel="lightbox[2176]"><img class="size-full wp-image-2183 aligncenter" style="border: 0px;" title="Broken VI Test Case" src="http://blog.jki.net/wp-content/uploads/2011/02/broken-vi-test-case1.png" alt="" width="590" height="231" /></a></p>
<p>That’s it. Your test case finished. When VI Tester tries to execute the test case, any broken code in BuildTree.vi will cause the test case class to fail to load. VI Tester will simply mark the test case as failed and continue with the next test case.</p>
<p><strong>Verify That It Works</strong></p>
<p>To validate your test case, add the test case class to your project, save the project and open VI Tester from LabVIEW Tools menu (<em>Tools -&gt; VI Tester -&gt; Test VIs…</em>).  VI Tester will automatically find the test case in your project. Execute the test case by pressing the green arrow in the main user interface of the VI Tester. If one of the VIs in your build is broken, the test case will fail and your broken build is properly reported by your unit test.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Flabs%2Fspeeding-up-large-application-build-cycles-with-vi-tester%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/"  data-text="Speeding Up Large Application Build Cycles with VI Tester" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/labs/speeding-up-large-application-build-cycles-with-vi-tester/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VI Tester 1.1.2 Now Available</title>
		<link>http://blog.jki.net/news/vi-tester-1-1-2-now-available/</link>
		<comments>http://blog.jki.net/news/vi-tester-1-1-2-now-available/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 23:38:13 +0000</pubDate>
		<dc:creator>Omar Mussa</dc:creator>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[JKI Labs]]></category>
		<category><![CDATA[VI Tester]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=1761</guid>
		<description><![CDATA[I&#8217;m very excited to announce that VI Tester 1.1.2 has been released on the VI Package Network.  As lead developer of VI Tester, I&#8217;m happy to tell you that this release fixes all of the known user-reported issues to date, &#8230; <a href="http://blog.jki.net/news/vi-tester-1-1-2-now-available/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very excited to announce that <strong><a href="http://jki.net/vi-tester">VI Tester 1.1.2</a> has been released</strong> on the VI Package Network.  As lead developer of VI Tester, I&#8217;m happy to tell you that this release fixes all of the known user-reported issues to date, as well a few other issues that we found internally at JKI.</p>
<p>﻿If you&#8217;re a <a href="http://jki.net/vipm">VI Package Manager</a> user, VI Tester 1.1.2 will automatically appear in your package list and you can install or upgrade in just a couple clicks.  If you&#8217;re not a VIPM user, you can <a href="http://jki.net/vipm/compare">get started for free with VIPM Community Edition</a> and be up and running with VI Tester in a few short minutes.</p>
<p>The biggest changes in VI Tester 1.1.2 are the following:</p>
<ul>
<li><strong>TestSuites can now contain multiple instances of test cases and/or test suites</strong>.  This makes reusing tests easier as you can create test properties that get set during the TestSuite initialization step and reuse tests much more efficiently.</li>
</ul>
<ul>
<li><strong>Added support for Test templates. </strong>You can create a method called testTemplate.vit and it will never get executed by the test framework, but you can use it as a template to create other real test methods.  We&#8217;ve also changed our TestCase template to include a testExample.vit file! (hat tip to Daklu)</li>
</ul>
<ul>
<li><strong>VI Tester is now built using LabVIEW 2009 instead of 8.2</strong>.  There were some issues that we just couldn&#8217;t fix easily in 8.2 so we decided it was time to upgrade.  This means VI Tester 1.1.2 now requires LabVIEW 2009 or later.</li>
</ul>
<p>Please <a href="http://jki.net/vi-tester/download">download and install VI Tester</a> and keep sending us your feedback; it&#8217;s greatly appreciated and really helps improve VI Tester!</p>
<p>Now, go squash some bugs <img src='http://blog.jki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Fnews%2Fvi-tester-1-1-2-now-available%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/news/vi-tester-1-1-2-now-available/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/news/vi-tester-1-1-2-now-available/"  data-text="VI Tester 1.1.2 Now Available" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/news/vi-tester-1-1-2-now-available/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/news/vi-tester-1-1-2-now-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VI Tester 1.1.1 Released, Fixes LabVIEW Project Integration in LV 2009</title>
		<link>http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/</link>
		<comments>http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 14:37:43 +0000</pubDate>
		<dc:creator>JKI</dc:creator>
				<category><![CDATA[VI Tester]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=1169</guid>
		<description><![CDATA[We&#8217;ve just released VI Tester 1.1.1 on the VI Package Network.  This release contains a fix for a minor bug that caused the VI Tester toolbar to not show up in the LabVIEW 2009 Project Explorer window. You can download &#8230; <a href="http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve just released <a href="http://forums.jkisoft.com/index.php?showtopic=985">VI Tester</a> 1.1.1 on the VI Package Network.  This release contains a fix for a minor bug that caused the VI Tester toolbar to not show up in the LabVIEW 2009 Project Explorer window.</p>
<p><img class="aligncenter size-full wp-image-1170" title="VI Tester Project Integration" src="http://blog.jki.net/wp-content/uploads/2010/02/VI-Tester-Project-Integration.png" alt="" width="529" height="361" /></p>
<p>You can <strong>download &amp;</strong><strong> install</strong> this package using <strong><a href="http://jkisoft.com/vipm/" target="_blank">VI Package Manager</a></strong>.  Just press the <strong>&#8220;Check the Network for Available Packages&#8221;</strong> button to refresh your package list, then install the <strong>jki_labs_tool_vi_tester-1.1.1.137-1</strong> package.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Flabs%2Fvi-tester%2Fvi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/"  data-text="VI Tester 1.1.1 Released, Fixes LabVIEW Project Integration in LV 2009" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/labs/vi-tester/vi-tester-1-1-1-released-fixes-labview-project-integration-in-lv-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit Testing VI Properties</title>
		<link>http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/</link>
		<comments>http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 07:00:28 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[VI Tester]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=481</guid>
		<description><![CDATA[Have you ever set a reentrant VI to non-reentrant in order to facilitate debugging, only to forget to set the VI back to reentrant when you&#8217;re done?  This mistake can be very tough to debug, as the difference in behavior (between &#8230; <a href="http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have you ever set a <a href="http://wiki.lavag.org/Reentrant"><em>reentrant</em> VI</a> to <em>non-reentrant</em> in order to facilitate debugging, only to forget to set the VI back to <em>reentrant</em> when you&#8217;re done?  This mistake can be very tough to debug, as the difference in behavior (between reentrancy and non-reentrancy) can be very subtle.  The same is true for other VI Settings (e.g. the <em>subroutine</em> <a href="http://zone.ni.com/reference/en-XX/help/371361B-01/lvdialog/execution/">Execution Priority</a> setting).  The point is, during development you may change some VI Properties in ways that make sense for debugging, but will cause bugs in your application if left that way.  Forgetting to reset them to their correct values can cause huge headaches when your software is delivered (or worse, <em>long after</em> it&#8217;s delivered).</p>
<p><strong>How can you ensure that important VI Settings are correct for specific VIs, prior to deployment?</strong></p>
<p>That&#8217;s easy, <em>just create a unit test (using <a href="http://jkisoft.com/vi-tester">VI Tester</a>) that validates the required setting</em>, as shown below:</p>
<div id="attachment_498" class="wp-caption aligncenter" style="width: 581px"><img class="size-full wp-image-498" title="unit-test-reentrancy-setting" src="http://blog.jki.net/wp-content/uploads/2009/03/unit-test-reentrancy-setting.png" alt="Unit Test for Required Reentrancy" width="571" height="315" /><p class="wp-caption-text">Unit Test for Required Reentrancy</p></div>
<p>The VI that performs the reentrancy check, <strong>passIfReentrant.vi</strong> (shown below), is one that you probably haven&#8217;t seen before, since it&#8217;s not delivered as part of VI Tester.</p>
<div id="attachment_484" class="wp-caption aligncenter" style="width: 375px"><img class="size-full wp-image-484" title="passifreentrant" src="http://blog.jki.net/wp-content/uploads/2009/03/passifreentrant.png" alt="passIfReentrant.vi" width="365" height="177" /><p class="wp-caption-text">passIfReentrant.vi</p></div>
<p>If we look at the block diagram, shown below, we&#8217;ll see that it&#8217;s not very complicated:</p>
<div id="attachment_486" class="wp-caption aligncenter" style="width: 602px"><img class="size-full wp-image-486" title="passifreentrant-block-diagram" src="http://blog.jki.net/wp-content/uploads/2009/03/passifreentrant-block-diagram.png" alt="passIfReentrant.vi Block Diagram" width="592" height="385" /><p class="wp-caption-text">passIfReentrant.vi Block Diagram</p></div>
<p>This VI simply checks the reentrancy and outputs a descriptive test failure message explaining the details of the failure.  When we run our unit tests, prior to building and deploying our application, VI Tester catches the problem and shows us exactly where to look.</p>
<div id="attachment_487" class="wp-caption aligncenter" style="width: 604px"><img class="size-full wp-image-487" title="vi-tester-showing-failure" src="http://blog.jki.net/wp-content/uploads/2009/03/vi-tester-showing-failure.png" alt="VI Tester showing failure" width="594" height="577" /><p class="wp-caption-text">VI Tester showing failure</p></div>
<p>If you&#8217;d like to add reentrancy tests to your LabVIEW application&#8217;s unit test suite, you can download passIfReentrant.vi here:</p>
<ul>
<li><a href="http://blog.jki.net/wp-content/uploads/2009/03/passifreentrant_lv82.zip">passifreentrant_lv82.zip</a></li>
</ul>
<p>If you have ideas for other common, reusable VI Settings (or other) tests, please share your ideas by leaving us a comment <a href="#comment">below</a>.</p>
<div class="entry hentry">
<div class="content">
<p><strong>How to get VI Tester</strong></p>
<p>VI Tester is available on the <a href="http://jkisoft.com/vi-package-network/" target="_blank">VI Package Network</a>.  If you&#8217;re already a <a href="http://jkisoft.com/vipm" target="_blank">VI Package Manager</a> user, just click the &#8220;<em>Check the VI Package Network for Available Packages&#8221;</em> button in the VIPM window.  VIPM will notify you that VI Tester is available, and you can simply tell VIPM to download &amp; install it for you.</p>
<div id="attachment_432" class="wp-caption aligncenter" style="width: 348px"><a href="http://blog.jki.net/wp-content/uploads/2009/03/check-network-for-pkgs.png" target="_blank" rel="lightbox[481]"><img class="size-full wp-image-432" style="border: 0pt none;" title="check-network-for-pkgs" src="http://blog.jki.net/wp-content/uploads/2009/03/check-network-for-pkgs.png" alt="check-network-for-pkgs" width="338" height="181" /></a><p class="wp-caption-text">Check the VI Package Network for Available Packages</p></div>
<p>If you&#8217;re not already a <a href="http://jkisoft.com/vipm" target="_blank">VI Package Manager</a> user, what are you waiting for?  VI Package Manager lets you <em>take control of your reusable VIs</em>, and is also the best way to put all the great tools from <a href="http://jkisoft.com/labs/" target="_blank">JKI Labs</a>, <a href="http://openg.org" target="_blank">OpenG.org</a>, and the whole VI Package Network into your palettes!</p>
<p><em>For more information about VI Tester, visit <a href="http://jkisoft.com/vi-tester" target="_blank">jkisoft.com/vi-tester</a>. </em></div>
</div>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Flabs%2Fvi-tester%2Funit-testing-vi-properties%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/"  data-text="Unit Testing VI Properties" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/labs/vi-tester/unit-testing-vi-properties/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>JKI Announces VI Tester 1.1 Release in JKI Labs</title>
		<link>http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/</link>
		<comments>http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 20:38:37 +0000</pubDate>
		<dc:creator>Justin Goeres</dc:creator>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[VI Tester]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=430</guid>
		<description><![CDATA[JKI is pleased to announce the release of VI Tester 1.1.  This release fixes several issues reported by the community, and also adds some significant new features: A programmatic API so you can run tests and obtain their results from &#8230; <a href="http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JKI is pleased to announce the release of <a href="http://jkisoft.com/vi-tester" target="_blank">VI Tester 1.1</a>.  This release fixes several issues reported by the community, and also adds some significant new features:</p>
<ul>
<li>A programmatic API so you can run tests and obtain their results from your own code.</li>
</ul>
<div id="attachment_442" class="wp-caption aligncenter" style="width: 556px"><a href="http://blog.jki.net/wp-content/uploads/2009/03/vi-tester-api1.png" target="_blank" rel="lightbox[430]"><img class="size-full wp-image-442" style="border: 0pt none;" title="vi-tester-api1" src="http://blog.jki.net/wp-content/uploads/2009/03/vi-tester-api1.png" alt="VI Tester's Programmatic API" width="546" height="176" /></a><p class="wp-caption-text">VI Tester&#39;s Programmatic API</p></div>
<ul>
<li>Several new toolbar buttons in your LabVIEW Project window so you can access VI Tester&#8217;s most common features right from your LabVIEW projects.</li>
</ul>
<div id="attachment_434" class="wp-caption aligncenter" style="width: 503px"><a href="http://blog.jki.net/wp-content/uploads/2009/03/vi-tester-toolbar-snag.png" target="_blank" rel="lightbox[430]"><img class="size-full wp-image-434" style="border: 0pt none;" title="VI Tester's Project Toolbar" src="http://blog.jki.net/wp-content/uploads/2009/03/vi-tester-toolbar-snag.png" alt="VI Tester's Project Toolbar" width="493" height="252" /></a><p class="wp-caption-text">VI Tester&#39;s Project Toolbar</p></div>
<ul>
<li>The ability to export your test results to a text file and/or print them.</li>
</ul>
<p style="text-align: center;">
<p>We&#8217;re excited by the community&#8217;s response to VI Tester.  We hope you find the new features in VI Tester 1.1 as useful as we do!</p>
<p><strong>How to get VI Tester</strong></p>
<p>VI Tester is available on the <a href="http://jkisoft.com/vi-package-network/" target="_blank">VI Package Network</a>.  If you&#8217;re already a <a href="http://jkisoft.com/vipm" target="_blank">VI Package Manager</a> user, just click the &#8220;<em>Check the VI Package Network for Available Packages&#8221;</em> button in the VIPM window.  VIPM will notify you that VI Tester is available, and you can simply tell VIPM to download &amp; install it for you.</p>
<div id="attachment_432" class="wp-caption aligncenter" style="width: 348px"><a href="http://blog.jki.net/wp-content/uploads/2009/03/check-network-for-pkgs.png" target="_blank" rel="lightbox[430]"><img class="size-full wp-image-432" style="border: 0pt none;" title="check-network-for-pkgs" src="http://blog.jki.net/wp-content/uploads/2009/03/check-network-for-pkgs.png" alt="check-network-for-pkgs" width="338" height="181" /></a><p class="wp-caption-text">Check the VI Package Network for Available Packages</p></div>
<p>If you&#8217;re not already a <a href="http://jkisoft.com/vipm" target="_blank">VI Package Manager</a> user, what are you waiting for?  VI Package Manager lets you <em>take control of your reusable VIs</em>, and is also the best way to put all the great tools from <a href="http://jkisoft.com/labs/" target="_blank">JKI Labs</a>, <a href="http://openg.org" target="_blank">OpenG.org</a>, and the whole VI Package Network into your palettes!</p>
<p><em>For more information about VI Tester, visit <a href="http://jkisoft.com/vi-tester" target="_blank">jkisoft.com/vi-tester</a>. </em></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Fnews%2Fjki-announces-vi-tester-11-release-in-jki-labs%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/"  data-text="JKI Announces VI Tester 1.1 Release in JKI Labs" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/news/jki-announces-vi-tester-11-release-in-jki-labs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LabVIEW Project Integration for VI Tester</title>
		<link>http://blog.jki.net/labview/labview-project-integration-for-vi-tester/</link>
		<comments>http://blog.jki.net/labview/labview-project-integration-for-vi-tester/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 05:00:04 +0000</pubDate>
		<dc:creator>Justin Goeres</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[VI Tester]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=188</guid>
		<description><![CDATA[NI&#8217;s New Year&#8217;s resolution to provide better support for third-party LabVIEW addons is already bearing fruit in some big ways inside JKI. Very soon, you&#8217;ll be able to access VI Tester directly from the LabVIEW project toolbar. By clicking on &#8230; <a href="http://blog.jki.net/labview/labview-project-integration-for-vi-tester/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>NI&#8217;s New Year&#8217;s resolution to <a href="http://pasquarette.wordpress.com/2008/12/26/resolution-2-provide-better-support-for-third-party-labview-add-ons/">provide better support for third-party LabVIEW addons</a> is already bearing fruit in some big ways inside JKI.</p>
<p><strong>Very soon, you&#8217;ll be able to access </strong><a href="http://jkisoft.com/vi-tester"><strong>VI Tester</strong></a><strong> directly from the LabVIEW project toolbar.</strong></p>
<p><strong></strong>By clicking on toolbar buttons you&#8217;ll be able to run all your project&#8217;s unit tests, as well as add new Test Cases and Test Suites without leaving the project window.</p>
<p>Here&#8217;s a short video showing a development version of the VI Tester&#8217;s LabVIEW Project Explorer toolbar in action:</p>
<p style="text-align: center;"><object width="600" height="600" data="http://blog.jki.net/wp-content/uploads/2009/02/vi-tester-integration-demo.swf" type="application/x-shockwave-flash"><param name="src" value="http://blog.jki.net/wp-content/uploads/2009/02/vi-tester-integration-demo.swf" /></object></p>
<p>All this is made possible by NI&#8217;s growing openness to providing LabVIEW developers with ways to plug into and extend LabVIEW.  We are very excited about this trend and are learning more every day about new ways to plug into LabVIEW.  Expect to see better integration with LabVIEW for more JKI tools, such as VIPM, in the near future.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Flabview%2Flabview-project-integration-for-vi-tester%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/labview/labview-project-integration-for-vi-tester/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/labview/labview-project-integration-for-vi-tester/"  data-text="LabVIEW Project Integration for VI Tester" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/labview/labview-project-integration-for-vi-tester/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/labview/labview-project-integration-for-vi-tester/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bay Area LabVIEW User Group Meeting on 2009-02-18</title>
		<link>http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/</link>
		<comments>http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 17:05:17 +0000</pubDate>
		<dc:creator>Omar Mussa</dc:creator>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[VI Tester]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=237</guid>
		<description><![CDATA[If you&#8217;re going to be in the San Francisco Bay Area next Wednesday evening (February 18th, 2009 at at 6pm), then be sure to come to the LabVIEW User Group Meeting at the NI Mountain View office. Jim Kring and Omar Mussa will &#8230; <a href="http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re going to be in the San Francisco Bay Area next Wednesday evening (February 18th, 2009 at at 6pm), then be sure to come to the <a href="http://sine.ni.com/apps/utf8/nievn.ni?action=display_offering&amp;offering_id=508057&amp;site=NIC&amp;region=nca&amp;node=61110&amp;l=US">LabVIEW User Group Meeting</a> at the <a title="NI Mountain VIEW" href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;gl=us&amp;q=National+Instruments+mountain+view&amp;ie=UTF8&amp;hl=en&amp;sll=37.409912,-122.082697&amp;sspn=0.020783,0.021327&amp;ei=8HGTSdTfM5vUjQO2ndmNDQ&amp;sig2=ZTtbbmurUxQeXqKhpJ0l1w&amp;cd=1&amp;cid=37409912,-122082697,17566627608454005020&amp;li=lmd&amp;z=14&amp;t=m">NI Mountain View office</a>.</p>
<p>Jim Kring and Omar Mussa will be giving a demo of JKI&#8217;s new <a href="http://jkisoft.com/vi-tester">VI Tester</a> and talking about <strong>ways to improve your software quality via unit testing</strong>. </p>
<p>For more details, see the <a href="http://sine.ni.com/apps/utf8/nievn.ni?action=display_offering&amp;offering_id=508057&amp;site=NIC&amp;region=nca&amp;node=61110&amp;l=US">meeting agenda page</a>.</p>
<p>We hope to see you there!</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Fnews%2Fbay-area-labview-user-group-meeting-on-2009-02-18%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/"  data-text="Bay Area LabVIEW User Group Meeting on 2009-02-18" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/news/bay-area-labview-user-group-meeting-on-2009-02-18/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VI Tester &#8211; A Product of the JKI Development Process</title>
		<link>http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/</link>
		<comments>http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 05:00:51 +0000</pubDate>
		<dc:creator>Omar Mussa</dc:creator>
				<category><![CDATA[JKI Labs]]></category>
		<category><![CDATA[VI Tester]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=61</guid>
		<description><![CDATA[Last week, JKI released VI Tester.  To some, this might seem like an overnight development, but it is really the result of several years of internal development and eating our own dog food.  This is something that&#8217;s very important to &#8230; <a href="http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week, JKI released <a href="http://forums.jkisoft.com/index.php?showtopic=985">VI Tester</a>.  To some, this might seem like an overnight development, but it is really <strong>the result of several years of internal development and <a href="http://blog.jkisoft.com/jki/eating-our-own-dog-food-at-jki/">eating our own dog food</a></strong>.  This is something that&#8217;s very important to us, and we do it with all our <a href="http://jkisoft.com/">JKI Software</a> products.  In fact, the path to &#8220;productization&#8221; is a natural outgrowth of our normal development process at JKI.  Generally, the process is:</p>
<ol>
<li><strong>Identify a tool </strong>that we need for a project, but that doesn&#8217;t already exist.</li>
<li><strong>Create the tool </strong>that we need, so we can work better or more efficiently.</li>
<li><strong>Share the tool </strong>among our team and use it on multiple projects.</li>
<li><strong>Improve the tool </strong>based on team/user feedback.</li>
<li><strong>Repeat</strong> steps 3 and 4 over time.</li>
</ol>
<p>During this process, we continuously evaluate whether the tool is a candidate for a commercial product or whether it would be more appropriate for a community release (e.g. on <a href="http://jkisoft.com/labs/">JKI Labs</a>).</p>
<p>Now, let&#8217;s look more closely at how VI Tester evolved&#8230;</p>
<p><strong>Identification:</strong></p>
<p>A few years ago, we identified the need to unit test our code &#8212; primarily as a tool for ensuring quality for our JKI Software products like <a href="http://jkisoft.com/vipm/">VIPM</a> and <a href="http://jkisoft.com/easyxml/">EasyXML</a>.  Our customers depend on these products to perform reliably, and they&#8217;re too complicated for us to test by hand.  We also wanted to use an <a href="http://en.wikipedia.org/wiki/XUnit">xUnit framework</a> because this software testing architecture has proven to be a powerful tool in the software engineering world.  Additionally, xUnit test frameworks have spawned <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile</a> and <a href="http://en.wikipedia.org/wiki/Test-driven_development">Test-driven development processes</a> that our company strives to replicate in LabVIEW.  Since xUnit frameworks are object-oriented unit test frameworks, with the release of <a href="http://wiki.lavag.org/LVOOP">LVOOP</a> we saw an opportunity to create a powerful tool to make our own lives easier, and our software more robust.</p>
<p><strong>Creation:</strong></p>
<p>We started by reading a lot of <a href="http://amazon.com/o/ASIN/1930110995/jkiso-20">unit testing books</a> and articles.  We studied the xUnit architecture and some reference implementations (like <a href="http://en.wikipedia.org/wiki/PyUnit">PyUnit</a>).  We thought about how the xUnit architecture would best be implemented using LabVIEW&#8217;s by-value object-oriented paradigm.  We built a prototype in LVOOP, added a basic GUI, and started using it in projects.</p>
<p><strong>Sharing:</strong></p>
<p>With the basic test designs in place, we had VI Tester working essentially as you see it today.  However, sharing a tool requires hammering it into a form that makes it easy for other developers to use.  We know that there is no better tool than VI Package Manager for LabVIEW tool distribution &#8211; so we built VI Tester into a package!  This allowed our whole team to easily use VI Tester on several versions of LabVIEW and across multiple projects.  In fact, we&#8217;re even using VI Tester to run unit tests on VI Tester itself, to make sure it works the way we expect it to!  (did we mention the <a href="http://www.youtube.com/watch?v=9BBqgMQluDM">dog food</a> yet?)</p>
<p><strong>Improvement:</strong></p>
<p>Improving VI Tester means incorporating feedback from users to make the tool even better.  As long as a tool remains internal, that feedback is limited to a <a href="http://jkisoft.com/about/">handful of users</a>.  This has the positive effect of not overwhelming the development team when the product is immature.  However, we really want all of JKI&#8217;s tools to make an impact on the entire <a href="http://forums.lavag.org/LabVIEW-Ecosystem-News-f100.html">LabVIEW Ecosystem</a>, so we are constantly looking for ways to <a href="http://forums.jkisoft.com/">help users help us</a>.  In the case of VI Tester, JKI Labs is the best way to let users benefit from VI Tester, and participate in making it better.</p>
<p><strong>Repeating the process:</strong></p>
<p>And now, we arrive at the present day.  In reality, VI Tester has already been through many cycles of sharing / feedback / improvement thanks to our internal team and our private beta testers.  But now, by releasing VI Tester on JKI Labs, we&#8217;re making a statement:  <strong>we think VI Tester is ready to help <em>you</em> improve the robustness of <em>your</em> software; and if it&#8217;s not, we want to know how we need to improve it to make it useful to you</strong>.  And in doing this, we want to facilitate the ongoing process of bringing high-quality software engineering practices to the world of LabVIEW development.  Try out <a href="http://forums.jkisoft.com/index.php?showtopic=985">VI Tester</a>, join the discussion on <a href="http://forums.jkisoft.com/">our forums</a>, and stay tuned for more exciting blogs posts, examples, templates, and videos that will help you get the most out of VI Tester, and out of LabVIEW.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.jki.net%2Flabs%2Fvi-tester-a-product-of-the-jki-development-process%2F&amp;layout=button_count&amp;show_faces=false&amp;width=115&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=115px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/"></g:plusone>
			</div>
			<div style="float:left; width:115px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/"  data-text="VI Tester &#8211; A Product of the JKI Development Process" data-count="horizontal" data-via="jkisoftware">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.jki.net/labs/vi-tester-a-product-of-the-jki-development-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

