Tipps & Tricks novaFACTORY: Basistestkomponente

Überblick

Die Basistestkomponente ermöglicht es, zentrale Abläufe in novaFACTORY mit definierten Produkten automatisiert auf Funktionsfähigkeit zu überprüfen. Sie ist im Standardlieferumfang von novaFACTORY als „Eigener Workflow“ enthalten und basiert auf der Synchronisierungsfunktionalität von novaFACTORY. Der Workflow für die Basistestkomponente steht nach dem Hochladen der Zip-Datei pcmschema.zip in der novaFACTORY-Oberfläche unter „Eigene Workflows“ zur Verfügung.

Allgemeines

Die Basistestkomponente wird mit vier vorkonfigurierten Produkten ausgeliefert: QS3D, QSDGM, QSDOP, QSFEAT. Nach Durchführung der Postinstallation (Basistestkomponente aktualisieren) stehen die Testdaten und Konfigurationsdateien im qa-Datenverzeichnis unter moss zur Verfügung (z. B. D:\Daten\novaFACTORY\qa\moss).

Jedes Produkt wird in einem eigenen Verzeichnis verwaltet. Die Produktverzeichnisse enthalten die Unterverzeichnisse config, export, exportRef und import mit folgenden Inhalten:

  • config: Produkt-Konfigurationsdatei im Format .json
  • export: Export-Auftragsdatei im Format .xml
  • exportRef: Export-Referenz-Datendateien für den Datenvergleich
  • import: Import-Datendateien und Import-Startdatei

Wichtig: Das Unterverzeichnis moss wird bei der Postinstallations-Funktion „Basistestkomponente aktualisieren“ immer überschrieben. Es gibt aber auch die Möglichkeit, eigene Produkte zu testen. Diese werden im Unterverzeichnis customer verwaltet und abgelegt.

Anwendung

Gestartet wird der Workflows über den Reiter Aufträge → Workflows → Eigene Workflows → Basistestkomponente.

novaFACTORY Basistestkomponente: Produktverzeichnisse auswählen
novaFACTORY Basistestkomponente: Produktverzeichnisse auswählen

Zunächst wird das Produktverzeichnis ausgewählt (customer für eigene Produkte oder moss für die mitgelieferten QS-Produkte). In der dynamischen Auswahlliste werden alle darunterliegenden Produktverzeichnisse angezeigt. Alle Produkte, die geprüft werden sollen, werden angehakt.

novaFACTORY Basistestkomponente: Auswahl der Prüffunktionen
novaFACTORY Basistestkomponente: Auswahl der Prüffunktionen

Danach erfolgt die Auswahl der Prüffunktionen, die durchlaufen werden sollen:

  • Erzeugen: Produkte und Ebenen löschen und neu erzeugen
  • Import: Importdaten importieren
  • Export: Daten exportieren per Export-Auftrag
  • Prüfung: Vergleichen der Export-Daten mit Referenzdaten
  • Report: Schreiben einer Zusammenfassung (Summary) in die Logdatei des Workflows
  • Debugausgabe: Zusätzliche Meldungen in der Logdatei des Workflows
novaFACTORY Basistestkomponente: Workflow abschicken
novaFACTORY Basistestkomponente: Workflow abschicken

Zeitgleich darf nur ein Basistestkomponente-Workflow abgeschickt werden, um zu verhindern, dass sich die Workflows gegenseitig die Daten überschreiben.

Die Überwachung und Kontrolle des Workflows erfolgt unter Eigene Workflows -> Aufträge. Die Zusammenfassung bzw. der Report wird in die Logdatei des Workflows geschrieben.

Basistestkomponente mit eigenen Produkten – Vorbereitung

Um ein eigenes Produkt innerhalb der Basistestkomponente testen zu können, wird im Verzeichnis customer ein Unterverzeichnis mit dem Kürzel des Produkts angelegt und darunter wiederum die Unterverzeichnisse config, export, exportRef und import.

Es wird empfohlen, für die Basistestkomponente separate Testprodukte zu verwenden, die auch bedenkenlos gelöscht und neu erzeugt werden können, ohne den laufenden Betrieb zu stören. Das Präfix QS ist für die M.O.S.S.-eigenen Testprodukte reserviert.

Eine Produkt-Konfigurationsdatei kann mit der Funktion „Synchronisieren“ erzeugt werden. Dazu wird die Aktion „Lesen (GET)“ und „Produkte“ sowie in der Produktliste das gewünschte Produkt ausgewählt. Als zusätzliche Parameter müssen mindestens „Blattschnitt-Blätter ausgeben“ und „Ebenen ausgeben“ aktiviert werden.

novaFACTORY Basistestkomponente: Synchronisieren
novaFACTORY Basistestkomponente: Synchronisieren

Das nach dem Ausführen erzeugte Json-Ergebnis in dem gleichnamigen Karteireiter wird in die Produkt-Konfigurationsdatei …\customer\<Produktkürzel>\config\<Produktkürzel>.json kopiert.

Um für die Basistestkomponente ein neues Produkt zu erzeugen, müssen zumindest folgende Stellen angepasst werden:

"products": [
    {
        "krz": "TESTDOP",
        "name": "TESTDOP",
        ...
        "layers": [
            {
                ...
                "tableName": "LY_TESTDOP_RGBI",
                ...
            }
            ...

und eventuell weitere Ebenen-Tabellennamen.

Die Import-Startdatei …\customer\<Produktkürzel>\import\<Produktkürzel>_<Gebiet>.start ist folgendermaßen aufgebaut:

user=<Benutzername>
<Ebene_1>
<Ebene_2>
...
<Ebene_n>

Alle Ebenen, die importiert werden sollen und für die Importdaten verfügbar sind, werden in die Start-Datei in einer eigenen Zeile eingetragen. Die Importdaten werden ebenfalls ins Verzeichnis import kopiert.

Eine Möglichkeit zur Erzeugung einer Export-Auftragsdatei besteht darin, einen Auftrag in der novaFACTORY-Oberfläche zu erzeugen und in der Datei …\customer\<Produktkürzel>\export\<Produktkürzel>.xml abzuspeichern. Die Ergebnis-Dateien dieses Export-Auftrags werden im Verzeichnis …\customer\<Produktkürzel>\exportRef als Referenzdaten für den Datenvergleich gespeichert.

Projektverzeichnisstruktur am Beispiel TESTDOP:

customer\TESTDOP\config
customer\TESTDOP\config\TESTDOP.json
customer\TESTDOP\export
customer\TESTDOP\export\TESTDOP.xml
customer\TESTDOP\exportRef
customer\TESTDOP\exportRef\TESTDOP_324015577_rgbi.tfw
customer\TESTDOP\exportRef\TESTDOP_324015577_rgbi.tif
customer\TESTDOP\import
customer\TESTDOP\import\TESTDOP_324015577.start
customer\TESTDOP\import\TESTDOP_324015577_rgbi.tfw
customer\TESTDOP\import\TESTDOP_324015577_rgbi.tif

Wenn alle benötigten Dateien für ein Produkt vorliegen, kann der Workflow gestartet werden, indem als Produktverzeichnis customer ausgewählt und das entsprechende Produkt angehakt wird.

Ausblick

Wir planen die Basistestkomponente zukünftig entlang Ihrer Anforderungen weiter zu entwickeln. Angedacht ist bereits die Möglichkeit zu schaffen, mehrere Export-Aufträge pro Produkt durchführen zu lassen.