Laborgespräch HSRM: Eckelmann CNC...
Transcript of Laborgespräch HSRM: Eckelmann CNC...
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