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


Top Related