Grenzwertanalyse. Domain-Testing. Ronny Schwierzinski, Bernd Rabe, Anna Bartwicki

Größe: px
Ab Seite anzeigen:

Download "Grenzwertanalyse. Domain-Testing. Ronny Schwierzinski, Bernd Rabe, Anna Bartwicki"

Transkript

1 Grenzwertanalyse und Domain-Testing Ronny Schwierzinski, Bernd Rabe, Anna Bartwicki

2 Überblick Einleitung Äquivalenzklassen Grenzwertanalyse Domain-Testing (Bereichstest) Invariant Boundaries Pfadbereichstest Zusammenfassung Grenzwertanalyse & Domain-Testing 2

3 Einleitung Grenzwertanalyse & Domain Testing nehmen Sonderstellung unter Testverfahren ein keine eindeutige Zuordnung zu datenfluß- / kontrollfluß- / funktionsorientiert oder diversifizierend Verfahren Mischverfahren Grenzwertanalyse & Domain-Testing 3

4 Motivation Eingabedaten meist aus bestimmten Teilbereichen z.b. int x, 1 x 10 häufigstes Auftreten von Fehlern in den Grenzbereichen Grenzbereiche werden mit Bereichstest überprüft Grenzwertanalyse & Domain-Testing 4

5 Äquivalenzklassen Definition: Eine Äquivalenzklasse ist eine Teilmenge aller möglichen Eingaben, so dass das erwartete Verhalten aller Elemente dieser Teilmenge ähnlich ist Grenzwertanalyse & Domain-Testing 5

6 Äquivalenzklassen Beispiel: 1 x 10 Häufigster Ansatz: Gültigkeitsbereich der Eingabevariablen Zwei Arten von Äquivalenzklassen: Gültige: Werte des spezifizierten Gültigkeitsbereichs z.b. 1 x 10 Ungültige: alle anderen Werte z.b. x < 1 und x > Grenzwertanalyse & Domain-Testing 6

7 Äquivalenzklassen jedes Element einer Äquivalenzklasse: repräsentiert diese sein Testergebnis liefert Verhalten aller Elemente dieser Klasse Schlußfolgerung: weniger Testfälle Aber: keine Aussage über Wechselwirkung der Klassen Theorie vs. Praxis Grenzwertanalyse & Domain-Testing 7

8 Grenzwertanalyse Untersucht Variablen in Bezug auf die Eingabewerte an den Äquivalenzklassen- Grenzen Entstehung zusätzlicher Testfälle an Bereichsober- / untergrenzen mit Abstand zur Bereichsgrenze Grenzwertanalyse & Domain-Testing 8

9 Grenzwertanalyse Beispiel aus Äquivalenzklassenbildung: int x, 1 x 10 gültig: 1 x 10 ungültig: x < 1 und x > 10 Grenze: x= Grenzwertanalyse & Domain-Testing 9

10 Grenzwertanalyse für jede Grenze 1 fester Grenzpunkt 1 willkürlicher Punkt rechts der Grenze 1 willkürlicher Punkt links der Grenze kleines System großer Aufwand Grenzwertanalyse & Domain-Testing 10

11 Domain-Testing Grundannahme der Tests: Existenz einer falsch definierten Bereichsgrenze Methoden für effizientere, effektive Testfälle zur Fehlerfindung Invariant Boundaries Pfadbereichstest Reduktion der Testdaten Grenzwertanalyse & Domain-Testing 11

12 Invariant Boundaries Genereller Ablauf: Für alle Eingabevariablen die Grenzen bestimmen Wähle Testwerte für jede Variable, die innerhalb der Grenzbereiche liegen Wähle Testwerte für jede Variable, die außerhalb der Grenzbereiche liegen Vergleiche Testergebnisse mit den erwarteten Werten Grenzwertanalyse & Domain-Testing 12

13 Invariant Boundaries Definition der Testwerte: On-Point: Wert auf der Bereichsgrenze Off-Point: Wert nicht auf der Bereichsgrenze In-Point: Wert, der die Eingabebedingung(en) erfüllt Out-Point: Wert, der die Eingabebedingung(en) nicht erfüllt Grenzwertanalyse & Domain-Testing 13

