laborgespräch hsrm: eckelmann cnc...

15
DOPSY DOPSY group group Reinhold Kroeger Reinhold Kroeger Kai Beckmann Kai Beckmann Marcus Thoss Marcus Thoss Distributed Systems Lab Distributed Systems Lab RheinMain University RheinMain University of Allpplied Sciences of Allpplied Sciences {firstname.lastname} {firstname.lastname} @hs-rm.de @hs-rm.de http://wwwvs.cs.hs-rm.de http://wwwvs.cs.hs-rm.de Marco Muenchhof Marco Muenchhof Christian Mellert Christian Mellert Eckelmann AG Eckelmann AG {m.muenchhof;c.mellert} {m.muenchhof;c.mellert} @eckelmann.de @eckelmann.de http://www.eckelmann.de http://www.eckelmann.de Testframework für Eckelmann CNC Laborgespräch an der Hochschule RheinMain Wiesbaden, 16.10.2014

Upload: others

Post on 26-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

DOPSYDOPSYgroupgroup

Reinhold KroegerReinhold KroegerKai BeckmannKai BeckmannMarcus ThossMarcus Thoss

Distributed Systems LabDistributed Systems LabRheinMain UniversityRheinMain Universityof Allpplied Sciencesof Allpplied Sciences

{firstname.lastname}{firstname.lastname}@[email protected]://wwwvs.cs.hs-rm.dehttp://wwwvs.cs.hs-rm.de

Marco MuenchhofMarco MuenchhofChristian MellertChristian Mellert

Eckelmann AGEckelmann AG

{m.muenchhof;c.mellert}{m.muenchhof;c.mellert}@[email protected]://www.eckelmann.dehttp://www.eckelmann.de

Testframework für Eckelmann CNC

Laborgespräch an der Hochschule RheinMain

Wiesbaden, 16.10.2014

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 22 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Überblick

● Einordnung● Entwicklungszyklus● Anforderungen

● Ansatz● TPTP-basierte Architektur● MATLAB-Integration● GUI und Reporting

● Bewertung

● Erwartete Vorteile● Ausblick

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 33 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Entwicklungszyklus

Testing Team / Automatable Tasks

Specification Team Development Team

Create /ReviseSpecs

TestingSpecs

DevelopmentSpecs

RealizeTestingArtifacts

Realise / FixModules

Under Test

CNC TestProgram

PLC TraceProgram

MATLABTest Driver

MATLABOracle

CNC Firmware(Product)

Set upTest

RunTest

Analyse TestResults

Create TestReports

VerdictsReportDefects

n Versions

m Tests

n x mRuns

Artefact

Activity

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 44 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Entwicklungszyklus

Testing Team / Automatable Tasks

Specification Team Development Team

Create /ReviseSpecs

TestingSpecs

DevelopmentSpecs

RealizeTestingArtifacts

Realise / FixModules

Under Test

CNC TestProgram

PLC TraceProgram

MATLABTest Driver

MATLABOracle

CNC Firmware(Product)

Set upTest

RunTest

Analyse TestResults

Create TestReports

VerdictsReportDefects

n Versions

m Tests

n x mRuns

Artefact

Activity

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 55 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Testautomation

● Automatisierbare Schritte● Parametrierung der Testläufe● Aufsetzen des SUT für einen Testlauf● Management der Testausführung (inkl. Fehlerbehandlung)● Verteilte Testausführung und -management● Erfassung der Testergebnisse● Reportgenerierung und -speicherung

● Entkopplung des Testframeworks hinsichtlich Testbeschreibung und -ausführung● Technologisch: Framework auf unterschiedlicher Hardware

mit abweichender Implementierung● Architektonisch: Framework durch definierte Schnittstellen

und Protokolle entkoppelt

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 66 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Anforderungen

● Beteiligte Mitarbeiter mit unterschiedlichem Hintergrund● CNC-Entwickler: Ingenieurwiss., Mathematik, Physik,

technische Beschreibung von Testprozeduren (MATLAB)● Tester: Dokumentenorientiert, schließen Entwicklungszyklus● Spezifikation: Domain-Analyse, Dokumente, Modelle,

inhaltliche Beschreibung von Testprozeduren➔Große Unterschiede bei Anforderungen und Fähigkeiten

● Einführung des Framework-basierten Testens bereitete Probleme (für CNC-Entwickler)● MATLAB-basierter Ansatz: nicht für komplexe

Testmodellierung und -Management geeeignet● Generisches Testframework: Abkehr von der MATLAB-

basierten CNC-Entwicklung nicht akzeptabel

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 77 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Eclipse TPTP

● Eclipse Test & Performance Tools Platform Project● Zunächst als „Hyades“ 2002: Unit- und Performance-Tests● 2011 eingefroren● Innerhalb des Projekts auf aktuelles Eclipse „Kepler“ portiert

● Plugin-basiertes Framework für ● Erstellung und Management von Testmodellen● Testausführung and -monitoring● Verteiltheit durch Agentenprozesse auf entfernten

Rechnern, angebunden über Steuer- und Datenprotokolle● Funktionale und GUI-Komponenten

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 88 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

TPTP-basierte Architektur

Test Controller (any Host):TPTP/Eclipse Java VM Target (Windows PC):

Test Target Process

TestSuite

Agent Controller

CNCAgent

CNC Launch Delegate

TestExecutionHarness

CNC Data Collector

CNCValidator

TestCase

Art

efac

ts

Beh

avio

ur

Dep

loym

nt

User-UI

Mod

el

Mgm

t

Sta

rt T

est

launchTest()

Run

Err

ors

Res

ults

Tra

ces

Err

ors

Dat

a

Control

File trans..

ControlVerd

icts

Errors

Parameter

Trace Data

CNC

Ext

ende

d Te

st H

arne

ss

TPTP Foundation Provided by Eckelmann New Components

CNC Access LibraryMATLABOracleReference

File

CNC DIN Pgm.Machine Const.

SPS Setup

MATLABControl Code

Trac

e Dat

a

CNC DIN Pgm.Machine Const.

PLC Setup

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 99 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

TPTP-basierte Architektur

Test Controller (any Host):TPTP/Eclipse Java VM Target (Windows PC):

Test Target Process

TestSuite

Agent Controller

CNCAgent

CNC Launch Delegate

TestExecutionHarness

CNC Data Collector

CNCValidator

TestCase

Art

efac

ts

Beh

avio

ur

Dep

loym

nt

User-UI

Mod

el

Mgm

t

Sta

rt T

est

launchTest()

Run

Err

ors

Res

ults

Tra

ces

Err

ors

Dat

a

Control

File trans..

ControlVerd

icts

Errors

Parameter

Trace Data

CNC

Ext

ende

d Te

st H

arne

ss

TPTP Foundation Provided by Eckelmann New Components

CNC Access LibraryMATLABOracleReference

File

CNC DIN Pgm.Machine Const.

SPS Setup

MATLABControl Code

Trac

e Dat

a

CNC DIN Pgm.Machine Const.

PLC Setup

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 1010 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

MATLAB-Integration

● Agentenseitig (nahe SUT / Testausführung)● CNC Agent erzeugt wiederverwendbare MATLAB-Umgebung● CNC-Einrichtung und -Betrieb durch MATLAB-Code● Parameter durch MATLAB-Variablen abgebildet● CNC-Artefakte und Traces via File-Transfer

● Testorakel● CNC/TPTP-Plugin erzeugt wiederverwendbare MATLAB-

Umgebung● Eigentliches Orakel als MATLAB-Skript umgesetzt● Parametrierung durch das Plugin über MATLAB-Variablen● Auswertung erfolgt auf lokaler Kopie des Traces● Ergebnis des Orakels: success/failure/undecidable

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 1111 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

TPTP-basierte Architektur

Test Controller (any Host):TPTP/Eclipse Java VM Target (Windows PC):

Test Target Process

TestSuite

Agent Controller

CNCAgent

CNC Launch Delegate

TestExecutionHarness

CNC Data Collector

CNCValidator

TestCase

Art

efac

ts

Beh

avio

ur

Dep

loym

nt

User-UI

Mod

el

Mgm

t

Sta

rt T

est

launchTest()

Run

Err

ors

Res

ults

Tra

ces

Err

ors

Dat

a

Control

File trans..

ControlVerd

icts

Errors

Parameter

Trace Data

CNC

Ext

ende

d Te

st H

arne

ss

TPTP Foundation Provided by Eckelmann New Components

CNC Access LibraryMATLABOracleReference

File

CNC DIN Pgm.Machine Const.

SPS Setup

MATLABControl Code

Trac

e Dat

a

CNC DIN Pgm.Machine Const.

PLC Setup

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 1212 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

MATLAB-Integration

● Agentenseitig (nahe SUT / Testausführung)● CNC Agent erzeugt wiederverwendbare MATLAB-Umgebung● CNC-Einrichtung und -Betrieb durch MATLAB-Code● Parameters durch MATLAB-Variablen abgebildet● CNC-Artefakte und Traces via File-Transfer

● Testorakel● CNC/TPTP-Plugin erzeugt wiederverwendbare MATLAB-

Umgebung● Eigentliches Orakel als MATLAB-Skript umgesetzt● Parametrierung durch das Plugin über MATLAB-Variablen● Auswertung erfolgt auf lokaler Kopie des Traces● Ergebnis des Orakels: success/failure/undecidable

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 1313 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

GUI und Reporting

● Spezielle TPTP plugins ● Produktspezifisches

Testen und MATLAB-Integration

● TPTP GUI durch CNC-Testelemente erweitert

● Testreports mit BIRT1 erzeugt

● Etabliertes Frameworkzur Reporterzeugung

● Integrierbare Views ● Eingebetteter Webserver ● Backends erzeugen

PDF, XLS, …1 Business Intelligence and Reporting Tools

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 1414 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Erwartete Vorteile

● Das Framework unterstützt die wesentlichen für das Testen relevanten Schritte des Entwicklungszkylus

● Produktivitätssteigerung durch● Automatisierte Verarbeitung von Testspezifikation und

-ergebnissen● Größerer Duchsatz durch Testautomation ● Mitarbeiter können ihre gewohnte Arbeitsumgebung nutzen,

z.B. MATLAB für Ingenieure● Vermeidung von Fehlern duch manuelle Bearbeitung bei

Testausführung und Dokumentenverwaltung

● Mit TPTP als Grundlage bietet Eclipse-Technologie bessere Wartbarkeit und Erweiterbarkeit durch Plugins

Laborgespräch 16.10. 2014Laborgespräch 16.10. 2014 TPTP / CNC TestframeworkTPTP / CNC Testframework 1515 DOPSYDOPSYgroupgroup

Labor für Verteilte SystemeLabor für Verteilte SystemeDistributed Systems LabDistributed Systems Lab

Ausblick

● Projektergebnisse werden vom CNC-Entwicklerteam testweise genutzt und bewertet

● Transfer der Ergebnisse in des Schwesterprojekt „SFT“● Fokus: Modellbasierter Testprozess● Integration existierender automatenbasierter Anwendungen● Testspezifikation mittels DSL

● Erweiterung der Reporterstellung mit BIRT

● Anpassung der Plugins und Modelle anhand des Feedbacks der Eckelmann-Teams