ccdl testbeschreibungssprache michael wittner, [email protected] (razorcat development gmbh) 1 ccdl...

20
CCDL Testbeschreibungssprache Michael Wittner, [email protected] (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für Zulassungstests und Zertifizierung Michael Wittner Razorcat Development GmbH Witzlebenplatz 4 14057 Berlin Tel.: 030 – 536 357 0 Fax: 030 – 536 357 60 [email protected] www.razorcat.com

Upload: meino-weit

Post on 05-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 1

CCDL – Einfache und mächtige Testbeschreibungssprache für Zulassungstests

und Zertifizierung

Michael Wittner

Razorcat Development GmbH

Witzlebenplatz 4

14057 Berlin

Tel.: 030 – 536 357 0

Fax: 030 – 536 357 60

[email protected]

www.razorcat.com

Page 2: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 2

?

Wie kann nachvollziehbar dokumentiert werden, dass alle Anforderungen durch Tests abgedeckt sind?

Anforderung 1

Anforderung 2

Anforderung 3

Test 1

Test 2

Test 3

Test 4

Ergebnis 1

Ergebnis 2

Ergebnis 3

Ergebnis 4

V&V Matrix

Page 3: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 3

Herausforderungen für einen Test-Ingenieur

Test Definition Step 1 … Step 2 … Step 3 …

Test Procedure while () … if (x < y) … for () …

SystemverständnisTestmethodik

SUT

Testanlage

Page 4: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 4

Problematisch: Testbeschreibung und Umsetzung in eine Testprozedur

Anforderung 1

Anforderung 2

Anforderung 3

Test 2

Test 3

Test 4

?

Ergebnis 1

Ergebnis 2

Ergebnis 3

Ergebnis 4

V&V Matrix

Test Definition

Initial Conditions … Step 1 … Step 2 … Step 3 …

Test Procedure

while () …

if (x < y) …

for () …

Test 1

Page 5: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 5

Bisheriges Vorgehen: Aufteilung auf verschiedene Testrollen

Nachteile Programmierer braucht

Systemverständnis und muss die Testanlage genau kennen

Missverständnisse bei der Umsetzung in ein Testprogramm

Schlechte Dokumentation

Test

Definition

Testanlagen-

spezifisches

Script/Programm

(Python, C, ...)

manuelle Umsetzung

Dokumentation ?

Tester Programmierer

Page 6: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 6

Zielstellung für eine Testbeschreibungssprache

Leicht erlernbar Intuitiv lesbar Echtzeitfähig Direkte Verweise auf einzelne Anforderungen möglich Kapselung von testanlagen- und SUT-spezifischen Funktionen Umgang mit Redundanz (Signale/Subsysteme)

Check Case Definition Language (CCDL)

Chronologische und ereignisbasierte Stimulation Synchrone und asynchrone Prüfung der Systemreaktionen

Page 7: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 7

Was bieten heutige Testsysteme ?

C-Code, Python Wenig für Testerstellung geeignet Gute Programmierkenntnisse

notwendig Keine Testauswertung Keine Dokumentation

TTCN-3 Ebenfalls Programmierung

erforderlich Eher für message-basierte

Systeme geeignet

Grafische Testbeschreibungen Wichtige Informationen zum Teil

versteckt Dokumentation

aufwendig/schwierig

Page 8: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 8

Testbeschreibung und Testdurchführung mit CCDL

Tester

Programmierer

Ausführung auf der Testanlageautomatische Übersetzung

Test

Definition

(CCDL)

Testanlagen- und A/C

spezifische Funktionen

Test

Prozedur

(testanlagen-

spezifisch)

CCDLCompiler

Page 9: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 9

Einsatz der CCDL in Airbus-Zertifizierungs-Testprogrammen

Test der Landeklappensteuerung (High-Lift-System) in Bremen A400M A320 SFCC Re-Design A350 (aktuell laufende Testkampagne)

Performance-Steigerung im Testprozess mit CCDL gegenüber Programmierung der Testprozeduren in Python über 100%

Page 10: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 10

Einfaches Beispielsystem

Lever

Motor

Sensor

FaultIndicator

Controller(SUT)

Break

Page 11: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 11

Typisches Testszenario einer LandeklappensteuerungZ

eit

[s]

Aktionen

(chronologisch)

Wählhebel setzen

Warte, bis Endposition erreicht ist

Bremse offen

Normale Geschwindigkeit

Definierter Zeitraum

Bei Erreichen einer Bedingung:

Fehlersituation erzeugen

Laufzeit eines Testschritts

System bewegt sich

Asynchrones Überwachen

der Systemreaktionen

Bremse schließt

halbe Geschwindigkeit

Page 12: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 12

Erstellen der Test Definition auf Basis der Anforderungen

RQMT:0815-1The motor shall operate the system at a speed of 1000 rpm

RQMT:4711-1If any overspeed (more than 1100 rpm) is detected, the system shall stop the motor and activate the break within 100 ms. A fault warning shall be indicated.

1. Initialisierung des Systems

2. Setze den Wählhebel auf Position 1

3. Warte, bis die Normalgeschwindigkeit ereicht ist.

4. Simuliere einen Sensorfehler:Setze einen künstlichen Offset auf den gemessenen Wert.

5. Prüfe, ob das System nach 100 ms gestoppt wird.

Test DefinitionAnforderungen

Page 13: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 13

Umsetzung der Test Definition in CCDL

Test Step 1, Timeout 99 [s]: {// Action: Set lever position to 2

set CTRL.LeverPosition to 2// Check for motor speed of system// - Set a trigger variable if the event occured

set trigger T1 when CTRL.MotorSpeed >= 1000 [rpm] (RQMT:0815-1)// When system is in state "ready for this test":// Set failure condition: Manipulate sensor

when T1:// Manipulate sensor value

set CTRL.MotorSpeed to offset 110 [rpm] (RQMT:4711-1)// Check if system detects the failure condition

within T1 .. T1 & 100 [ms]: {expect CTRL.BreakState => ENGAGED (RQMT:4711-1)expect CTRL.FailureWarning => 1 (RQMT:4711-1)

}}

Test Step 1, Timeout 99 [s]: {// Action: Set lever position to 2

set CTRL.LeverPosition to 2// Check for motor speed of system// - Set a trigger variable if the event occured

set trigger T1 when CTRL.MotorSpeed >= 1000 [rpm] (RQMT:0815-1)// When system is in state "ready for this test":// Set failure condition: Manipulate sensor

when T1:// Manipulate sensor value

set CTRL.MotorSpeed to offset 110 [rpm] (RQMT:4711-1)// Check if system detects the failure condition

within T1 .. T1 & 100 [ms]: {expect CTRL.BreakState => ENGAGED (RQMT:4711-

1)expect CTRL.FailureWarning => 1 (RQMT:4711-

1) }}

Page 14: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 14

Umgang mit redundanten Signalen/Subsystemen

set HLSF[1;2].RL206_GADIRU[1;2;3]_CAS to 200 [kts]

Das ist die zusammengefasste Schreibweise für:

set HLSF1.RL206_GADIRU1_CAS to 200 [kts]set HLSF1.RL206_GADIRU2_CAS to 200 [kts]set HLSF1.RL206_GADIRU3_CAS to 200 [kts]set HLSF2.RL206_GADIRU1_CAS to 200 [kts]set HLSF2.RL206_GADIRU2_CAS to 200 [kts]set HLSF2.RL206_GADIRU3_CAS to 200 [kts]

Page 15: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 15

Testauswertung in CCDL

Zeitlich genau definierbare Auswertungsintervalle Eine Real-Time-Zeitscheibe

als kleinste Einheit Asynchrone Trigger-Bedingungen

Für Stimulation Für Auswertung

Zuordnung der Testergebnisse zu den annotierten Anforderungen Übernahme ins

Testmanagement-System Anforderungsbasierte

Auswertung der Tests

Page 16: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH)