14 Invariant Boundaries Open Boundary: enthält keine Gleichheitsbedingung On-Point liegt auf der Grenze, Grenzbedingung ist aber verletzt Off-Point liegt innerhalb des Grenzbereichs, Grenzbedingung wird nicht verletzt Closed Boundary: enthält Gleichheitsbedingung On-Point liegt auf der Grenze, Grenzbedingung ist erfüllt Off-Point liegt außerhalb des Grenzbereichs, Grenzbedingung wird verletzt Grenzwertanalyse & Domain-Testing 14

15 Invariant Boundaries Beispiel für Closed Boundary: int x, 1 x On: x = 1, Off: x = 0, In: x = 1, Out: x = 0 ungültiger Eingabebereich Grenze: x=1 gültiger Eingabebereich Off / Out On / In ε - Umgebung Grenzwertanalyse & Domain-Testing 15

16 Invariant Boundaries Beispiel für Open Boundary: int x, 1 < x On: x = 1, Off: x = 2, In: x = 2, Out: x = 1 ungültiger Eingabebereich Grenze: x=1 gültiger Eingabebereich Off / In ε - Umgebung On / Out Grenzwertanalyse & Domain-Testing 16

17 Invariant Boundaries One by One Strategie: Für jede Grenze werden On- / Off-Points erzeugt Off-Point haben minimalen Abstand zur Grenze (ε-umgebung) Grenzwertanalyse & Domain-Testing 17

18 Invariant Boundaries - 1x1 Relationale Bedingung: 1 On- und 1 Off-Point z.b. x > 10, On: x = 10, Off: x = 11 Gleichheitsbedingung: 1 On- und 2 Off- Points z.b. x == 10, On: x = 10, Off1: x = 9, Off2: x = 11 Nicht-skalare Bedingung: 1 On- und 1 Off- Point z.b. x == true, On: x = true, Off: x = false Grenzwertanalyse & Domain-Testing 18

19 Invariant Boundaries - 1x1 Bedingung mit zwei oder mehr Variablen: z.b. float y, int x, y 14.0 x, 0 < x 10, 1 y 10 On: ermittle den Mittelpunkt der unabhängigen Variable und löse dann nach der abhängigen Variable auf x = 7 und y = 7.0 Off: addiere das minimalste Inkrement zur abhängigen Variable, so dass gerade die Bedingung verletzt wird ε = , y = ε = und x = Grenzwertanalyse & Domain-Testing 19

20 Invariant Boundaries - 1x1 Bedingung mit abstrakten Typ: z.b.!stack.isfull(), MAXSTACK= Zustände für die Klasse Stack: Empty, Loaded und Full Definition der abstrakten Zustände: Empty: Stack.size() == 0 Loaded: Stack.size() > 0 && Stack.size() < MAXSTACK Full: Stack.size() == MAXSTACK Grenzwertanalyse & Domain-Testing 20

21 Invariant Boundaries Darstellung der Testfälle in Domain-Matrix für jeden Testfall benötigt: On- / Off-Points durch 1x1 Strategie typische Werte für nicht betrachtete Variablen Erwartungswert des Testfalls zu beachten: gleiche Werte in unterschiedlichen Testfällen vermeiden Grenzwertanalyse & Domain-Testing 21

22 Invariant Boundaries noch ein Beispiel: void afunction(int x, float y, Stack astack) { assert( x > 0 && x <= 10 && y >= 1.0 && y <= 10.0 && y <= x &&!astack.isfull() ); } Grenzwertanalyse & Domain-Testing 22

23 Domain-Matrix Grenzwertanalyse & Domain-Testing 23

24 Invariant Boundaries Vorteile: weniger Testfälle Objekte von Klassen Nachteile: bei nicht linearen Funktionen Grenzen schwer zu finden bei komplexen Funktionen Testfälle schwer zu finden

