QA Tools

Overview

This page documents the use of QA tools.

Prerequisites

  • MySQL database must already exist (e.g. "umlsdb") and be loaded with terminologies.
  • MySQL database connection parameters must be defined in the properties file specified by "run.config.umls".

Details 

This tools is used to perform important QA analysis of the system and can be wired to automations (such as continuous integration server, or cron job).  As future use cases arise for automated QA, this mechanism should be expanded.

The QA tool performs a series of queries to validate the state of the database.  The queries are passed in via the pom.xml file (thus making it configurable) and are all designed to produce zero rows.  Any query producing a non-zero count result is considered an error and is reported.   This tool attempts to verify things that are assumptions about the data not verified by things like foreign key constraints.  This tool sends email if there are QA issues to report.

 

Following are some details about these tools:

Mojo: QaDatabase.java (in admin/mojo/src/main/resources/java/com/wci/umls/server/mojo)
Project: admin/qa
Configuration Parameters

  • A profile of "Database" must be passed
  • run.config.umls - the standard configuration file specified as a -D parameter
  • queries - a collection of properties stored in the pom.xml that provide a name and a query (see admin/qa/pom.xml).

  • send.notification.recipients - a property defined in the "run.config.umls" file that indicates who emails should be sent to when there are QA failures.

Samples

Sample command line call of to QA the database:

 

% cd ~/code/admin/qa
% mvn install -PDatabase -Drun.config.umls=/home/ec2-tomcat/config/config.properties


Sample Eclipse run configuration to QA the database:

 

  • n/a