Summary of Test sets executed

Monday, November 14, 2016
Avatar
Another report based on test sets that I then feed into Excel to extract deeper information about the current state of testing.  Brief and informative.

ver 5.0.0.8

Report sample:
Test Set # Name Description Status Release Creator Owner Automation Host Created On Planned Date Last Modified Last Executed # Passed # Failed # Caution # Blocked # Not Run # N/A Est. Duration Act. Duration
32 Comps functional tests                 2/11/2016 -- 0 0 0 0 135 0    
TX94 Comps (CR tests only)   Not Started   Jill K     2/11/2016 -- 2/11/2016 -- 0 0 0 0 44 0    
TX95 Comps (no CR tests)   Not Started   Jill K     2/11/2016 -- 2/11/2016 -- 0 0 0 0 91 0    
7 R04 29 August                 27/09/2016 9/09/2016 781 336 26 23 1063 0   0.78
TX42 R04 functional and sanity test set   Completed R4 Lana N
    29/09/2016 -- 4/10/2016 9/09/2016 21 18 0 1 54 0   0.05
TX39 R04 SIT test set   Completed R4 Dave F     27/09/2016 -- 4/10/2016 13/09/2016 394 159 13 11 1009 0   0.72
TX62 R04 SIT test set (Member export, Micros)   Completed R4 Annie K
    3/10/2016 -- 4/10/2016 3/10/2016 34 9 13 11 0 0   0.00
TX63 R04 SIT test set POS Gateway   Completed R4 Jill K
    3/10/2016 -- 4/10/2016 3/10/2016 332 150 0 0 0 0   0.02
8 R05 7 September                 27/09/2016 3/10/2016 32 7 0 0 0 0   0.00
TX66 R05 SIT test set (Micros POS terminal)   Completed R5 Jill K     3/10/2016 -- 3/10/2016 3/10/2016 32 7 0 0 0 0   0.00