25 Pfadbereichstest Zwei Fehlerklassen: Bereichsfehler: Ausführung eines falschen Programmpfads Berechnungsfehler: korrekter Pfad mit falscher Berechnung Grenzwertanalyse & Domain-Testing 25

26 Pfadbereichstest Entdeckung der Bereichsfehler Input Domain eines Programms wird in Bezug auf die Programmpfade in Pfadbereiche geteilt Grenzwertanalyse & Domain-Testing 26

27 Entdeckung der Bereichsfehler Fehler treten häufig an Bereichsgrenzen auf erforderliche Testdaten in der Nähe der Bereichsgrenzen Grenzwertanalyse & Domain-Testing 27

28 Definition Jedem ausführbaren Pfad Pi kann ein Teilbereich D[Pi ] der Eingabewerte und die von dem Pfad kalkulierte Funktion C[Pi] zugeordnet werden. Ein Programm kann in Form von - möglicherweise unendlich vielen - Paaren (D[Pi],C[Pi]) dargestellt werden Grenzwertanalyse & Domain-Testing 28

29 Beispiel void MinMaxTest: :MinMaxBetrag (float &Min, float &Max){ float Hilf; if (Min < 0){ Min = -1 * Min; } if (Max < 0){ Max = -1 * Max; } if (Min >= Max){ Hilf = Min; Min = Max; Max = Hilf; } } Grenzwertanalyse & Domain-Testing 29

30 Beispiel Grenzwertanalyse & Domain-Testing 30

31 Pfadbildung Grenzwertanalyse & Domain-Testing 31

32 P1 = nstart, n1, n2, n3, n4, n5, n6, nfinal D[P1]: Minin < 0 /\ Maxin < 0 /\ Minin >= Maxin C[P1]: Minout = -Maxin, Maxout= -Minin P2 = nstart, n1, n3, n4, n5, n6, nfinal D[P2]: Minin >= 0 /\ Maxin <0 /\ Minin >-MaXin C[P2]: Minout = -Maxin, Maxout= Minin P3= nstart, n1, n2, n3,n5, n6, nfinal D[P3]: Minin < 0 /\ Maxin>= 0 /\ -Minin >Maxin C[P3]: Minout = Maxin, Maxout= -Minin P4 = nstart, n1, n2, n3, n4., n5, nfinal D[P4] : Minin <0/\ Maxin <0/\ Minin>= Maxin C[P4] : Minout = -Minin, Maxout= -Maxin P5 = nstart, n1, n3, n5, n6, nfinal D[Ps]: Minin>= 0 /\ Maxin>= 0 /\ Minin >Maxin C[Ps]: Minout = Maxin, Maxout= Minin P6= nstart, n1, n3, n5,n6, nfinal D[P6]: Minin>= 0 /\ MaXin<0/\ Minin<=Maxin C[P6]: Minout = Minin, Maxout= -Maxin P7 = nstart, n1,n2, n3, n5, nfinal D[P7] : Minin <0/\ Maxin>=0 /\ -Minin<=Maxin C[P7] : Minout = -Minin, Maxout= Maxin P8 = nstart, n1., n3, n5, nfinal D[P8]: Minin>= 0 /\ Maxin>= 0 /\ Minin<= Maxin C[P8]: Minout = Minin, Maxout= Maxin Grenzwertanalyse & Domain-Testing 32

33 Beispiel P1 = nstart, n1, n2, n3, n4, n5, n6, nfinal D[P1]: Minin < 0 Maxin < 0 Minin >= Maxin C[P1]: Minout = -Maxin, Maxout= -Minin Grenzwertanalyse & Domain-Testing 33

34 Grenzwertanalyse & Domain-Testing 34

35 P3= nstart, n1, n2, n3,n5, n6, nfinal D[P3]: Minin < 0 /\ Maxin>= 0 /\ -Minin >Maxin C[P3]: Minout = Maxin, Maxout= -Minin Grenzwertanalyse & Domain-Testing 35

