Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test...

Post on 01-Jul-2018

246 views 0 download

transcript

Rolf Becking

29.August 2017

Micro Focus Unit Testing Framework in Visual COBOL 3.0

• Wozu dient das Micro Focus Unit Testing Framework?

• Welches Konzept steckt dahinter?

• Wie wird ein MF Unit Test in den Visual COBOL IDEs Eclipse und Visual Studio angelegt?

• Wie versorgt man die Unit Tests mit Testdaten?

• Wie kommt man an die Ergebnisse der Tests?

• Fragen …

Unser heutiges Webinar

• Das Micro Focus Unit Testing Framework ist ein weiterer Schritt, die Entwicklung von COBOL Programmen moderneren Vorgehensweisen (DevOps) anzupassen.

Wozu dient das Micro Focus Unit Testing Framework?

Moderne Applikations-EntwicklungGängige Praxis für moderne Software-Entwicklungs-Teams

DevOpsEine knappe, präzise Definition…

DevOps aims to establish a culture and

environment where building, testing, and

releasing software can happen rapidly,

frequently, and more reliably

1. Agile Planning & Development Practices

2. Continuous Integration

3. Continuous Delivery

4. Continuous Deployment

5. Application Performance Management

DevOps ausgepacktDie wichtigsten Komponenten der DevOps Strategie

Agile Planning & DevelopmentIncremental software delivery1

Continuous IntegrationIntegrate often and provide immediate developer feedback 2

• Regularly integrate code changes

• Compile & run automated unit tests

• Intention to have an always-working code base

• Common to run scheduled system tests

• Developers identify issues sooner and before they reach QA and Ops teams

• Common CI Tools include:

• Jenkins, Microsoft TFS, Bamboo

• Configuration Management essential

Commit changes2Developer

SourceControl

Testing

Build

Checkout code

1 Initiate CI Process

3

Unit/Integration Tests4Feedback5

• Die zugrundeliegende Idee kann am besten mit “Test DrivenDevelopment” beschrieben werden

• Möglichkeit, bereits vor der Implementierung neuer Funktionalitäten in einem COBOL Modul Testfälle zu definieren

• die die neuen Features testen

• mögliche Konflikte mit bestehender Business-Logik aufdecken können

• Spätere Integration in automatisierte Tests sichert die langfristige Qualität und Stabilität der Anwendung.

Wozu dient das Micro Focus Unit Testing Framework?

• Basiert auf den unter dem Begriff „xUnit“ zusammengefassten Unit Testing Frameworks (Beispiel: JUnit)

• Sammlung von Runtime Funktionen mit den Funktionalitäten:

• Test runner - Executable, welches die Tests ausführt

• Test case - Einzelner Testfall

• Test fixtures - Vorbedingungen/Voraussetzungen für jeden Testfall

• Test suites – Menge von Testfällen mit gleichen Voraussetzungen

• Test execution – Durchführung der Tests

Konzept des Micro Focus Unit Testing Frameworks

• Sammlung von Runtime Funktionen mit den Funktionalitäten:

• Test result formatter – Erzeugt Ausgabeformat der Testergebnisse

• Lesbarer Text oder

• XML wie bei Junit

• kann von Build-Tools wie Jenkins oder Bamboo weiter verarbeitet werden

• GitHub Style Markdown Format (.md) Datei

• Assertions – logische Bedingung für die Testergebnisse

• True oder False

Konzept des Micro Focus Unit Testing Frameworks

• Implementierung in Visual COBOL 3.0:

Konzept des Micro Focus Unit Testing Frameworks

Element Entry point

test setup MFUS_test_case_name

test metadata setup MFUM_test_case_name

test case MFUT_test_case_name

test teardown MFUE_test_case_name

global metadata MFUGM_program_name

global command line arguments MFUGA_CMDOptions

• Ausführlich in der Dokumentation beschrieben

• Nur für Procedural Code, managed oder unmanaged compiliert

• Aufruf von managed Code nur von der Kommandozeile, nicht aus IDE

• Einfaches und komplexeres Beispiel ebenfalls in der Doku

• Copy-Dateien werden mit der Produkt-Installation geliefert und automatisch bei den Unit Tests angezogen:

• mfunit_prototypes.cpy

• mfunit.cpy

Konzept des Micro Focus Unit Testing Frameworks

• Unit Testing Code Templates / Code Snippets für beide IDEs

• Beispiele im Samples Browser

• MFUnit Feature Demos

• MFUnit Airport Demo (VS)

• Beispiele zur Integration in Test-Server für

• SilkCentral

• Jenkins CI Server

Konzept des Micro Focus Unit Testing Frameworks

• Neuer Projekt-Typ: Unit Test Library

• Am besten in einer Projektmappe/Solution mit der zu testenden Applikation

• In dem zu testenden (Unter-)Programm per rechte Maustaste „Create Unit Test“

• Name des Projekts und des Programms angeben

• Das führt dann in der Regel zu drei Projekten in der Solution:

• Projekt mit Startprogramm (.exe)

• Projekt mit zu testendem Programm (Link Library)

• Unit Test Projekt (Link Library)

Anlegen von Unit Tests in Visual Studio

• Neuer Projekt-Typ: COBOL Unit Test Project

• Am besten in einem Workspace mit der zu testenden Applikation

• In diesem Project New / COBOL Unit Test

• Unter „Program under test:“ das Projekt und darin das zu testende Programm auswählen

• Das Projekt, welches das zu testende Programm enthält, muss zum „BuildPath“ des COBOL Unit Test Projects hinzugefügt werden

Anlegen von Unit Tests in Eclipse

• Micro Focus Unit tests können sowohl von der Kommando-Zeile per mfurun aufgerufen werden, als auch aus beiden IDEs

• mfurun gibt es in verschiedenen Varianten:

• mfurun (native), mfurunj (Java Bytecode) und mfurunil (.NET managedCode) unter Windows

• cobmfurun32/64[_t] (native) und cobmfurunj (Java Bytecode) unter Unix/Linux

• Optionen: siehe Doku

Ausführen von Unit Tests

• In Eclipse gibt es zum Ausführen von Unit Tests sowohl unter „Run as“ als auch unter „Debug as“ die Auswahlmöglichkeit „COBOL Unit Test“, aber auch entsprechende Run/DebugConfigurations vom Typ COBOL Unit Test

• Die Testergebnisse erscheinen dann in der „Micro Focus Unit Testing“ View

• Dort können dann auch alle Tests, nur die zuletzt ausgeführten oder Tests, die „failed“ sind, wiederholt werden

Ausführen von Unit Tests in Eclipse

• In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project“

• Die Testergebnisse erscheinen dann in der „Micro Focus Unit Testing“ View

• Dort können dann auch alle Tests, nur die zuletzt ausgeführten oder nur Tests, die „failed“ waren, wiederholt werden

Ausführen von Unit Tests in Visual Studio

Micro Focus Unit Testing Framework in Visual COBOL 3.0

Nächste Schritte

Kostenlose Testversion herunterladen oderUpdate auf Version 3.0 für Visual COBOL Kunden

microfocus.com/VIsualCOBOL

Micro Focus Unit Testing FrameworkVielen Dank für Ihre Aufmerksamkeit!

Fragen?