<?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>MarkPReynolds.com &#187; Technology</title>
	<atom:link href="http://markpreynolds.com/category/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://markpreynolds.com</link>
	<description>... an Archive of My Miscellaneum</description>
	<lastBuildDate>Fri, 11 May 2012 13:48:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Excel VBA</title>
		<link>http://markpreynolds.com/technology/excel-vba</link>
		<comments>http://markpreynolds.com/technology/excel-vba#comments</comments>
		<pubDate>Tue, 04 Oct 2011 09:43:09 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://markpreynolds.com/?p=1875</guid>
		<description><![CDATA[I recently used MS Excel 2010&#8242;s Visual Basic for Applications to normalize and automate the reporting of test cases by severity. The purpose of this view is to answer the question, &#8220;Of the failed tests reported, how many of the defects are high severity vs. how many are low?&#8221; So instead of just seeing just [...]]]></description>
			<content:encoded><![CDATA[<p>I recently used MS Excel 2010&#8242;s Visual Basic for Applications to normalize and automate the reporting of test cases by severity. The purpose of this view is to answer the question, &#8220;Of the failed tests reported, how many of the defects are high severity vs. how many are low?&#8221; So instead of just seeing just a pass/fail percentage like this:<br />
<a href="http://markpreynolds.com/wp-content/uploads/2011/10/pass-fail.png"><img class="alignnone size-full wp-image-1876" title="pass-fail" src="http://markpreynolds.com/wp-content/uploads/2011/10/pass-fail.png" alt="" width="219" height="231" /></a></p>
<p>You could publish the customer impact of the associated defects like this:</p>
<p><a href="http://markpreynolds.com/wp-content/uploads/2011/10/pie-chart.png"><img class="alignnone size-medium wp-image-1877" title="pie-chart" src="http://markpreynolds.com/wp-content/uploads/2011/10/pie-chart-300x180.png" alt="" width="300" height="180" /></a></p>
<p>HP ALM 11 natively reports test case results and defect results, but not both in one view. If you&#8217;d like to see failed tests with their associated, you need a custom SQL query and you&#8217;ll end up with very generic tabular data like this:</p>
<p><a href="http://markpreynolds.com/wp-content/uploads/2011/10/defect-table.png"><img class="alignnone size-full wp-image-1878" title="defect-table" src="http://markpreynolds.com/wp-content/uploads/2011/10/defect-table.png" alt="" width="224" height="163" /></a></p>
<p>Sorting and formatting the data was painful.  The following scripts provide automation for most of the steps involved using Excel&#8217;s built in VBA macro system.</p>
<p>All we care about is the highest severity level defect linked to each test case.  The others (like the second row above) can be discarded.  (If a test/feature fails on a Show Stopper, we don&#8217;t care if there are also typos on it, at least not yet.)  This is the VBA to de-dupe by sev:</p>
<pre>'
' Normalize duplicate failed tests
'

' Skip the header row, process non blank rows
' Need to constrain this by an end-of-data function, not an # of rows integer
For i = 2 To 200
    ' Don't process blanks
    If Cells(i, 1).Value &lt;&gt; "" Then
        ' If there is &gt;1 defect logged against the same test
        If Cells(i, 1).Value = Cells(i + 1, 1).Value Then
            ' If the current row has lesser or equal severity defect than the following row, delete the current row
            If Cells(i, 6).Value &gt;= Cells(i + 1, 6).Value Then
                Cells(i, 1).EntireRow.Delete
            ' Otherwise delete the following row
            Else
            Cells(i + 1, 1).EntireRow.Delete
            End If
        ' Reset i to account for the row deleted
        i = i - 1
        End If
    End If
Next i

' Sort by sev
    Columns("F:F").Select
    ActiveWorkbook.Worksheets("Failed Tests with Severities").sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Failed Tests with Severities").sort.SortFields. _
        Add Key:=Range("F1"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Failed Tests with Severities").sort
        .SetRange Range("A2:J96")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With</pre>
<p>This summarizes the results:</p>
<pre>'
' SummaryTable Macro
'
    Range("L2") = "Show Stopper"
    Range("L3") = "High"
    Range("L4") = "Medium"
    Range("L5") = "Low"
    Range("L6") = "Passed"
    Range("L7") = "Blocked"
    Range("M2") = WorksheetFunction.CountIf(Columns(6), "1-Show Stopper")
    Range("M3") = WorksheetFunction.CountIf(Columns(6), "3-High")
    Range("M4") = WorksheetFunction.CountIf(Columns(6), "4-Medium")
    Range("M5") = WorksheetFunction.CountIf(Columns(6), "5-Low")
    Range("M6") = 1
    Range("M7") = 1</pre>
<p>And this graphs them:<br />
&#8216;<br />
&#8216; Graph Macro<br />
&#8216;</p>
<p>Range(&#8220;L2:M7&#8243;).Select<br />
ActiveSheet.Shapes.AddChart.Select<br />
ActiveChart.ChartType = xlPieExploded<br />
ActiveChart.SetSourceData Source:=Range( _<br />
&#8220;&#8216;Failed Tests with Severities&#8217;!$L$2:$M$7&#8243;)<br />
ActiveChart.SeriesCollection(1).Select<br />
ActiveChart.SeriesCollection(1).ApplyDataLabels<br />
ActiveChart.SeriesCollection(1).DataLabels.Select<br />
ActiveChart.SeriesCollection(1).HasLeaderLines = False<br />
Selection.Position = xlLabelPositionOutsideEnd</p>
<p>ActiveChart.SeriesCollection(1).Select<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.SeriesCollection(1).Explosion = 0<br />
ActiveChart.SeriesCollection(1).Explosion = 1<br />
ActiveChart.SeriesCollection(1).Points(1).Select<br />
Selection.Explosion = 15<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.ObjectThemeColor = msoThemeColorText1<br />
.ForeColor.TintAndShade = 0<br />
.ForeColor.Brightness = 0<br />
.Solid<br />
End With<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(192, 0, 0)<br />
.Transparency = 0<br />
.Solid<br />
End With<br />
ActiveChart.SeriesCollection(1).Points(2).Select<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(192, 0, 0)<br />
.Solid<br />
End With<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(255, 0, 0)<br />
.Transparency = 0<br />
.Solid<br />
End With<br />
ActiveChart.SeriesCollection(1).Points(3).Select<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(255, 0, 0)<br />
.Solid<br />
End With<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(255, 117, 117)<br />
.Transparency = 0<br />
.Solid<br />
End With<br />
ActiveChart.SeriesCollection(1).Points(4).Select<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(255, 117, 117)<br />
.Solid<br />
End With<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(255, 167, 167)<br />
.Transparency = 0<br />
.Solid<br />
End With<br />
ActiveChart.SeriesCollection(1).Points(5).Select<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(255, 167, 167)<br />
.Solid<br />
End With<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(0, 176, 80)<br />
.Transparency = 0<br />
.Solid<br />
End With<br />
ActiveChart.SeriesCollection(1).Points(6).Select<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.RGB = RGB(0, 176, 80)<br />
.Solid<br />
End With<br />
ActiveChart.ChartGroups(1).FirstSliceAngle = 322<br />
With Selection.Format.Fill<br />
.Visible = msoTrue<br />
.ForeColor.ObjectThemeColor = msoThemeColorText1<br />
.ForeColor.TintAndShade = 0<br />
.ForeColor.Brightness = 0<br />
.Transparency = 0<br />
.Solid<br />
End With<br />
ActiveChart.Legend.Select<br />
Selection.Format.TextFrame2.TextRange.Font.Size = 12<br />
ActiveChart.ChartArea.Select<br />
ActiveChart.SeriesCollection(1).DataLabels.Select<br />
Selection.Format.TextFrame2.TextRange.Font.Size = 12</p>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://markpreynolds.com/technology/excel-vba/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UnGallery Screencast</title>
		<link>http://markpreynolds.com/technology/ungallery-intro-screencast</link>
		<comments>http://markpreynolds.com/technology/ungallery-intro-screencast#comments</comments>
		<pubDate>Thu, 16 Dec 2010 21:51:26 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://markpreynolds.com/?p=1765</guid>
		<description><![CDATA[Screencast will take a minute to load. QuickTime is required to view. In some browsers, you may need to click or double click the image to begin play.]]></description>
			<content:encoded><![CDATA[<p>Screencast will take a minute to load.<br />
QuickTime is required to view.<br />
In some browsers, you may need to click or double click the image to begin play.</p>
<p><a href="http://markpreynolds.com/UnGallery2.mp4"><img class="alignnone" src="http://markpreynolds.com/wp-content/plugins/ungallery/phpthumb/phpThumb.php?ar=x&amp;src=/home/mmond/pics/2012/March/screencast.png" alt="" width="393" height="321" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://markpreynolds.com/technology/ungallery-intro-screencast/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
<enclosure url="http://markpreynolds.com/UnGallery2.mp4" length="20836012" type="video/mp4" />
		</item>
		<item>
		<title>Excel Calendar Add-In</title>
		<link>http://markpreynolds.com/technology/excel-calendar-add-in</link>
		<comments>http://markpreynolds.com/technology/excel-calendar-add-in#comments</comments>
		<pubDate>Sun, 30 May 2010 15:18:43 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://markpreynolds.com/?p=1642</guid>
		<description><![CDATA[I wanted a pop up calendar for date fields. It wasn&#8217;t obvious in Excel how to add this, so I checked online. The #1 Google hit is for a $20 commercial product. Seriously? Every web site I visit has this by default, but people pay for it for Excel? No. This one works great: http://blogs.msdn.com/b/excel/archive/2007/08/01/sam-radakovitz-on-date-pickers.aspx. [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted a pop up calendar for date fields.  It wasn&#8217;t obvious in Excel how to add this, so I checked online.  The #1 Google hit is for a $20 commercial product.  Seriously?  Every web site I visit has this by default, but people pay for it for Excel?  No.  This one works great:  http://blogs.msdn.com/b/excel/archive/2007/08/01/sam-radakovitz-on-date-pickers.aspx.</p>
<p>Summary:</p>
<ol>
<li>Copy <a href="http://officeblogs.net/excel/samradDatePicker.xla">this file</a> to your your XLSTART folder (usually C:\Program Files\Microsoft Office\OFFICE12\XLSTART)</li>
<li>Restart Excel.</li>
</ol>
<p style="text-align: center;"><a href="http://markpreynolds.com/wp-content/uploads/2010/05/date_picker.png"><img class="aligncenter size-full wp-image-1645" title="date_picker" src="http://markpreynolds.com/wp-content/uploads/2010/05/date_picker.png" alt="date_picker" width="285" height="198" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://markpreynolds.com/technology/excel-calendar-add-in/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Growing A VMWare Fusion NTFS Disk</title>
		<link>http://markpreynolds.com/technology/increase-vm-disk</link>
		<comments>http://markpreynolds.com/technology/increase-vm-disk#comments</comments>
		<pubDate>Mon, 01 Mar 2010 12:28:31 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://markpreynolds.com/?p=1491</guid>
		<description><![CDATA[How to resize your disk image and then allow Windows to recognize it.  (Mostly all via:  Jim Culbert (thanks!)) Resize / increase disk space in Fusion settings. Download GParted, Boot the VM to it (more boot specifics here) In Fusion CD settings for the VM, choose to boot to the image you downloaded. Select the [...]]]></description>
			<content:encoded><![CDATA[<p>How to resize your disk image and then allow Windows to recognize it.  (<a href="http://culbert.net/?p=63 ">Mostly all via:  Jim Culbert</a> (thanks!))</p>
<ol>
<li>Resize / increase disk space in Fusion settings.</li>
<li><a href="http://gparted.sourceforge.net/download.php">Download GParted</a>, Boot the VM to it (<a href="http://culbert.net/?p=63 ">more boot specifics here</a>)</li>
<li>In Fusion CD settings for the VM, choose to boot to the image you downloaded.</li>
<li>Select the default GParted options and extend the disk to use the rest of your allotted space</li>
<li>Voila!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://markpreynolds.com/technology/increase-vm-disk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let it snow, let it snow&#8230;</title>
		<link>http://markpreynolds.com/technology/let-it-snow</link>
		<comments>http://markpreynolds.com/technology/let-it-snow#comments</comments>
		<pubDate>Tue, 15 Dec 2009 01:47:24 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://markpreynolds.com/?p=994</guid>
		<description><![CDATA[I grabbed the cool snowstorm script from WordPress.com.  It&#8217;s made by Shillmania Either WP or my Atahualpa theme required I use the an explicit link to the script and not a relative link like in the documentation.  I&#8217;m not certain why. So the code is this in the head tag: &#60;script type='text/javascript' src='http://markpreynolds.com/snowstorm.js?ver=1260233238'&#62;&#60;/script&#62;]]></description>
			<content:encoded><![CDATA[<p>I grabbed the cool snowstorm script from WordPress.com.  It&#8217;s made by <a href="http://www.schillmania.com/projects/snowstorm/">Shillmania</a></p>
<p>Either WP or my Atahualpa theme required I use the an explicit link to the script and not a relative link like in the documentation.  I&#8217;m not certain why.</p>
<p>So the code is this in the head tag:</p>
<pre id="line1">
<pre id="line686">&lt;<span>script</span><span> type</span>=<span>'text/javascript' </span><span>src</span><span>='</span><a href="view-source:http://markpreynolds.com/snowstorm.js?ver=1260233238">http://markpreynolds.com/snowstorm.js?ver=1260233238</a><span>'</span>&gt;&lt;/<span>script</span>&gt;</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://markpreynolds.com/technology/let-it-snow/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

