Razorcat Development GmbH

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Phasen und ihre Workflows
Prüfungspläne Bachelor-Thesis
DANSY Dynamische Analyse von Systemen
Zusammenfassung der Vorwoche
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
10. Grundlagen imperativer Programmiersprachen
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Puck eine visuelle Programmiersprache für die Schule
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Objektorientierter Entwurf
Evaluierung und Implementierung der Automated Test Life-Cycle Methodology (ATLM) am Beispiel der IT3-Software Vorträger: Ling Yan.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
On a Buzzword: Hierachical Structure David Parnas.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
V09 Fallende Formen, Geschwindigkeitsregelung und Timing Daniel Ebner Spieleprogrammierung mit DirectX und C++
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Framework für ein Intrusion Detection System
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Was ist neu in VFX 9.5 im 2. Quartal 2006? Uwe Habermann Visual Extend Product Manager
Access & Assign Methoden in Visual FoxPro Zuweisungs- und Zugriffs-Methoden.
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Betriebskalender
12a Produktkonfigurator
04 b Ressourcenschichtplan. © beas group 2011 / Page 2 This documentation and training is provided to you by beas group AG. The documents are neither.
08 Materialbedarfsplanung
12 Produktkonfiguration
17 Personalzeiterfassung
10 Fertigung
Powertrain Hybrid Systems Electric Drives.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Portfolio des Competence Center ECS
Input / Wahrnehmung Control / Bewusstsein Output / Motorik Information.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Agenda 13: Begrüßung & Einführung in das Thema
Vorgehensweise bei der Software-Entwicklung des Publication Managers
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 SmartJCL ® Der einfache Weg zur fehlerfreien JCL HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
MODULA-2.
Modellbasierte Software-Entwicklung eingebetteter Systeme
SFZ FN Sj. 13/14 Python 2 Turtle Inf K1/2 Sj 13/14 GZG FN W.Seyboldt.
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter „EVA-WAS-Quickie“ Eingabe – Verarbeitung - Ausgabe.
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
HORIZONT 1 SmartJCL ® Der einfache Weg zur fehlerfreien JCL neue Version 3.2 HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel.
Revision: 2.40 SLS500-Configurator R0412 Programmumgebung, Programming Environment HIQUEL GmbH Bairisch Kölldorf 266, A-8344 Bad Gleichenberg, Austria.
Weg mit Fehlern, die kein Entwickler versteht …
THE MATHEMATICS OF PARTICLES & THE LAWS OF MOTION.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
Objektorientierte (OO) Programmierung
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Projektgruppe System- und Softwaretest
Welcome to the Presentation of the Automatic Gearbox GA6HP26Z
IETF 80 Prague DISPATCH WG
Avalanche-, Debris Flow- and Mudslide RADAR
The Programming Language Pascal
 Präsentation transkript:

Razorcat Development GmbH 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 support@razorcat.com www.razorcat.com

Wie kann nachvollziehbar dokumentiert werden, dass alle Anforderungen durch Tests abgedeckt sind? V&V Matrix r a a r a Anforderung 1 a ? Anforderung 2 a Test 4 Ergebnis 4 Anforderung 3 Test 3 Ergebnis 3 Test 2 Ergebnis 2 Test 1 Ergebnis 1

Herausforderungen für einen Test-Ingenieur Testmethodik Systemverständnis Testanlage Test Definition Step 1 … Step 2 Step 3 Test Procedure while () … if (x < y) for () SUT

Problematisch: Testbeschreibung und Umsetzung in eine Testprozedur V&V Matrix r Test Definition Initial Conditions … Step 1 Step 2 Step 3 a Test Procedure while () … if (x < y) for () a r a Anforderung 1 a ? Anforderung 2 a Test 4 Ergebnis 4 Anforderung 3 Test 3 Ergebnis 3 Test 2 Ergebnis 2 Test 1 Ergebnis 1

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 Testanlagen- spezifisches Script/Programm (Python, C, ...) Dokumentation ? Test Definition Tester Programmierer manuelle Umsetzung

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

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

Testbeschreibung und Testdurchführung mit CCDL automatische Übersetzung Ausführung auf der Testanlage Test Definition (CCDL) Test Prozedur (testanlagen- spezifisch) CCDL Compiler Tester Testanlagen- und A/C spezifische Funktionen Programmierer

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%

Einfaches Beispielsystem Motor Sensor Break Controller (SUT) Lever Fault Indicator

Typisches Testszenario einer Landeklappensteuerung Aktionen (chronologisch) Asynchrones Überwachen der Systemreaktionen Zeit [s] Definierter Zeitraum Laufzeit eines Testschritts Wählhebel setzen Bremse offen Normale Geschwindigkeit System bewegt sich Bei Erreichen einer Bedingung: Fehlersituation erzeugen Bremse schließt halbe Geschwindigkeit Warte, bis Endposition erreicht ist

Erstellen der Test Definition auf Basis der Anforderungen RQMT:0815-1 The motor shall operate the system at a speed of 1000 rpm RQMT:4711-1 If 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. Initialisierung des Systems Setze den Wählhebel auf Position 1 Warte, bis die Normalgeschwindigkeit ereicht ist. Simuliere einen Sensorfehler: Setze einen künstlichen Offset auf den gemessenen Wert. Prüfe, ob das System nach 100 ms gestoppt wird.

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) }

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]

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

Grafische Visualisierung des Testablaufs

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 CCDL Procedure Configuration Files Compiler Generated Test Program (C Code) independent of test engine Execution Framework User Functions Library TE abstraction layer dependent of test engine Test Engine (TE) (e.g. ADS2, Concurrent, dSPACE, ...)

Vergleich TTCN-3 und CCDL Vorteile der CCDL Kompakte, gut lesbare Notation Implizite Behandlung von Timeouts Implizites Setzen von Passed/Failed-Ergebnissen

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

Vielen Dank für Ihre Aufmerksamkeit.