Template:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
  <xsl:template match="/TestSetData">
    <table class="DataGrid" style="width:100%">
      <tr>
        <th>Test Set #</th>
        <th>Name</th>
        <th>Description</th>
        <th>Status</th>
        <th>Release</th>
        <th>Creator</th>
        <th>Owner</th>
        <th>Automation Host</th>
        <th>Created On</th>
        <th>Planned Date</th>
        <th>Last Modified</th>
        <th>Last Executed</th>
        <th># Passed</th>
        <th># Failed</th>
        <th># Caution</th>
        <th># Blocked</th>
        <th># Not Run</th>
        <th># N/A</th>
        <th>Est. Duration</th>
        <th>Act. Duration</th>
        <xsl:for-each select="(//TestSet)[1]/CustomProperties/CustomProperty">
          <th>
            <xsl:value-of select="Alias"/>
          </th>
        </xsl:for-each>
      </tr>
      <xsl:for-each select="TestSetFolder">
        <xsl:if test="TestSetFolderId != '0'">
          <tr>
            <td>
              <b>
                <xsl:value-of select="TestSetFolderId"/>
              </b>
            </td>
            <td>
              <xsl:attribute name="style">
                padding-left: <xsl:value-of select="string-length(IndentLevel)*2"/>px;
              </xsl:attribute>
              <b>
                <xsl:value-of select="Name"/>
              </b>
            </td>
            <td>
              <xsl:value-of select="Description" disable-output-escaping="yes"/>
            </td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td class="Date">
              <xsl:call-template name="format-date">
                <xsl:with-param name="datetime" select="LastUpdateDate" />
              </xsl:call-template>
            </td>
            <td class="Date">
              <xsl:call-template name="format-date">
                <xsl:with-param name="datetime" select="ExecutionDate" />
              </xsl:call-template>
            </td>
            <td>
              <xsl:value-of select="CountPassed"/>
            </td>
            <td>
              <xsl:value-of select="CountFailed"/>
            </td>
            <td>
              <xsl:value-of select="CountCaution"/>
            </td>
            <td>
              <xsl:value-of select="CountBlocked"/>
            </td>
            <td>
              <xsl:value-of select="CountNotRun"/>
            </td>
            <td>
              <xsl:value-of select="CountNotApplicable"/>
            </td>
            <td class="Timespan">
              <xsl:value-of select="EstimatedDuration"/>
            </td>
            <td class="Timespan">
              <xsl:value-of select="ActualDuration"/>
            </td>
            <xsl:for-each select="(//TestSet)[1]/CustomProperties/CustomProperty">
              <td>
              </td>
            </xsl:for-each>
          </tr>
        </xsl:if>
        <xsl:for-each select="TestSets/TestSet">
          <tr>
            <td>
              TX<xsl:value-of select="TestSetId"/>
            </td>
            <td>
              <xsl:value-of select="Name"/>
            </td>
            <td>
              <xsl:value-of select="Description" disable-output-escaping="yes"/>
            </td>
            <td>
              <xsl:value-of select="TestSetStatusName"/>
            </td>
            <td>
              <xsl:value-of select="ReleaseVersionNumber"/>
            </td>
            <td>
              <xsl:value-of select="CreatorName"/>
            </td>
            <td>
              <xsl:value-of select="OwnerName"/>
            </td>
            <td>
              <xsl:value-of select="AutomationHostName"/>
            </td>
            <td class="Date">
              <xsl:call-template name="format-date">
                <xsl:with-param name="datetime" select="CreationDate" />
              </xsl:call-template>
            </td>
            <td class="Date">
              <xsl:call-template name="format-date">
                <xsl:with-param name="datetime" select="PlannedDate" />
              </xsl:call-template>
            </td>
            <td class="Date">
              <xsl:call-template name="format-date">
                <xsl:with-param name="datetime" select="LastUpdateDate" />
              </xsl:call-template>
            </td>
            <td class="Date">
              <xsl:call-template name="format-date">
                <xsl:with-param name="datetime" select="ExecutionDate" />
              </xsl:call-template>
            </td>
            <td>
              <xsl:value-of select="CountPassed"/>
            </td>
            <td>
              <xsl:value-of select="CountFailed"/>
            </td>
            <td>
              <xsl:value-of select="CountCaution"/>
            </td>
            <td>
              <xsl:value-of select="CountBlocked"/>
            </td>
            <td>
              <xsl:value-of select="CountNotRun"/>
            </td>
            <td>
              <xsl:value-of select="CountNotApplicable"/>
            </td>
            <td class="Timespan">
              <xsl:value-of select="EstimatedDuration"/>
            </td>
            <td class="Timespan">
              <xsl:value-of select="ActualDuration"/>
            </td>
            <xsl:for-each select="CustomProperties/CustomProperty">
              <xsl:choose>
                <xsl:when test="Type='Date'">
                  <td class="Date">
                    <xsl:call-template name="format-date">
                      <xsl:with-param name="datetime" select="Value" />
                    </xsl:call-template>
                  </td>
                </xsl:when>
                <xsl:otherwise>
                  <td>
                    <xsl:value-of select="Value"/>
                  </td>
                </xsl:otherwise>
              </xsl:choose>
            </xsl:for-each>
          </tr>
        </xsl:for-each>
      </xsl:for-each>
    </table>
  </xsl:template>
  <xsl:template name="format-date">
    <xsl:param name="datetime"/>
    <xsl:variable name="date" select="substring-before($datetime, 'T')" />
    <xsl:variable name="year" select="substring-before($date, '-')" />
    <xsl:variable name="month" select="substring-before(substring-after($date, '-'), '-')" />
    <xsl:variable name="day" select="substring-after(substring-after($date, '-'), '-')" />
    <xsl:variable name="time" select="substring-before(substring-after($datetime, 'T'), '.')" />
    <xsl:variable name="monthname">
      <xsl:choose>
        <xsl:when test="$month='01'">
          <xsl:value-of select="'Jan'"/>
        </xsl:when>
        <xsl:when test="$month='02'">
          <xsl:value-of select="'Feb'"/>
        </xsl:when>
        <xsl:when test="$month='03'">
          <xsl:value-of select="'Mar'"/>
        </xsl:when>
        <xsl:when test="$month='04'">
          <xsl:value-of select="'Apr'"/>
        </xsl:when>
        <xsl:when test="$month='05'">
          <xsl:value-of select="'May'"/>
        </xsl:when>
        <xsl:when test="$month='06'">
          <xsl:value-of select="'Jun'"/>
        </xsl:when>
        <xsl:when test="$month='07'">
          <xsl:value-of select="'Jul'"/>
        </xsl:when>
        <xsl:when test="$month='08'">
          <xsl:value-of select="'Aug'"/>
        </xsl:when>
        <xsl:when test="$month='09'">
          <xsl:value-of select="'Sep'"/>
        </xsl:when>
        <xsl:when test="$month='10'">
          <xsl:value-of select="'Oct'"/>
        </xsl:when>
        <xsl:when test="$month='11'">
          <xsl:value-of select="'Nov'"/>
        </xsl:when>
        <xsl:when test="$month='12'">
          <xsl:value-of select="'Dec'"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="''" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    <xsl:value-of select="concat($day, '-' ,$monthname, '-', $year , ' ', $time)" />
  </xsl:template>
</xsl:stylesheet>


1 Replies
Monday, November 14, 2016
Avatar
re: DaveFederal Monday, November 14, 2016
Thanks Dave.

Spira Helps You Deliver Quality Software, Faster and With Lower Risk

And if you have any questions, please email or call us at +1 (202) 558-6885

 

Statistics
  • Started: Monday, November 14, 2016
  • Last Reply: Monday, November 14, 2016
  • Replies: 1
  • Views: 10927