From 945cf237ba3f4b920ba433031a9d99dc58d81fc3 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Thu, 4 Feb 2021 09:30:29 +0100 Subject: [PATCH] Verifikation und Testen --- Assets/Softwaretechnik1_Codegenerierung.png | Bin 0 -> 111630 bytes Softwaretechnik.md | 399 ++++++++++++++++++++ 2 files changed, 399 insertions(+) create mode 100644 Assets/Softwaretechnik1_Codegenerierung.png diff --git a/Assets/Softwaretechnik1_Codegenerierung.png b/Assets/Softwaretechnik1_Codegenerierung.png new file mode 100644 index 0000000000000000000000000000000000000000..172b5319accaef8bdaa51f626ef256a5028e4a38 GIT binary patch literal 111630 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

q3<&mD2_fG};{+(Vo}8}8`Y&J{s9 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 literal 0 HcmV?d00001 diff --git a/Softwaretechnik.md b/Softwaretechnik.md index e141374..53627eb 100644 --- a/Softwaretechnik.md +++ b/Softwaretechnik.md @@ -1674,13 +1674,412 @@ Dokumentation des Feinentwurfs - Klassenschnittstellen # Implementierung +Aufgaben der Implementierung +- Aus Spezifikationen Programm(code) erzeugen +- Aufbauend auf Ergebnissen des Feinentwurfs + - Algorithmen konzipieren + - Datenstrukturen realisieren + - Umsetzen in konkreter Programmiersprache + - Dokumentation + - Untersuchung des Zeit- und Speicherbedarfs + - Test und Verifikation +- „Programmieren im Kleinen“ + ## Konventionen und Werkzeuge +Konventionen beim Programmieren +- (Coding Rules, -conventions, -standards) +- Regeln für verständliche Programme + - „wie“ sollte Quellcode formal und strukturell gestaltet sein + - Bezeichner, Einrückungen, Dokumentation, Dateien, ... + - Strukturierung: Block, Methode, Klasse, Package +- Firmenspezifische Regeln + - Festlegung Entwurfsprinzipien (z.B. keine Mehrfachvererbung) + +Namenskonventionen +- Klasse + - (mit) Substantiv, „UpperCamelCase“ + - Beispiele: Account, StandardTemplate +- Methode + - (mit) Verb, Imperativ (Aufforderung), „lowerCamelCase“ + - Beispiele: checkAvailability(), getDate() +- Attribut, Variable + - (mit) Substantiv, „lowerCamelCase“ + - Beispiele: anzahlAutos, fensterBreite +- Konstante + - Nur Großbuchstaben, Worte mit "_" zusammengesetzt + - Standardpräfixe: "MIN_", "MAX_", "DEFAULT_", ... + - Beispiele: NORTH, BLUE, MIN_WIDTH, DEFAULT_SIZE + +Formatierungs-Richtlinien +- Entsprechend Schachtelungstiefe einrücken, aber nicht zu weit +- Einheitliche Verwendung von Leerzeilen und Leerzeichen +- Einheitliche Dateistruktur verwenden + - Eine .java-Datei pro Klasse + - Ein Verzeichnis für jedes package +- Werkzeuge: source beautifier, oft in IDEs enthalten +- Editor: syntax highlighting +- Navigationswerkzeuge + - Auf- und Zuklappen, Inhaltsverzeichnis, tagging + - doxygen, Eclipse etc. + +Änderungsfreundlicher Code +- Wahl von Variablen, Konstanten und Typen orientiert an der fachlichen Aufgabe, nicht an der Implementierung: + - `typedef char name [NAME_LENGTH]` + - `typedef char firstName [FIRST_NAME_LENGTH]` +- Symbolische Konstanten statt literaler Werte verwenden, wenn spätere Änderung denkbar +- Algorithmen, Formeln, Standardkonzepte in Methoden/Prozeduren kapseln +- Übersichtlichkeit: Zusammenhängende Einheit nicht größer als Editorfenster (40-60 Zeilen, 70 Zeichen breit) +- Strukturierte Programmierung (Regeln je nach Schärfe) + - Kein goto verwenden (in anderen Sprachen als Java) + - switch nur mit break-Anweisung nach jedem Fall + - break nur in switch-Anweisungen verwenden + - continue nicht verwenden (Effekt ähnlich goto) + - return nur am Ende zur Rückgabe des Werts +- Übersichtliche Ausdrücke + - Seiteneffektfreie Ausdrücke, schlecht: y += 12*x++; +- Variablen möglichst lokal und immer private deklarieren +- Wiederverwendung "äußerer" Namen vermeiden + +Werkzeuge +- Integrated Development Environments (Eclipse, KDevelop) +- Compiler, Linker; Build / Make; Versionskontrolle (git, svn) + ## Code-Qualität +Portierbarer Code +- Code, den man ohne Änderungen in ein anderes System (Compiler, Betriebssystem, Rechner) übertragen kann + - Kein implementierungsabhängiges Verhalten! +- ANSI C++ Standard ist nicht vollständig definiert +- Ist das Verhalten nicht festgelegt, unterscheidet der ANSI C++ Standard zwischen: + - Implementierungsabhängigem, unspezifiziertem oder undefiniertem Verhalten +- Code, welcher auf implementierungsabhängigem, unspezifiziertem oder undefiniertem Verhalten basiert, ist + - Nicht portabel und somit häufig verboten + - Wird unter Umständen ungewollt wegoptimiert + +Implementierungsabhängiges Verhalten +- Compiler übersetzen bestimmte Sprachkonstrukte unterschiedlich, Ergebnis unterscheidet sich +- Voraussetzung + - Verhalten ist konsistent festgelegt und dokumentiert + - Kompilierung von standardkonformem Code ist erfolgreich +- Beispiel: Speichergröße von Integer-Typen + - char kann signed oder unsigned sein: Nicht damit rechnen! + - 32 Bit System ist wie erwartet + - 16 Bit System: Multiplikation wird mit int durchgeführt -> Überlauf -> undefiniertes Verhalten + +- Unspezifiziertes Verhalten + - Wie implementierungsabhängiges Verhalten + - Compiler muss sich für ein bestimmtes Verhalten entscheiden + - Muss nicht dokumentiert sein + - Beispiel: Evaluierungsreihenfolge von Funktionsargumenten `tuWas(zuerstDas(),oderDochLieberDas());` +- Undefiniertes Verhalten + - Keinerlei Vorgaben + - Compiler muss mögliches Problem nicht melden + - Keine Voraussage welches Resultat eintritt + - Bereits die Kompilierung kann fehlschlagen + - Oder das laufende Programm kann falsche Resultate liefern. + - Effekt: „Bei mir läuft es aber!?“ + - „undefiniertes Verhalten nutzen grenzt an Sabotage!“ + +Sicherer Code mit const +- Const Variable – Konstante + - Stellt sicher, dass sich der Wert nicht verändert +- Const Parameter + - Übergabeparameter ändert sich nicht innerhalb der Operation + - Z.B. bei Übergabe komplexer Daten als Referenz bzw. Zeiger `long calcMeanValue(const image &i){...}` +- Const Operationen + - Sicherstellen, dass Operation das Exemplar nicht ändert + - Aufruf der const Operation bei const Variablen möglich +- Verwende const wenn möglich + + ## Dokumentation +- Selbstdokumentierende Programme? + - 2001 Int. Obfuscated C Code Contest Winner, Short Program + +Integrierte Dokumentation +- Verständlichkeit, Wartbarkeit – auch für Programmierer! +- Code selbst sollte möglichst verständlich sein +- Dokumentation in Programm schreiben und aktualisieren +- Beschreibung der Bedeutung des Codes! +- Als Konventionen festschreiben +- Programmvorspann +- Kurzbeschreibung Datei / Klasse / Funktion ... +- Verwaltungsinformationen + - Autor, Datum, Version, Projekt, ToDo, FixMe, ... + - Zustand: geplant, in Bearbeitung, vorgelegt, akzeptiert +- Laufende Kommentare im Quellcode + +Programmierer-Dokumentation +- Als eigenes Dokument elektronisch oder gedruckt +- Einstieg in Programmverständnis (z.B. Bachelor-Arbeit) +- Konsistenz mit Quelltext? Verweise? +- Technische Unterstützung: JavaDoc (Java), doxygen (C++) +- Ergänztes Java-Programm  Dokumentation HTML, PDF, + ```js + /** @author name Mustermann */ + /** @param name description */ + /** @return description */ + ``` + +Benutzerdokumentation +- Benutzer-Handbuch, Online-Dokumentation +- Unterstützung ohne Support? +- Vollständige und fehlerfreie Beschreibung der Benutzung + - Beispiele, screen shots +- Arten: Tutorial, Beschreibung, Referenz + +Benutzer-Unterstützungssysteme +- Integrierte Hilfe (Suchfunktion, balloon help / tool tips) +- Assistenz-System (Zustandsabhängige Anleitung) +- Tutor-System zum Erlernen +- Bug-Listen, Mailinglisten, Diskussionsforen + ## Codegenerierung +Bezug zwischen Modell und Programmcode +- Vorwärtsmodellierung: Modell - Code +- Rückwärtsmodellierung: Code - Modell + - Außerdem: Modelltransformation, Refaktorisierung +- Idealfall: Automatische Übersetzung durch SW-Werkzeug (in beiden Richtungen) + - „Modellbasierte Entwicklung“ +- Statisch: Beispiel Klassendiagramm - Quelltext der Klassen mit allen Vererbungsbeziehungen, Attributen und Methodensignaturen (Klassen-Stümpfe mit leeren Methodenrümpfen zum Ausfüllen) +- Dynamisch: Beispiel Zustandsdiagramm - Quelltext der Zustandssteuerung einer Klasse + +![Codegenerierung](Assets/Softwaretechnik1_Codegenerierung.png) + +Weitere statische Transformationen +- Abbildung von Assoziationen auf Sammlungen +- Abbildung von Verträgen auf Ausnahmen +- Abbildung von Objektmodellen auf Datenbankschemata +- Abbildung von Entwurfsmustern auf Codefragmente + +Optimierung des Entwurfsmodells +- Grund: nichtfunktionale Eigenschaften +- Zugriffspfade +- Klassen in Attribute umwandeln +- Verzögerung von Berechnungen +- Zwischenspeicherung aufwändiger Ergebnisse + +Codegenerierung aus StateCharts +- Einfachste Möglichkeit: Switch (Case) Statement +- Zustände werden durch Datenwerte repräsentiert + - Aktueller Zustand: einzelne skalare Variable +- Jedes Ereignis wird durch Methode implementiert +- Ausgehend von aktivem Zustand wird bei Eintreffen eines Ereignisses der entsprechende Programmcode ausgeführt +- Abhängig von Zustandsvariable wird Aktion ausgeführt und der Folgezustand eingestellt +- Wird in einer Klasse realisiert +- Sinnvoll für einfache, “flache” Modelle + - Sonst Logik für Hierarchie nötig + +Anpassung der Generierung +- Verschiedene Zielsprachen (Java, C++, ...) +- Model2Text-Transformationen + - Verschiedene Generatoren, z.B. Eclipse Modelling Project +- Generierung aus dem Modellierungswerkzeug + - Parametrisierung der Codegenerierung + - Generierungsvorlagen + +Weitere Werkzeuge +- Compiler-Compiler: Syntaxbeschreibung wird in lexikalische Analyse (tokenizer) und Syntaxanalyse-Programm transformiert (lex & yacc / flex & bison / antlr) +- Codegenerierung für grafische Benutzungsoberflächen aus grafischer Beschreibung: GUI toolkits +- XML-Parser + - XSLT, DOM, SAX, ... + ## Implementierung aktiver Objekte +Realisierung aktiver Entwurfsobjekte +- Reagieren nicht nur (Methodenaufruf), sondern implementieren eigenes Verhalten +- Aktive Klassen, z.B. Steuerobjekte + +Arten von Programmabarbeitung +- Sequentiell: es gibt immer genau einen nächsten Schritt, alle Schritte werden nacheinander ausgeführt +- Parallel: Spezielle Hardware bzw. Mehrkernprozessor, mehrere Befehlsfolgen werden echt parallel bearbeitet +- Quasi-parallel: Ein Prozessor arbeitet mehrere Befehlsfolgen in freier Einteilung ab +- Nebenläufig: Oberbegriff für Parallel und Quasi-parallel + - concurrent + +Vorteile +- Höhere Geschwindigkeit +- Kein aktives Warten auf Ereignisse +- Getrennte Implementierung unabhängiger Aspekte + +Ergebnisse eines Programms +- Ein Programm, dessen Ablauf eindeutig vorherbestimmt ist, nennt man deterministisch (deterministic) +- Ein Programm, das bei gleichen Eingaben gleiche Ausgaben produziert, heißt determiniert (determined) +- Programme in üblichen Programmiersprachen sind sequentiell, deterministisch und determiniert +- Grund: Herkömmliche Programmiersprachen sind durch das von-Neumann-Modell geprägt +- Determinismus nicht notwendig für Determiniertheit! + - Determiniertheit nebenläufiger Programme: Synchronisation + - Vermeidung von Schreib/Schreib und Schreib/Lese-Konflikten + +Java Threads +- Verwaltung durch die Java Virtuelle Maschine (JVM) +- Realisierung der Threads ist je nach Implementierung der JVM unterschiedlich + - Abbildung auf Betriebssystem-Threads (z.B. unter Windows weitverbreitet) + - Realisierung durch die JVM (z.B. unter Unix und in Java-fähigen Browsern) + - Nachteile: Keine Ausnutzung von Multiprozessorsystemen durch die VM; Zuteilungsstrategie für Threads ist in derzeitigen Implementierungen unterschiedlich +- Threads arbeiten immer im Adressraum der JVM (eigener Prozess) und sind außerhalb dieser nicht sichtbar + +Erzeugung eines Threads +- Unterklasse der Basisklasse „Thread“ bilden `class MyThread extends Thread` +- Problem: keine Mehrfachvererbung, daher Alternative nötig (Beispiel: Applet): + - Schnittstelle „Runnable“ implementieren + - `class MyThread implements Runnable` +- Die vordefinierte Schnittstelle Runnable ist definiert als + ```java + public interface Runnable + { public abstract void run(); } + ``` + +Starten eines Threads +- Eine Klasse, die Runnable implementiert, muss wie Unterklassen von Thread immer eine run()-Methode definieren +- Seiteneffekt der Runnable-Schnittstelle + - Instanzen der Klasse werden nebenläufig zu den anderen laufenden Threads ausgeführt + - Ausführung beginnt mit der Methode run () +- Ablauf + - Thread-Objekt erzeugen + - Thread starten mit t.start() + - start() ruft implizit run() auf + +Synchronisation von Threads +- Gezielte Einschränkung der Nebenläufigkeit +- Gründe + - Zugriffsbeschränkung, gegenseitiger Ausschluss + - Abhängigkeiten, einseitige Synchronisation +- Methoden: Semaphore, Monitore, Schlossvariablen, ... + +Java: Monitore +- Zugriffsoperationen werden in Klassen zusammengefasst +- Gegenseitiger Ausschluss: Spezifikation der betroffenen Zugriffsoperation als synchronized + ## Verifikation und Testen +Wie erreicht man qualitativ hochwertige Software? +- Wissen, Erfahrung und Methodenkompetenz der Programmierer +- Projektstruktur, klare Verantwortlichkeiten +- Kosten- und Zeitdruck? Änderungen? +- Programmier- und Testmethoden + - pair programming, code reading etc. + - Qualitätsverantwortlicher, automatisiertes Testen +- Technische Unterstützung + - Z.B. Versionierung, Dokumentation, Testen, Entwicklungsumgebung + +Begriffe +- Zuverlässigkeit: Maß für Übereinstimmung des Systemverhaltens mit Spezifikation +- Grund für Unzuverlässigkeit: + - Fehler (bug, fault): fehlerhafter Programmcode o.ä. + - Der Begriff „Bug“: + - Schon vor Computern als Begriff für Fehler benutzt + - Motte im Relais des Computers Mark II Aiken (1947) + - Fehlerhafter Zustand (error): Fehler hat zur Laufzeit zu einem internen fehlerhaften Zustand geführt, der möglicherweise zu einem Ausfall führt + - Störfall, Ausfall (failure): Abweichung vom spezifizierten Verhalten, meist mit negativen Folgen + +Vergleich System / Systemmodell +- Anspruch guter Software: System entspricht Systemmodell (Korrektheit) +- Problem: System nicht vollständig automatisch erzeugbar! +- Auswege + - Fehlervermeidung (Inspektion, pair programming, ...) + - Nachweis, dass System dem Modell entspricht - Verifikation + - Überprüfen, ob System dem Modell entspricht - Testen + - Fehlertoleranz (durch Redundanz) + +Verifikation +- Mathematisch formaler Beweis, dass ein Programm einer Spezifikation genügt +- Vorteil: wenn anwendbar, dann vollständiger Beweis +- Problem: für viele (realistisch große) Fälle nicht anwendbar + - Zu aufwändig + - Umgebung muss ebenfalls verifiziert werden + - Auch in der Theorie nicht immer entscheidbar: Halteproblem, Gödelscher Unvollständigkeitssatz +- Theoretische Informatik: Berechenbarkeitstheorie, formale Semantik; aktives Forschungsgebiet + - model checking + +Testen +- Systematischer Versuch, Defekte in der Software zu finden +- Ingenieurtechnik zur Erhöhung des Vertrauens in Softwaresysteme, aber: unvollständig! + - Kann nur die Anwesenheit von Fehlern nachweisen, aber nicht Korrektheit (Abwesenheit von Fehlern)! +- Aufgabe: Unterschiede zwischen Modell und System finden +- Destruktiv im Gegensatz zu sonstigen SWE-Aufgaben + - Daher sollten nicht (nur) Entwickler selbst testen + +Testplanung +- Testen ist aufwändig, deshalb ist gute Planung nötig! +- Testplanung sollte bereits mit der Anforderungsanalyse beginnen und im Entwurf verfeinert werden (V-Modell, Test-First-Ansatz)! +- Typische Bestandteile einer Test-Spezifikation (Testdrehbuch) + - Phasenmodell des Testprozesses + - Zusammenhang zur Anforderungsspezifikation, z.B. dort festgelegte Qualitätsziele + - Zu testende Produkte + - Zeitplan für die Tests + - Abhängigkeiten der Testphasen + - Aufzeichnung der Testergebnisse + - Hardware- und Softwareanforderungen + +Arten von Tests +- Komponententest: Fehler in einzelnen Objekten oder Subsystemen, losgelöst vom umgebenden System + - Umgebung muss nachgebildet werden +- Integrationstest: Zusammenspiel von Komponenten + - Vollständiges System: Systemtest; Szenarios +- Strukturtest: innere Zustände, Interaktionen +- Funktionstest: Anforderungen aus Lastenheft +- Leistungstest: nichtfunktionale Anforderungen +- Benutzbarkeitstest: Fehler in der Benutzungsschnittstelle, Verständlichkeit, Akzeptanz bei Anwendern + - Prototypen +- Akzeptanztest, Installationstest: Kunde, Abnahme + +Komponententests +- Überprüft Verhalten einer Systemkomponenten im Vergleich zur Spezifikation +- Da Tests bereits frühzeitig stattfinden sollten, ist Umgebung meist nicht vollständig implementiert + - Teststumpf (stub, dummy) simuliert aufgerufene Komponenten + - Testtreiber simuliert aufrufende Komponenten +- Vorgehensweisen + - Bottom-up + - Top-down + - Sandwich + - Schichtenweises Testen + +Systematisches Testen +- Testfall + - Beschreibung, Name + - Zu testende Komponente, Testgegenstand (Pfad, Aufrufart) + - Eingabedaten (Testdaten) + - Erwartete Ergebnisse („Orakel“) + - Protokoll (erzeugte Ausgaben) + - Bewertung des Ergebnisses +- Weitere Begriffe + - Regressionstest: erneute Durchführung eines Tests anhand einer geänderten Version des Testgegenstands + - Alphatest: Test eines Prototypen durch Benutzer + - Betatest: Test der vollständigen Software durch Benutzer + +Funktionaler Test (black box test) +- Testfallauswahl beruht auf Spezifikation +- Ohne Wissen über inneren Aufbau +- E/A-Zusammenhang + +Äquivalenzklassen im funktionalen Test +- Problem: alle Kombinationsmöglichkeiten der Eingangsdaten sind zu umfangreich für vollständigen Test +- Mögliche Einschränkung: Bildung von Äquivalenzklassen der Eingangsdaten, für die ähnliches Verhalten erwartet wird +- Basierend auf Anwendungsdomäne +- Äquivalenzklasse = Teilmenge der möglichen Datenwerte der Eingabeparameter +- Test je eines Repräsentanten jeder Äquivalenzklasse +- Finden von Äquivalenzklassen + - Zulässige / unzulässige Teilbereiche der Datenwerte + - Unterteilung der Bereiche nach erwarteten Ausgabewerten + +Grenztests +- Ergänzung von Äquivalenztests: Spezialfälle +- Rand der Äquivalenzklasse +- Außerdem: Sonderfälle, erwartete Problemfälle (technisch) + +Strukturtest (white box test, glass box test) +- Testfallauswahl beruht auf Programmstruktur +- Wie erreicht man möglichst vollständige Abdeckung? +- Kontrollflussorientiert + - Anweisungsüberdeckung anhand Quellcode + - Zweigüberdeckung und + - Pfadüberdeckung anhand des Flussgraphen reduzierte Variante: bounded interior Pfadtest +- Datenflussorientiert + - defines / uses-Verfahren: Abarbeitungspfade von Definition zu jeder Verwendung von Variable oder Objekt durchlaufen +- Zustandsorientiert + ## Testaktivitäten und Werkzeuge + + + ## Softwareverteilung # Vorgehensweise