2 Funktionsorientierter Test
|
|
|
- Minna Brauer
- vor 9 Jahren
- Abrufe
Transkript
1 Inhalt 2.1 Grundlagen 2.2 Funktionale Äquivalenzklassen 2.3 Zustandsbasierter Test 2.5 Testen mit Entscheidungstabellen und -bäumen 2.6 Syntatest 2.7 Transaktionsflussbasiertes Testen Jun. Prof. Dr. E. Pulvermüller Folie 1 Software-Qualität, Wintersemester 12/13
2 Fehlersituation Fehlersituation Fehlersituation Kombinationen von Werten / Äquivalenzklassen Fehlersituation ti Hilfsmittel zur Auswahl sinnvoller Kombinationen aus der großen Anzahl an Kombinationsmöglichkeiten: Ursache-Wirkungs-Analyse (Cause-Effect Graphing) - formale, grafische Sprache zur Beschreibung eines kombinatorischen logischen Netzwerks - Hilfsmittel für eine geeignete Wahl von Testfällen - Aufdecken von Unvollständigkeiten und Widersprüchen Jun. Prof. Dr. E. Pulvermüller Folie 2 Software-Qualität, Wintersemester 12/13
3 Schritte zur Erzeugung von Testfällen mit der Ursache- Wirkungs- Analyse: Werden Münzen eingeworfen, wechselt der Automat in den Zustand Münzeinwurf. Er akzeptiert Münzen solange bis der Eintrittpreis erreicht ist. Ist der Eintrittspreis erreicht, wird die Eintrittsmarke gedruckt und der Automat befindet sich im Zustand Druckend. Zerlegung in Teilspezifikationen Identifikation & Bezeichnung von Ursachen und Wirkungen Ursachen-Wirkungs-Graph E Ergänzung von Abhängigkeiten und Einschränkungen Umformung in Entscheidungstabelle Testfall Testfall pro Spalte Jun. Prof. Dr. E. Pulvermüller Folie 3 Software-Qualität, Wintersemester 12/13
4 Beispiel der Anwendung der Ursachen-Wirkungs-Analyse: Ursach.Wirk. Beispiel(teil)spezifikation: U1 U2 U3 W3 W4 W1 W2 Eine Operation ZaehleZchn liest Zeichen von der Tastatur, solange ein großer Konsonantbuchstabe oder großer Vokalbuchstabe eingegeben wird sowie die Gesamtzahl kleiner ist als der Maimalwert des Datentyps integer. Ist eine der Bedingungen nicht mehr erfüllt, wird die Operation beendet. Ist ein gelesenes Zeichen ein großer Konsonantbuchstabe oder Vokalbuchstabe, so wird Gesamtzahl um eins inkrementiert. Falls das eingelesene Zeichen ein großer Vokalbuchstabe ist, so wird auch VokalAnzahl um eins inkrementiert. Vokalbuchstabe: A, E, I, O, U Konsonantbuchstabe: B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, ß, T, V, W, X, Y, Z Gesamtzahl VokalAnzahl Jun. Prof. Dr. E. Pulvermüller Folie 4 Software-Qualität, Wintersemester 12/13
5 Basiselemente eines Ursachen-Wirkungs-Graphen (log. Verknüpfungen): Identität Negation U W U W ODER U1 UND U1 U2 W U2 U2 W Wirkrichtung jeweils von links nach rechts Alternative Darstellung in komplizierten Graphen: mit Pfeilspitze Jun. Prof. Dr. E. Pulvermüller Folie 5 Software-Qualität, Wintersemester 12/13
6 Weitere Elemente zur Beschreibung von Einschränkungen bei den Ursachen: Eclusive (E) Masks (M) Inclusive (I) () E M I One, and only one (O) O Requires (R) R... und weitere Elemente zur Beschreibung von Abhängigkeiten, z.b. IR (Irrelevant) Jun. Prof. Dr. E. Pulvermüller Folie 6 Software-Qualität, Wintersemester 12/13
7 Beispiel der Anwendung der Ursachen-Wirkungs-Analyse: (Fortsetzg.) Ursachen: U1: Zeichen ist ein großer Konsonantbuchstabe U2: Zeichen ist ein großer Vokalbuchstabe U3: Gesamtzahl ist kleiner als der maimale Integerwert Wirkungen: W1: Gesamtzahl wird inkrementiert W2: VokalAnzahl wird inkrementiert W3: Zeichen wird gelesen W4: Operation wird beendet Jun. Prof. Dr. E. Pulvermüller Folie 7 Software-Qualität, Wintersemester 12/13
8 Einschub: Aufbau von Entscheidungstabellen Nutzen: übersichtliche Darstellung kompleer Regelwerke Regelwerk = Menge von Regeln, Regel = Vorschrift: Bedingungen Aktionen aufwendig in der Erstellung; trotzdem häufig und breit eingesetzt DIN Aufbau: Alternative 1 Liste von 2 Bedingungskombinationen Bedingungen Variable, (Conditions) Relation, (Belegungen) Prädikat Bedingungskombination aus 2 Aktions- ausführung? 3 Liste aller möglicher 4 Aktionen (Actions) Zuordnung der durchzuführenden Aktionen Regel Jun. Prof. Dr. E. Pulvermüller Folie 8 Software-Qualität, Wintersemester 12/13
9 Einschub: Aufbau von Entscheidungstabellen Beispiel einer einfachen Entscheidungstabelle zur Diagnose von Druckerproblemen (basierend auf Symptombeschreibungen) Bedingungen Aktionen Regeln Druckt nicht N Rotes Licht leuchtet Drucker wird nicht erkannt Stromkabel prüfen Verbindungskabel prüfen Software-Installation prüfen Toner prüfen/tauschen Papierstau prüfen Y Y Y Y N N N N Y Y N N Y Y N N Y N Y N Y N Y N Jun. Prof. Dr. E. Pulvermüller Folie 9 Software-Qualität, Wintersemester 12/13
10 Vorgehen zur Umwandlung des Ursache-Wirkungs-Graphen in eine Entscheidungstabelle: Auswahl einer Wirkung (für alle Wirkungen nacheinander) Bildung sinnvoller Eingabekombinationen mittels fester Regeln für deren Ableitung aus dem Ursache-Wirkungs-Graphen: h pro Eintritt itt einer Wirkung und pro Nichteintritt einer Wirkung Jede gefundene Ursachenkombination ergibt eine Spalte in der Entscheidungstabelle Entfernung mehrfach auftretender Entscheidungstabelleneinträge (Redundanzelimination) Jun. Prof. Dr. E. Pulvermüller Folie 10 Software-Qualität, Wintersemester 12/13
11 Vorgehen zur Umwandlung des Ursache-Wirkungs-Graphen in eine Entscheidungstabelle: Regeln für die Ableitung sinnvoller Eingabekombinationen [Übertragung] Sind bereits Wirkungen analysiert worden, die identisch oder komplementär zur aktuell betrachteten Wirkung sind, so können die schon ermittelten Testsituationen verwendet werden (auf eine Analyse kann verzichtet werden) [ODER/1] ODER-Verknüpfung mit dem Ergebnis 1 (d.h. die Wirkung tritt ein): nur solche Eingabekombinationen bilden, bei denen eine Eingabe den Wert 1 und alle übrigen Eingaben den Wert 0 besitzen [ODER/0] ODER-Verknüpfung mit dem Ergebnis 0 (d.h. die Wirkung tritt nicht ein): Eingabekombination mit allen Eingaben auf 0 [UND/0] UND-Verknüpfung mit dem Ergebnis 0: nur solche Eingabekombinationen bilden, bei denen eine Eingabe den Wert 0 und alle übrigen den Wert 1 besitzen [UND/1] UND-Verknüpfung mit dem Ergebnis 1: alle Eingaben auf 1 setzen Jun. Prof. Dr. E. Pulvermüller Folie 11 Software-Qualität, Wintersemester 12/13
12 Beispiel der Anwendung der Ursachen-Wirkungs-Analyse: (Fortsetzg.) Transformation des Ursache-Wirkungs-Graphen in eine Entscheidungstabelle Analyse der einzelnen Wirkungen Auswahl einer Wirkung, z.b. W1 Durchsuchen des Graphen nach Kombinationen von Ursachen Jun. Prof. Dr. E. Pulvermüller Folie 12 Software-Qualität, Wintersemester 12/13
13 Beispiel der Anwendung der Ursachen-Wirkungs-Analyse: (Fortsetzg.) Transformation des Ursache-Wirkungs-Graphen in eine Entscheidungstabelle Aufbau der Entscheidungstabelle aus den ermittelten Eingabekombinationen Ursachen Zw.wirkung Wirkungen Testsituationen U1 Zchn ist ein großer Kons.b. U2 U3 Z1 W1 W2 W3 W4 Zchn ist ein großer Vok.b. Gesamtzahl < INT_MAX Gesamtzahl wird inkrem. VokalAnzahl wird inkrem. Zchn wird gelesen Operation wird beendet Jun. Prof. Dr. E. Pulvermüller Folie 13 Software-Qualität, Wintersemester 12/13
14 Beispiel der Anwendung der Ursachen-Wirkungs-Analyse: (Fortsetzg.) Ableitung von Testfällen aus den Spalten der Entscheidungstabelle: U1 U2 U3 Z1 W1 W2 W3 W4 Testsituationen Testfall T1: 0 0 Zchn ist ein großer Kons.b. Aufruf / Übergabe eines kleinen Werts für Zchn ist ein großer Vok.b. Gesamtzahl (z.b. Gesamtzahl < INT_MAX Gesamtzahl = 0) Gesamtzahl wird inkrem. VokalAnzahl wird inkrem. Zchn wird gelesen Operation wird beendet Einlesen großer Vokalbuchstabe Einlesen großer Konsonantbuchstabe t b Einlesen Zeichen, das weder großer Vokalbuchstabe noch großer Konsonantbuchstabe ist Jun. Prof. Dr. E. Pulvermüller Folie 14 Software-Qualität, Wintersemester 12/13
15 2.5 Testen mit Entscheidungstabellen, -bäumen Entscheidungstabellen und Entscheidungsbäume können Teil eines anderen Testverfahrens sein (z.b. in der Ursache-Wirkungs-Analyse) eigenständige Testbasis v.a. für funktionsorientiertes Testen sein Vorteil: Systematik erlaubt Testvollständigkeitsaussagen Problem: Umfang der Darstellung (und damit die Anzahl der daraus abgeleiteten Testfälle) wächst eponentiell mit der Anzahl der Bedingungen Optimierung Jun. Prof. Dr. E. Pulvermüller Folie 15 Software-Qualität, Wintersemester 12/13
16 2.5 Testen mit Entscheidungstabellen, -bäumen Einschub: Entscheidungstabellen Eigenschaften und Optimierung: Vollständigkeit: sichtbare Abdeckung sämtlicher Bedingungskombinationen Konsistenz (Widerspruchsfreiheit): erkennbar: gleiche Bedingungskombination muss zur selben Aktionskombination führen Konsolidierung: Zusammenfassung von Regeln Redundanz: erkennbar durch gleiche oder subsumierte Bedingungskombinationen v.a. Konsolidierung und Redundanzelimination als Gegenmaßnahme gegen eponentielles Wachstum mit der Bedingungsanzahl Jun. Prof. Dr. E. Pulvermüller Folie 16 Software-Qualität, Wintersemester 12/13
17 2.5 Testen mit Entscheidungstabellen, -bäumen Vereinfachtes Beispiel: Regeln Druckt nicht Y Y Y Y N N Y N Beding. Rotes Licht leuchtet Y Y N N Y Y Y N Drucker wird nicht erkannt Y N Y N Y N N N Aktionen Toner prüfen/tauschen Papierstau prüfen Redundanzen d Vollständigkeit? it? Inkonsistenz / Widerspruch (gleiche Bedingungskombinationen, aber unterschiedliche Aktionen) Jun. Prof. Dr. E. Pulvermüller Folie 17 Software-Qualität, Wintersemester 12/13
18 2.5 Testen mit Entscheidungstabellen, -bäumen Vereinfachtes Beispiel: Regeln Druckt nicht Y Y Y Y N N N N Beding. Rotes Licht leuchtet Y Y N N Y Y N N Drucker wird nicht erkannt Y N Y N Y N Y N Aktionen Toner prüfen/tauschen Papierstau prüfen Konsolidierung / Optimierung mit Don t Care-Werten Jun. Prof. Dr. E. Pulvermüller Folie 18 Software-Qualität, Wintersemester 12/13
19 2.5 Testen mit Entscheidungstabellen, -bäumen Vereinfachtes Beispiel: Regeln Druckt nicht Y Y Y Y N N Beding. Rotes Licht leuchtet Y Y N N Y N Drucker wird nicht erkannt Y N Y N - - Aktionen Toner prüfen/tauschen Papierstau prüfen Konsolidierung / Optimierung mit Don t Care-Werten Jun. Prof. Dr. E. Pulvermüller Folie 19 Software-Qualität, Wintersemester 12/13
20 2.5 Testen mit Entscheidungstabellen, -bäumen Vereinfachtes Beispiel: Regeln Druckt nicht - Y - Y Beding. Rotes Licht leuchtet Y Y N N Drucker wird nicht erkannt - N - N Aktionen Toner prüfen/tauschen Papierstau prüfen Achtung beim Konsolidieren! Jun. Prof. Dr. E. Pulvermüller Folie 20 Software-Qualität, Wintersemester 12/13
21 2.5 Testen mit Entscheidungstabellen, -bäumen Entscheidungsbaum Eine Entscheidungstabelle kann alternativ als Entscheidungsbaum dargestellt werden N Bedingung 1 Y N Bedingung 2 Y Bedingung 2 N Y Aktion 1 Aktion 2 Aktion 3 Aktion 4 Jeder Weg von der Baumwurzel zu einem Blatt entspricht einer Regel Baumoptimierungen (zur Baumgrößenreduktion) Jun. Prof. Dr. E. Pulvermüller Folie 21 Software-Qualität, Wintersemester 12/13
22 2.6 Syntatest Spezielle funktionsorientierte Testtechnik für SW, die syntaktische Analysen durchführt الكلب لدغ ساعي البريد Что? 該狗咬郵差 Leikalische Analyse Hund den Der beißt Briefträger Token Der Hund beißt den Briefträger Syntaanalyse Regel 1: satz subjekt prädikat objekt Regel 2: subjekt artikel substantiv Regel 3: objekt artikel substantiv Regel 4: prädikat verb Regel 5: substantiv hund briefträger Regel 6: verb beißt Regel 7: artikel der den Information entspricht der zugrundeliegenden Grammatik Jun. Prof. Dr. E. Pulvermüller Folie 22 Software-Qualität, Wintersemester 12/13
23 2.6 Syntatest if (brieftraeger.wirdgebissen()) {... Information entspricht der zugrundeliegenden Sprache mit ihrer Grammatik? Analyse e-sw umfassen Leikalische Analyse Syntaanalyse - Kommandoschnittstelle - Compiler Spezifikation der Synta durch Syntadiagramme Nutzbar als Basis für den funktionsorientierten Test der Analyse-SW Jun. Prof. Dr. E. Pulvermüller Folie 23 Software-Qualität, Wintersemester 12/13
24 2.6 Syntatest Beispiel eines Syntadiagramms: Testfallerzeugung (Testvollständigkeitskriterien): Knotenüberdeckung Kantenüberdeckung Vollständige Vollständige Pfadüberdeckung Pfadüberdeckung ohne Schleifen + Testfälle speziell für Schleifen Jun. Prof. Dr. E. Pulvermüller Folie 24 Software-Qualität, Wintersemester 12/13
25 2.7 Transaktionsflussbasiertes Testen Basis: Darstellung des Systems in Form seiner Transaktionsflüsse Beispiel zur Darstellung: UML Sequenzdiagramm Jun. Prof. Dr. E. Pulvermüller Folie 25 Software-Qualität, Wintersemester 12/13
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
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
Alphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
Lexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Systematischer Testfallentwurf als zentrales Element der Aufwandsteuerung
Systematischer Testfallentwurf als zentrales Element der Aufwandsteuerung Q-Event, Luzern 4.9.2014 Hugo Beerli, bbv Software Services AG Senior Testmanager «Nicht das, was wir nicht wissen, bringt uns
Techniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
Algorithmen und Formale Sprachen
Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und
Einschub: Erkennung durch Monoide
Einschub: Erkennung durch Monoide Achtung: Diese Einheit finden Sie NICHT im Buch von Schöning. Sei L eine formale Sprache und M ein Monoid. Wir sagen M erkennt L, wenneineteilmengea M und ein Homomorphismus
Formale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen
M. Jakob Gymnasium Pegnitz 10. Dezember 2014 Inhaltsverzeichnis Allgemeine Einführung Aufbau formaler Sprachen Notationsformen formaler Sprachen Backus-Naur-Formen Erkennen formaler Sprachen Implementierung
Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen
Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen Anforderungen durch Logiken Modellierung zusammenhängender
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp
Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 10
Prof. Dr. Wilhelm Schäfer Paderborn, 5. Januar 2015 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 10 Aufgabe 1 Decision-Tables
Qualitätssicherung von Software
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST 2.3 strukturelle Tests 24.11.2004 Folie 2 Hinweis auf Umfrage wir, das Institut für Informatik
5 Produktqualität Komponenten: Testende Verfahren 2 [stark gekürzt]
1 Software-Qualitätssicherung 2 Einführung und Überblick LE 1 V Unternehmensmodellierung 5 Produktqualität Komponenten: Testende Verfahren 2 [stark gekürzt] Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik
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
NACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax
Kapitel 5: Syntaxdiagramme und Grammatikregeln
5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 25.4.2013: strukturelle Tests Fragen zur Wiederholung robuste vs. nicht-robuste Grenzwertanalyse?
HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016
HM I Tutorium 1 Lucas Kunz 27. Oktober 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Logische Verknüpfungen............................ 2 1.2 Quantoren.................................... 3 1.3 Mengen und ihre
Reguläre Grammatiken/Sprachen und endliche Automaten
Reguläre Grammatiken/Sprachen und endliche Automaten Bei regulären Grammatiken ist die Form der Grammatikregeln am stärksten eingeschränkt. Trotzdem lassen sich bereits weite Teile einer natürlichen Sprache
Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber
Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)
WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 30. Oktober 2013 ZÜ DS ZÜ
Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke 08
Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: : BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau
Objektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
3.4 Struktur von Programmen
3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*
Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme
Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/
Software Entwicklung 2. Softwaretest
Software Entwicklung 2 Softwaretest Inhalt Testphasen Dynamischer Test Strukturelle, kontrollflussorientierte Verfahren Strukturelle, datenflussorientierte Verfahren Funktionsorientierter Test Literatur
Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte
Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,
3.1 Reservierte Wörter
3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der
Labor Software-Entwicklung 1
Fakultät für Technik STUDIENGANG MEDIZINTECHNIK Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 2 C-Programmierung Mathematische Berechnungen Wintersemester 205/206 Seite von 5 Vorbemerkungen
Kapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen
Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet
03 Boolesche Algebra. Technische Grundlagen der Informatik
03 Boolesche Algebra Technische Grundlagen der Informatik Automation Systems Group E183-1 Institute of Computer Aided Automation Vienna University of Technology email: [email protected] Inhalt Operationen
Endliche Automaten Jörg Roth 101
Endliche Automaten Jörg Roth 101 Wir wollen im Folgenden die Abschlusseigenschaften regulärer Sprachen betrachten. Fragestellung: Wenn wir reguläre Sprachen haben, welche binären und unären Operationen
Korrektheit und Hoare-Kalkül für Imperative Programme
Korrektheit und Hoare-Kalkül für Imperative Programme Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Partielle und totale Korrektheit kennen lernen Die Regeln des Hoare-Kalkül
Begriffe (Wiederholung)
Begriffe (Wiederholung) Sprache Menge aller Sätze Alphabet terminales / nicht terminales terminales A. Zeichen aus denen die Sätze der Sprache bestehen nicht terminales A. Hilfszeichen zum Bilden von Regeln
Strategien zur Testfallgenerierung aus UML-Zustandsautomaten
Strategien zur Testfallgenerierung aus UML-Zustandsautomaten Dipl.-Ing. Carsten Paulus (FKFS), Dipl.-Ing. Michael Wolff (ZF Friedrichshafen AG), Prof. Dr.-Ing. Hans-Christian Reuss (FKFS) Gliederung Motivation
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
Software Engineering für Softwaretechniker (SEfST)
Universität Stuttgart 11.02.2010 Software Engineering für Softwaretechniker (SEfST) - Übung 8: Programmklassen nach Lehman, Test - Matthias Wetzel [email protected] Abteilung Software
Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht
Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die
Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]
Programmentwurf Bevor man sich daran macht, den Quelltext eines Programmes zu schreiben, sollte man sich einen Plan der Struktur des zukünftigen Programmes machen. Diese Phase eines Softwarentwicklungsprojekts
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
Compilerbau für die Common Language Run-Time
Compilerbau für die Common Language Run-Time Syntax und Semantik von Programmiersprachen 2 Compilerbau Sprachbeschreibung vs. Implementierung Beschreibung: formale oder informale (engl.) Lexik, Syntax,
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
Theoretische Informatik I
Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in
Theoretische Informatik I
(702765) Skript zur Vorlesung am 30.6.2000 Aus der vorherigen Vorlesung: Theoretische Informatik I Satz W: Sei X ein Alphabet. Zu jeder regulären Sprache R X * gibt es ein n N, so daß für alle Wörter z
KAPITEL 5. Damit wird F n (B) selbst zu einer Booleschen Algebra und es gilt f(x) := f(x) 0(x) := 0 B 1(x) := 1 B
KAPITEL 5 Boolesche Polynome Polynome über R, d.h. reelle Funktionen der Form p(x) = a 0 + a 1 x + + a n x n, x R, sind schon aus der Schulmathematik bekannt. Wir beschäftigen uns nun mit Booleschen Polynomen,
Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -
Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät [email protected] Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale
Theoretische Informatik I
Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften
Dyck-Sprachen & Syntax-Analyse
Dyck-Sprachen & Syntax-Analyse Volker Diekert Universität Stuttgart Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003 1/?? Bäume sind überall............ Trees are everywhere ) ( [ [ ( [ [ ) [ [ ) ( [
Beweis des Pumping Lemmas
Beweis des Pumping Lemmas Die Sprache L sei eine Typ-2 Sprache, d.h. es gibt eine Typ-2 Grammatik G =(V,, P, S) in CNF, so dass L = L(G) gilt. Wir fixieren eine solche Grammatik G und wählen n = 2 V. Nun
int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben
Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit
Informatische Modellbildung
Informatische Modellbildung Informatik als Wissenschaft von der Herstellung ausführbarer Modelle bzw. der Simulation künstlicher Welten hier: formale Methoden zur Präzisierung des Modellbegriffs Begriffsdefinition
Kapitel 1. Aussagenlogik
Kapitel 1 Aussagenlogik Einführung Mathematische Logik (WS 2012/13) Kapitel 1: Aussagenlogik 1/17 Übersicht Teil I: Syntax und Semantik der Aussagenlogik (1.0) Junktoren und Wahrheitsfunktionen (1.1) Syntax
Definition Compiler. Bekannte Compiler
Compiler Inhalt: Definition Compiler / bekannte Compiler Klassifikationen von Compilern Analyse-Synthese-Modell der Kompilierung Analyse des Quellprogramms Synthesephase Die Phasen eines Compilers Symboltabellenverwaltung
Peter Liggesmeyer. Software-Qualität. Testen, Analysieren und Verifizieren von Software
Peter Liggesmeyer Software-Qualität Testen, Analysieren und Verifizieren von Software Spektrum Akademischer Verlag Heidelberg» Berlin ( 1 Einführung 1 1.1 Motivation 2 1.2 Terminologie und Begriffsdefinitionen
Compiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:
Compiler Einführung Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
Compiler: Einführung
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie
Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf
PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -
PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement
Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002
1. Stellen Sie die schrittweise Verbesserung eines Compilers durch das Bootstrap- Verfahren mit Hilfe von T-Diagrammen dar. Gegeben ist ein auf der Maschine M lauffähiger Compiler C 1, der in S geschrieben
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Memory Models Frederik Zipp
Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1
Property Based Testing
Property Based Testing Nicolai Mainiero sidion Testen ist schwer Testen ist schwer Warum? Alle Pfade durch den Code aufzuzählen ist aufwendig. Selbst vermeintlich einfache Systeme können komplex sein.
Diskrete Strukturen. Vorlesung 3: Naive Mengenlehre. 30. Oktober 2018
Diskrete Strukturen Vorlesung 3: Naive Mengenlehre 30. Oktober 2018 2 Organisation Prüfung: vorauss. am Freitag, den 22. Februar 2019 von 10 11 Uhr im AudiMax, HS 3, HS 9 Abmeldungen noch bis zum 12. Januar
GI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko
Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der SS 2016: Grossmann, Jenko Die Beschreibung orientiert sich am Begriffssystem der Beschreibung natürlicher Sprachen Sprache in der steht
Datenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
Testen mit Use Cases. Chris Rupp Dr. Stefan Queins
Testen mit Use Cases Chris Rupp Dr. Stefan Queins Das Problem Requirements- Engineering Was kann passieren? Was ist das gewünschte Verhalten? Was soll ich testen? Welche Eingaben benötigt mein Testpfad?
Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004
Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,
9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
Zum Buch Hinweise Handhabung des Buchs Website In eigener Sache... 19
Vorwort 13 Zum Buch.................................................... 15 Hinweise..................................................... 17 Handhabung des Buchs.........................................
Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung
Deduktion in der Aussagenlogik Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches Was folgt logisch aus dieser Theorie? Deduktion: aus
Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe. Informatik Q2. Stand: 02/2016 Status: Gültig
Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe Informatik Q2 Stand: 02/2016 Status: Gültig Unterrichtsvorhaben: Modellierung und Implementierung von Anwendungen mit dynamischen, nichtlinearen
Inhalt. Einführung in die Strukturierte Programmierung 15
Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer
