AnalyzeModulesQuality

MacroModule
author Marcus Barann
package FMEwork/ReleaseMeVis
definition AnalyzeModulesQuality.def
keywords qa, testcoverage

Purpose

This module collects module information for quality assurance purposes and exports it as *.csv or *.html.

Usage

The intention of this module is to be used in a FunctionalTestCase of the TestCenter, so that it can continuously analyze the modules of an application and include the information through the test report.

The test function could look like this:

def TEST001_AnalyzeApplicationModules():
  resultDirectory = Base.getResultDirectory()
  csvReportFile = resultDirectory + '/modulesQualityReport.csv'
  htmlReportFile = resultDirectory + '/modulesQualityReport.html'
  ASSERT_FALSE(MLABFileManager.exists(csvReportFile))
  modulesToAnalyze = ['ImageLoad', 'DirectDicomImport']
  analyzer = ctx.module("AnalyzeModulesQuality").object()
  analyzer.generateModulesQualityReport(modulesToAnalyze, csvReportFile, htmlReportFile)
  ASSERT_TRUE(MLABFileManager.exists(csvReportFile))
  ASSERT_TRUE(MLABFileManager.exists(htmlReportFile))
  Logging.showFile('CSV Report', csvReportFile)
  Logging.showFile('HTML Report', htmlReportFile)

A sample *.csv report looks like this:

                    T = missing TestCenter tests
                    P = not all Python modules have tests
                    g = no GoogleTests are available
                    h = no module help is available
                    e = no example network is available

Module              Issues  Type      Package                 HasExampleNetwork   HasModuleHelp  IsLocalMacro  DLL                  TestCenterTests  ProjectFiles   MissingFiles
DirectDicomImport     g e   MLModule  FMEstable/ReleaseMeVis     -                   yes            -          MLDirectDicomImport   ...              ...             ...
ImageLoad             g e   MLModule  MeVisLab/Standard          -                   yes            -          MLImageFile           ...              ...             ...

Windows

Default Panel

../../../Projects/APA/Modules/mhelp/Images/Screenshots/AnalyzeModulesQuality._default.png

Parameter Fields

Visible Fields

Module To Add

name: moduleToAdd, type: String, persistent: no

Enter the name of a module that should be analyzed here.

Modules To Analyze

name: modulesToAnalyze, type: String

This field contains the names of the modules that will be analyzed.

Filename (targetFilename)

name: targetFilename, type: String

This field stores the filename for the *.csv export.

Filename (htmlReportFilename)

name: htmlReportFilename, type: String

This field stores the filename for the *.html export.

Generate HTMLReport

name: generateHTMLReport, type: Bool, default: FALSE

If this field is true, then the information is also exported as *.html.

Start

name: update, type: Trigger

This field triggers the analysis and the information export.