36 Endlich Testen Grenzen/Grenzlienien korrekt gesetzt? Setzen der ON/OFF Punkte Für Grenzlinien, die zweidimensionalen Ungleichungen entsprechen, müssen die Testpunkte die Reihenfolge ON-OFF-ON besitzen. Die ON-Testpunkte gehören zum Eingabedatenbereich D[P6]. Der OFF- Testpunkt gehört zu D[P2] Grenzwertanalyse & Domain-Testing 36

37 Grenzwertanalyse & Domain-Testing 37

38 (Max/Min) a(-7/7) b(-1/1) c(-4/5) P2 = nstart, n1, n3, n4, n5, n6, nfinal P6= nstart, n1, n3, n4, n5, n6, nfinal Grenzwertanalyse & Domain-Testing 38

39 Nachteile Fehleridentifikation: erzeugte Ausgaben erwartete Ausgaben. Beurteilung der Korrektheit von Ausgaben Testverfahren nur für vorhanden Pfade Fehlende Pfade werden nicht gefunden Grenzwertanalyse & Domain-Testing 39

40 Nachteile zwei benachbarten Pfadbereichen mit identische Funktionen Bereichsfehler werden nicht erkannt Besonders schwierig bei nicht linearen Funktionen (Grenzen können Ausschnitte aus komplexeren Funktionen sein) Grenzwertanalyse & Domain-Testing 40

41 Partition-Analyse konkretes Verfahren Beispiel für jüngere Testansätze Kombination verschiedener Techniken um eine Leistungssteigerung zu erreichen weder Korrektheitsbeweis noch Test allein reichen aus Überprüfung von Programmen (die aktuelle Implementation und die Spezifikation) Programmspezifikation muss in einer formalen Spezifikationssprache verfügbar sein Grenzwertanalyse & Domain-Testing 41

42 Konsistenzeigenschaften Kompatibilität/Äquivalenz/Isomorphismus Der Verifikationsprozess beginnt mit der Herleitung der Kompatibilität. Kann diese Eigenschaft gezeigt werden, so wird als nächstes versucht, die Äquivalenz oder den Isomorphismus für die entstandenen Teilbereiche zu zeigen Teilbereiche korrekt Grenzwertanalyse & Domain-Testing 42

43 Zusammenfassung Äquivalenzklassen fassen funktional gleiche Eingabewerte zur Reduzierung von Testfällen zusammen Bei der Grenzwertanalyse werden die Grenzbereiche explizit ausgetestet Invariant Boundaries zur Generierung kritischer Testfälle in Grenzbereichen Pfadbereichstest um Bereichsfehler zu finden Partitionsanalyse benutzt zusätzlich Korrektheitsbeweis Grenzwertanalyse & Domain-Testing 43

44 Quellenangaben Binder, Robert V.: Testing Object-Oriented Systems: Models, Patterns and Tools, Addison-Wesley Professional, 1999 Liggesmeyer, Peter: Software-Qualität - Testen, Analysieren und Verifizieren von Software, Spektrum Akademischer Verlag, 2002 Wikipedia: Glenesoft: Grenzwertanalyse & Domain-Testing 44

Grenzwertanalyse, Domain- Testing und

Grenzwertanalyse, Domain- Testing und Grenzwertanalyse, Domain- Testing und Klassifikationsbaum- Methode Anna Bartwicki Bernd Rabe Ronny Schwierzinski Grenzwertanalyse, Domain- Testing und Klassifikationsbaum - Methode... 1 Grenzwertanalyse

Mehr

Entscheidungstabellen zur Testdatenermittlung

Entscheidungstabellen zur Testdatenermittlung Entscheidungstabellen zur Testdatenermittlung ÜBERBLICK... 2 ERSTELLUNG VON ENTSCHEIUNGSTABELLEN... 2. AUFBAU VON ENTSCHEIUNGSTABELLEN... 2.2 BEISPIEL KFZ-VERSICHERUNG... 2 2.3 VARIANTEN... 2 3 VALIIERUNG

Mehr

Softwarequalitätssicherung