Grafische Visualisierung des Testablaufs

16

Page 17: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 17

Architektur der CCDL Implementierung

Compiler Übersetzung CCDL ==> C

Execution Framework Real-Time Laufzeitumgebung Stimulation/Auswertung

User Functions Library Implementierung testanlagen-

oder SUT-spezifischer Funktionen

Test Engine Abstraction Layer Interface zur Testanlage Beliebig portierbar

Test Engine (TE)

(e.g. ADS2, Concurrent, dSPACE, ...)

TE abstraction layer

Execution

Framework

User Functions

Library

Generated Test Program (C Code)

CCDL

Procedure

Compiler

independent of test engine

dependent of test engine

Configuration

Files

Page 18: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 18

Vergleich TTCN-3 und CCDL

Vorteile der CCDL Kompakte, gut lesbare Notation Implizite Behandlung von Timeouts Implizites Setzen von

Passed/Failed-Ergebnissen

Page 19: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 19

Zusammenfassung CCDL

Leicht erlernbar, intuitiv lesbar Echtzeitfähig Direkter Verweis auf Anforderungen Eingebettet in einen kompletten Testprozess

Umfassende Automatisierung im Testprozess und in der Nachweisführung

Page 20: CCDL Testbeschreibungssprache Michael Wittner, mw@razorcat.com (Razorcat Development GmbH) 1 CCDL – Einfache und mächtige Testbeschreibungssprache für

CCDL TestbeschreibungsspracheMichael Wittner, [email protected] (Razorcat Development GmbH) 20

Vielen Dank für Ihre Aufmerksamkeit.