<?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; JKI Labs</title>
	<atom:link href="http://blog.jki.net/category/labs/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>New RCF Plugin: Open Typedef Wire</title>
		<link>http://blog.jki.net/community/new-rcf-plugin-open-typedef-wire/</link>
		<comments>http://blog.jki.net/community/new-rcf-plugin-open-typedef-wire/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 19:00:57 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Right-Click Framework]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=1457</guid>
		<description><![CDATA[Greg Sands has just released a very cool plug-in for the JKI Right-Click Framework (RCF) called &#8220;Open Typedef Wire.&#8221;  It allows you to right-click on a wire and open its Type Definition control (if the wire is a typedef). The &#8230; <a href="http://blog.jki.net/community/new-rcf-plugin-open-typedef-wire/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Greg Sands has just released a very cool plug-in for the <a href="http://decibel.ni.com/content/groups/jki-right-click-framework-for-labview">JKI Right-Click Framework (RCF)</a> called &#8220;<a href="http://decibel.ni.com/content/docs/DOC-12076">Open Typedef Wire</a>.&#8221;  It allows you to <em>right-click on a wire and open its Type Definition control</em> (if the wire is a typedef).</p>
<p>The screenshot below shows how it works.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1458" title="Open Typedef" src="http://blog.jki.net/wp-content/uploads/2010/06/Open-Typedef.png" alt="" width="350" height="205" /></p>
<p style="text-align: left;">Needless to say, this is <strong>very cool!</strong> Nice work, Greg!</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%2Fcommunity%2Fnew-rcf-plugin-open-typedef-wire%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/community/new-rcf-plugin-open-typedef-wire/"></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/community/new-rcf-plugin-open-typedef-wire/"  data-text="New RCF Plugin: Open Typedef Wire" 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/community/new-rcf-plugin-open-typedef-wire/" 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/community/new-rcf-plugin-open-typedef-wire/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>Announcing the Release of the JKI Right-Click Framework for LabVIEW</title>
		<link>http://blog.jki.net/news/announcing-the-release-of-the-jki-right-click-framework-for-labview/</link>
		<comments>http://blog.jki.net/news/announcing-the-release-of-the-jki-right-click-framework-for-labview/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 23:18:53 +0000</pubDate>
		<dc:creator>JKI</dc:creator>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[Right-Click Framework]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=903</guid>
		<description><![CDATA[JKI is pleased to announce the recent release of the JKI Right-Click Framework, from the JKI Labs, which allows you to install new features into LabVIEW right-click menu.  And, we&#8217;re excited  to show you some of the new LabVIEW features &#8230; <a href="http://blog.jki.net/news/announcing-the-release-of-the-jki-right-click-framework-for-labview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JKI is pleased to announce the recent release of the <a href="http://decibel.ni.com/content/groups/jki-right-click-framework-for-labview/">JKI Right-Click Framework</a>, from the <a href="http://jkisoft.com/labs">JKI Labs</a>, which allows you to install new features into LabVIEW right-click menu.  And, we&#8217;re excited  to show you some of the new LabVIEW features (<em>right-click plugins</em>) that the community has already created.</p>
<p><strong>Community Contributed RCF Plugins</strong></p>
<ul>
<li><a class="jive-link-wiki-small" href="http://decibel.ni.com/content/docs/DOC-5678">Build Array of References</a> &#8211; builds an array control references on the block diagram for the selected FP controls or BD control terminals.</li>
<li><a class="jive-link-wiki-small" href="http://decibel.ni.com/content/docs/DOC-5813">Build Cluster of References</a> &#8211; builds a typedef cluster of control references for the selected controls.</li>
<li><a class="jive-link-wiki-small" href="http://decibel.ni.com/content/docs/DOC-5786"><span class="active_link">Case Selector</span></a> &#8211; allows you to view a list of frames in a Case Structure and select one outside of the native interface.  Also, reorder/copy/insert/delete frames easier than ever.</li>
<li><a class="jive-link-wiki-small" href="http://decibel.ni.com/content/docs/DOC-5812">Create Typedef From Constant</a> &#8211; creates a typedef from a constant.</li>
<li><a class="jive-link-thread-small" href="http://decibel.ni.com/content/thread/3267">Disabled Property</a> &#8211; enable and disable selected FP controls.</li>
<li><a class="jive-link-wiki-small" href="http://decibel.ni.com/content/docs/DOC-5674">Explore&#8230;</a> &#8211; Windows Explorer Plugin &#8211; Opens a explorer window with the VI or CTL selected.</li>
<li><a class="jive-link-external-small" href="http://lavag.org/index.php?app=downloads&amp;showfile=85" target="_blank">Insert Typecast</a> &#8211; automatically inserts a typecast on selected wires if needed.</li>
<li><a class="jive-link-wiki-small" href="http://decibel.ni.com/content/docs/DOC-5891">Size Window to Contents</a> &#8211; resizes the contents of the selected window to enclose its contents.</li>
</ul>
<p><strong>Hands-on Demo of the RCF at NIWeek 2009</strong></p>
<p>If you&#8217;re coming to NIWeek 2009, make sure you check out <a href="http://blog.jkisoft.com/jki/jki-niweek-2009-schedule/">JKI&#8217;s NIWeek 2009 Schedule</a> and stop by the JKI Booth (#335) for a hands-on demo of the RCF and other JKI Software technology in action.  See you there!</p>
<p><strong>Download and More Info</strong></p>
<p>For more information about the JKI RCF including <em>download</em>, <em>getting started</em>, a <em>how-to</em> articles, please visit the <a href="http://decibel.ni.com/content/groups/jki-right-click-framework-for-labview/">JKI RCF Homepage</a>.</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%2Fannouncing-the-release-of-the-jki-right-click-framework-for-labview%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/announcing-the-release-of-the-jki-right-click-framework-for-labview/"></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/announcing-the-release-of-the-jki-right-click-framework-for-labview/"  data-text="Announcing the Release of the JKI Right-Click Framework for LabVIEW" 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/announcing-the-release-of-the-jki-right-click-framework-for-labview/" 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/announcing-the-release-of-the-jki-right-click-framework-for-labview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the JKI Right-Click Framework for LabVIEW</title>
		<link>http://blog.jki.net/news/announcing-the-jki-right-click-framework-for-labview/</link>
		<comments>http://blog.jki.net/news/announcing-the-jki-right-click-framework-for-labview/#comments</comments>
		<pubDate>Fri, 15 May 2009 09:05:08 +0000</pubDate>
		<dc:creator>JKI</dc:creator>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[Right-Click Framework]]></category>

		<guid isPermaLink="false">http://blog.jkisoft.com/?p=714</guid>
		<description><![CDATA[JKI is excited to announce the upcoming release of the JKI Right-Click Framework for LabVIEW in the JKI Labs.  This amazing tool allows you to create new features in LabVIEW and use new features created by other developers.  It does &#8230; <a href="http://blog.jki.net/news/announcing-the-jki-right-click-framework-for-labview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JKI is excited to announce the upcoming release of the <strong>JKI Right-Click Framework for LabVIEW</strong> in the <a href="http://jkisoft.com/labs">JKI Labs</a>.  This amazing tool <strong>allows you to create new features in LabVIEW</strong> and use new features created by other developers.  It does this using the power of <a href="http://decibel.ni.com/content/groups/labview-apis">LabVIEW Scripting</a> (<em>using LabVIEW to programmatically edit LabVIEW code</em>).</p>
<p><strong>How it Works</strong></p>
<p>The JKI RCF manages plug-ins (we call these <em>&#8220;right-click plug-ins&#8221;</em>)<strong>. </strong>Each plug-in adds right-click menu options for different types of Block Diagram and Front Panel objects (functions, structures, controls, etc) in LabVIEW.  When the user chooses one of the right-click menu options, the JKI RCF passes the LabVIEW object references into the plug-in associated with the context menu, and the plug-in performs its operations on those objects.</p>
<p><strong>How to Use It</strong></p>
<p>To use the JKI RCF, simply:</p>
<p style="padding-left: 30px; ">1) Select one or more LabVIEW functions, structures, controls, etc., on the Front Panel or Block Diagram of a VI.</p>
<p style="padding-left: 30px; ">2) Activate the JKI Right-Click Framework by pressing the configurable &#8221;hot key.&#8221;</p>
<p style="padding-left: 30px; ">3) Right-click on the selected objects and choose the operation you want to execute.  The JKI RCF knows what type of object(s) you have selected, and automatically shows you the plugins that can operate on the current selection.</p>
<p>This video shows the JKI RCF in action:</p>
<p><object width="610" height="419" data="http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/jingh264player.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="thumb=http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/FirstFrame.jpg&amp;containerwidth=643&amp;containerheight=419&amp;showbranding=false&amp;content=http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/2009-05-12_2328.mp4" /><param name="allowFullScreen" value="true" /><param name="scale" value="showall" /><param name="allowScriptAccess" value="always" /><param name="base" value="http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/" /><param name="src" value="http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/jingh264player.swf" /><param name="flashvars" value="thumb=http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/FirstFrame.jpg&amp;containerwidth=643&amp;containerheight=419&amp;showbranding=false&amp;content=http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/2009-05-12_2328.mp4" /><param name="allowfullscreen" value="true" /></object></p>
<p><strong>How to Extend It</strong></p>
<p>The JKI RCF will come with several useful plug-ins pre-installed.  But its open architecture will also allow you to <strong>create your own plug-ins</strong> that can be shared with other users.</p>
<p><strong>How to Get It</strong></p>
<p>We&#8217;re working hard to get the JKI Right-Click Framework ready for release.  Stay tuned, because it&#8217;s coming soon to the <a href="http://jkisoft.com/vi-package-network/">VI Package Network</a>.  That means that when it arrives, you&#8217;ll be able to install it in just a few clicks, using <a href="http://jkisoft.com/vipm/">VI Package Manager</a>!</p>
<p><strong>History of the JKI Right-Click Framework</strong></p>
<p>For years, JKI has been using LabVIEW&#8217;s under-the-hood <em>Scripting</em> capabilities to create software engineering and development tools for the LabVIEW environment.  One of the challenges that our team faced was making our tools easily accessible to the developer, at the time they were needed.  The solution was the right-click menu and, circa LabVIEW 8.0, the <em>JKI Right-Click Framework</em> was born.  Since then, it has remained an internal tool at JKI, due to the uncertainty about whether public use of LabVIEW&#8217;s scripting features would ever be officially condoned by NI.</p>
<p>In December 2008, we noticed <a href="http://labviewartisan.blogspot.com/2008/12/plug-in-vis-for-right-click-menu.html">a post on Darren Nattinger&#8217;s blog</a>, describing exactly what we&#8217;d already built.  So we showed the JKI RCF to Darren (who is on the LabVIEW R&amp;D team) and then to others at NI.  The consensus was that the JKI Right-Click Framework should be released to the public, along with LabVIEW Scripting and other LabVIEW APIs, so that LabVIEW developers could work together to create new features that make LabVIEW better and help people solve common programming challenges.</p>
<p>We&#8217;re very proud that the JKI Right-Click Framework has played a role in demonstrating to NI the enormous potential of LabVIEW Scripting in the LabVIEW Community, and we&#8217;re thankful that NI has worked hard to bring LabVIEW Scripting support to the public in the NI Labs.  We think the JKI Right-Click framework and LabVIEW Scripting make up a powerful combination that will allow LabVIEW users to create and share all kinds of innovative features and tools in 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%2Fnews%2Fannouncing-the-jki-right-click-framework-for-labview%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/announcing-the-jki-right-click-framework-for-labview/"></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/announcing-the-jki-right-click-framework-for-labview/"  data-text="Announcing the JKI Right-Click Framework for LabVIEW" 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/announcing-the-jki-right-click-framework-for-labview/" 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/announcing-the-jki-right-click-framework-for-labview/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
<enclosure url="http://content.screencast.com/users/JKI_Software/folders/Jing/media/b1212eb4-a6c4-432b-8123-107f940c3715/2009-05-12_2328.mp4" length="8998574" type="video/mp4" />
		</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>
	</channel>
</rss>