Softwarequalitätssicherung Softwarequalitätssicherung Seminarvortrag Peter Winkelhane 1 Agenda Motivation Taxonomie zur Einordnung von Verfahren im Bereich kontraktbasiertem Testen Drei kontraktbasierte Verfahren Vergleich der drei

Mehr

Software-Test: Funktionstest

Software-Test: Funktionstest Software-Test: Funktionstest Andreas Zeller Lehrstuhl für Softwaretechnik Universität des Saarlandes, Saarbrücken 2006-02-06 Funktionale Testverfahren Funktionale Testverfahren testen gegen die Spezifikation

Mehr

Software-Test: Funktionstest

Software-Test: Funktionstest 0/23 Software-Test: Funktionstest Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Funktionale Testverfahren 1/23 Funktionale Testverfahren testen gegen die Spezifikation

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim Test- Grundsätzliches - - - Ablauf von Tests Grundsätzliche Test- -Tests Äquivalenzklassenbildung Randwertanalyse -Tests Man unterscheidet verschiedene Überdeckungsgrade: Statement Coverage Decision Coverage,

Mehr

Testen Prinzipien und Methoden

Testen Prinzipien und Methoden Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Peter Liggesmeyer. Software-Qualität. Testen, Analysieren und Verifizieren von Software. 2. Auflage. Spektrum k-/l AKADEMISCHER VERLAG

Peter Liggesmeyer. Software-Qualität. Testen, Analysieren und Verifizieren von Software. 2. Auflage. Spektrum k-/l AKADEMISCHER VERLAG Peter Liggesmeyer Software-Qualität Testen, Analysieren und Verifizieren von Software 2. Auflage Spektrum k-/l AKADEMISCHER VERLAG 1 Inhaltsverzeichnis 1 Einführung 1 1.1 Motivation 2 1.2 Terminologie

Mehr

25 kann ohne Rest durch 5 geteilt werden! ist wahr

25 kann ohne Rest durch 5 geteilt werden! ist wahr Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen

Mehr

Testen - Konzepte und Techniken

Testen - Konzepte und Techniken Testen - Konzepte und Techniken Magdalena Luniak 21.11.2007 Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 1 / 42 Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess

Mehr

Software Engineering. Produktqualität - Dynamische Testverfahren

Software Engineering. Produktqualität - Dynamische Testverfahren Software Engineering Produktqualität - Dynamische Testverfahren Die Inhalte der Vorlesung wurden primär auf Basis der jeweils angegebenen Literatur erstellt. Darüber hinaus finden sich ausgewählte Beispiele

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving) Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de

Mehr

Technische Universität Berlin SS 2003. sadik@cs.tu-berlin.de

Technische Universität Berlin SS 2003. sadik@cs.tu-berlin.de Seminar Softwaretechnik Automatisiertes spezifikationsbasiertes Testen von Software Technische Universität Berlin SS 2003 Veranstalter: Betreuer: Seminarthema: Stefan Jänichen Mario Friske Codeabdeckung

Mehr

Java Generics & Collections

Java Generics & Collections Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

6 Systematisches Testen von Programmen

6 Systematisches Testen von Programmen 6 Systematisches Testen von Programmen Testen Untersuchung des Source-Codes nach Fehlern und Anomalien Stefan Lucks, Software-Entwicklung für Sichere Systeme SS 04, Kapitel 6 p.1/24 Untersuchung des Source-Codes

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

Nachweis der Verhaltensäquivalenz von Feldbus-Komponenten auf unterschiedlichen Abstraktionsebenen

Nachweis der Verhaltensäquivalenz von Feldbus-Komponenten auf unterschiedlichen Abstraktionsebenen Nachweis der Verhaltensäquivalenz von Feldbus-Komponenten auf unterschiedlichen Abstraktionsebenen Diplomarbeit Martin Pitt martin@piware.de Technische Universität Dresden 11. November 2004 1 Aufgabenstellung

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Dr. Klaus Lamberg, Michael Beine

Dr. Klaus Lamberg, Michael Beine $6,0)DFKWDJXQJ 6LPXODWLRQV XQG7HVWPHWKRGHQI U6RIWZDUH LQ)DKU]HXJV\VWHPHQ 7HVWPHWKRGHQXQG±WRROV WRROV LQ GHUPRGHOOEDVLHUWHQ )XQNWLRQVHQWZLFNOXQJ Dr. Klaus Lamberg, Michael Beine $JHQGD Modellbasierte Funktionsentwicklung

Mehr

Funktionale Testverfahren. Black Box-Tests. Unsystematisches Testen. Unsystematisches Testen (2) Überblick:

Funktionale Testverfahren. Black Box-Tests. Unsystematisches Testen. Unsystematisches Testen (2) Überblick: Funktionale Testverfahren Überblick: Programmstruktur hat keinen Einfluss auf Testfälle Funktionale Testverfahren Black Box-Tests 155 Testfälle werden aus der Spezifikation abgeleitet hat das Programm

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Design by Contract with JML

Design by Contract with JML Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Unit Testing, SUnit & You

Unit Testing, SUnit & You HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You

Mehr

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de C-Vorrangregeln Version 1.3 6.7.2009 email: tb@ostc.de Web: www.ostc.de Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Softwarewiederverwendung und Patterns

Softwarewiederverwendung und Patterns Begrifflichkeiten und Beschreibungssystematik Begriffe Literatur zu Patterns Übersicht über die behandelten Konzepte Beschreibungsschema 97 Begriffe Glossar Patterns (Muster) sind ein Mittel der Wiederverwendung

Mehr

Spezifikationsmethode zur Generierung von Modellen und Tests. Qualifizierung von Codegeneratoren.

Spezifikationsmethode zur Generierung von Modellen und Tests. Qualifizierung von Codegeneratoren. Page 1 Spezifikationsmethode zur Generierung von Modellen und Tests. Qualifizierung von Codegeneratoren. Dr. Stefan-Alexander Schneider, Prozessentwicklung Page 2 Agenda. Motivation Vorgehen Spezifikationssprache

Mehr

3: Systematisches Testen

3: Systematisches Testen Stefan Lucks 3: Systematisches Testen 70 E für Sichere Vert. Systeme (2007) 3: Systematisches Testen Testen ist ein Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden. Man muss destruktiv

Mehr

Qualitätssicherung von Software (SWQS)

Qualitätssicherung von Software (SWQS) Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 23.4.2013: Testfallauswahl Wo stehen wir? Kapitel 1: Einleitung, Begriffe, Software-Qualitätskriterien

Mehr

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Einsatz automatischer Testdatengenerierung im modellbasierten Test Einsatz automatischer Testdatengenerierung im modellbasierten Test Sadegh Sadeghipour sadegh.sadeghipour@itpower.de Gustav-Meyer-Allee 25 / Gebäude 12 13355 Berlin www.itpower.de Modellbasierte Software-Entwicklung

Mehr

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams Lothar Wendehals 6. Workshop Software-Reengineering Bad Honnef, 3. - 5. Mai 2004 Motivation Unterstützung des

Mehr

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: Binäre Bäume Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: BinTree [T: TYPE]: DATATYPE empty: empty? node (key: T, left:bibtree, right:bibtree):

Mehr

Messwerte und deren Auswertungen

Messwerte und deren Auswertungen Thema: Messwerte und deren Auswertungen Vorlesung Qualitätsmanagement, Prof. Dr. Johann Neidl Seite 1 Stichproben vertrauen Die Genauigkeit von Voraussagen (Vertrauensniveau) einer Stichprobenprüfung hängt

Mehr

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Rev. 1152 1 [23] Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Christoph Lüth & Dennis Walter Universität Bremen Wintersemester 2010/11

Mehr

Validierung und Verifikation

Validierung und Verifikation Martin Glinz Harald Gall Software Engineering Kapitel 7 Validierung und Verifikation Universität Zürich Institut für Informatik 2005, 2009 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

Prädikatenlogik - Micromodels of Software

Prädikatenlogik - Micromodels of Software Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................

Mehr

Validierung und Verifikation!

Validierung und Verifikation! Martin Glinz Thomas Fritz Software Engineering Kapitel 7 Validierung und Verifikation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Psychologie im Arbeitsschutz

Psychologie im Arbeitsschutz Fachvortrag zur Arbeitsschutztagung 2014 zum Thema: Psychologie im Arbeitsschutz von Dipl. Ing. Mirco Pretzel 23. Januar 2014 Quelle: Dt. Kaltwalzmuseum Hagen-Hohenlimburg 1. Einleitung Was hat mit moderner

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with

Mehr

2015-06-11 Tagesprogramm

2015-06-11 Tagesprogramm 1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme

Mehr

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer Seminar Werkzeuggestütze tze Softwareprüfung fung Slicing Sebastian Meyer Überblick Einführung und Begriffe Static Slicing Dynamic Slicing Erweiterte Slicing-Techniken Fazit 2 Was ist Slicing?? (I) Program

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl von Klauseln und Atomen in Prolog 5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten

Mehr

Fachgruppe Praktische Informatik

Fachgruppe Praktische Informatik Fachgruppe Praktische Informatik Verifikation, Validation und Testen sicherheitskritischer Systeme Ausarbeitung im Rahmen des Seminars Sicherheitskritische Systeme von Chandra Kurnia Jaya betreut durch

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Der Testreport. Was soll, was darf und was muss drinstehen?

Der Testreport. Was soll, was darf und was muss drinstehen? SQS der weltweit führende Spezialist für Software-Qualität sqs.com Bitte kopieren Sie eine Folie mit einem geeigneten Bildmotiv aus der Datei Title Slides_DE.pptx (zum Download in den Präsentationsmodus

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Qualitätsmanagement. Grundlagen

Qualitätsmanagement. Grundlagen Grundlagen Historie: Mit industriellen Massenproduktion erforderlich geworden (Automobilindustrie, Anfang des letzten Jahrhunderts); Qualitätsmanagement zunächst nur in der Fertigung Mitte des letzten

Mehr

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung

1. Motivation 2. Begriffsklärung 3. Komponententests 4. Integrationstests 5. Integrationsstrategien 6. Zusammenfassung Übersicht s s Gregoire Kemgne 1 Motivation Problem: Software wird immer größer und komplexer, dadurch ist diese immer schwerer zu überschauen Ein Projekt benötigt mehr Zeit und/oder Entwickler. Lösung:

Mehr

Verifikation, Validation und Testen von Sicherheitskritischen Systeme

Verifikation, Validation und Testen von Sicherheitskritischen Systeme Verifikation, Validation und Testen von Sicherheitskritischen Systeme Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Virtuelle Maschinen Konzept von VMWare

Virtuelle Maschinen Konzept von VMWare Virtuelle Maschinen Konzept von 11.12.2007 1 Einleitung 2 Software Virtualisierung 3 Software vs. Hardware 4 Fazit und Ausblick Motivation von Steigende Beliebtheit der x86-architektur Virtualizierung

Mehr

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen 9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam

Mehr

Maple-Skripte. A.1 Einleitung. A.2 Explizite Zweischritt-Runge-Kutta-Verfahren. Bei der Ausführung

Maple-Skripte. A.1 Einleitung. A.2 Explizite Zweischritt-Runge-Kutta-Verfahren. Bei der Ausführung A Maple-Skripte A.1 Einleitung Bei der Ausführung mechanischer Rechnungen können Computeralgebra-Programme sehr nützlich werden. Wenn man genau weiß, was eingesetzt, umgeformt, zusammengefaßt oder entwickelt

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den 8.9.011 Vorkurs Mathematik WS 011/1 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

Mehr

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Assertions (Zusicherungen)

Assertions (Zusicherungen) April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.

Mehr

Von Labyrinthen zu. Algorithmen

Von Labyrinthen zu. Algorithmen Von Labyrinthen zu 4 Gerald Futschek Charakterisierung Algorithmus Ein Algorithmus ist ein schrittweises Verfahren ist exakt beschrieben liefert nach endlich vielen Schritten das Ergebnis (terminiert)

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 8 Test Aufgabe 8.1 Testprozess Aus welchen Schritten sollte der Testprozess mindestens bestehen?

Mehr

Modellbasierte Diagnosesysteme

Modellbasierte Diagnosesysteme Modellbasierte Diagnosesysteme Diagnose: Identifikation eines vorliegenden Fehlers (Krankheit) auf der Basis von Beobachtungen (Symptomen) und Hintergrundwissen über das System 2 Arten von Diagnosesystemen:

Mehr

Entwicklung optimaler Turbinen für Kleinwasserkraftwerke

Entwicklung optimaler Turbinen für Kleinwasserkraftwerke Entwicklung optimaler Turbinen für Kleinwasserkraftwerke R. Schilling, S. Thum, A. Gantner, M. Hutter Lehrstuhl für Fluidmechanik TU München 16. Internationales Anwenderforum Kleinwasserkraftwerke Luzern/CH

Mehr

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

ASIL-relevante SW-Module identifiziert! Was nun?

ASIL-relevante SW-Module identifiziert! Was nun? ASIL-relevante SW-Module identifiziert! Was nun? ASIL-relevante SW-Module testen Blick in die EN 26262 Häufige Irrtümer in der Praxis Funktionale Tests in die Tiefe Funktionale Tests weiter optimieren

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

Softwaretechnik 1 Tutorium

Softwaretechnik 1 Tutorium Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Tutorium 06. Juli 2009 Matthias Thoma (s_thoma@ira.uka.de) Heute Übungsblatt Nr. 4 + Übungsblatt Nr. 5 Softwarequalität

Mehr

Software Technologie Refactoring. Nutzungsverhalten der Entwickler bzgl. des Refactoring. Nguyen Hung

Software Technologie Refactoring. Nutzungsverhalten der Entwickler bzgl. des Refactoring. Nguyen Hung Software Technologie Refactoring Thema 1.1 Nutzungsverhalten der Entwickler bzgl. des Refactoring Nguyen Hung Überblick Refactoring Ziele des Refactoring Refactoring bei Entwicklern Nutzungsverhalten Fragen

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Sicherheit bei lernenden Robotern

Sicherheit bei lernenden Robotern 15. Januar 2009 Sicherheitsbegriff Herangehensweisen Beschreibung des Begriffs Sicherheit Sicherheit ist... Schutz vor Bedrohung und Schaden Zuverlässigkeit Safety: Schutz der Umgebung (accident prevention)

Mehr

Testen eingebetteter Systeme

Testen eingebetteter Systeme Seminar Qualitätsmanagement in der Softwaretechnik Testen eingebetteter Systeme Jens Rolfes rolfes@web.de Gliederung! Grundlagen! Präventive Analysemethoden! Messende Testtechniken! Fazit Testen eingebetteter

Mehr

Methoden und Werkzeuge zur Softwareproduktion Qualitätssicherung. Testorakel. Stefan Lehmann, Benjamin Chapus

Methoden und Werkzeuge zur Softwareproduktion Qualitätssicherung. Testorakel. Stefan Lehmann, Benjamin Chapus Testorakel Stefan Lehmann, Benjamin Chapus Einleitung Ein entscheidendes Problem beim Testen von Software ist das Orakelproblem. Wie beurteilt man anhand der aus den Testdaten resultierenden Ergebnisse,

Mehr

Laufzeitverifikation

Laufzeitverifikation Laufzeitverifikation Martin Möser Seminar Fehlertolerante und Selbstheilende Systeme: Verifikation und Validierung autonomer Systeme Martin Möser - 1 Einführung / Motivation Autonome Systeme Komplexes

Mehr

F-Praktikum Physik: Photolumineszenz an Halbleiterheterostruktur

F-Praktikum Physik: Photolumineszenz an Halbleiterheterostruktur F-Praktikum Physik: Photolumineszenz an Halbleiterheterostruktur David Riemenschneider & Felix Spanier 31. Januar 2001 1 Inhaltsverzeichnis 1 Einleitung 3 2 Auswertung 3 2.1 Darstellung sämtlicher PL-Spektren................

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr