I. Murphy s Gesetze (Murphy s laws) Urheber:

Ähnliche Dokumente
1. Murphy s Law Murphy s Gesetz

Ariane 5 - Luftfahrt Berühmt-berüchtigte Software-Fehler

Vorlesung "Praktische Softwaretechnik

1.6 Wege aus der Softwarekrise

Proseminar Software Desaster. ARIANE 5 Absturz des Flugs 501

AG Software Engineering - Prozesse & Messen - Fraunhofer Institut für Experimentelles SW Engineering (IESE) Prof. Dr. Dieter Rombach (Geb. 32, 4.

extern, also zwischen Menschen intern, also im internen Kommunikationsprozess bei der Transformation

Einführung und Einteilung. Software Engineering 1. Book. Pieter van den Hombergh. 5. Februar Vor allem: Testen!

Erster Bug: eine Motte

Software-Qualität messen und bewerten: Theorie und Empirie. Prof. Dr.-Ing. habil. Peter Liggesmeyer

Das folgende Beispiel zeigt die verwendete Nomenklatur für den absoluten Pfad für den Ordner Zubehör aus obiger Abbildung. C:\Programme\Zubehör

Di 6.3. Softwarefehler im All Qualitätssicherung bei missionskritischen Systemen. Hans-Joachim Popp

Informatik I - Programmierung Globalübung Hoare-Kalkül. Thomas Weiler. Fachgruppe Informatik RWTH Aachen. T. Weiler, RWTH Aachen - 1 -

Fachgruppe Praktische Informatik

Killy Literaturlexikon: Autoren Und Werke Des Deutschsprachigen Kulturraumes 2., Vollstandig Uberarbeitete Auflage (German Edition)

Programmieren in Haskell Debugging

PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB

The English Tenses Die englischen Zeitformen

1. Hello, I m Francis Docherty. a. No, sorry. I m not. 2. I m sorry. What was your b. I don t think he

Informatik I Debugging

Wer bin ich - und wenn ja wie viele?: Eine philosophische Reise. Click here if your download doesn"t start automatically

SI-SE Testen in der Softwareentwicklung

Aus FanLiebe zu Tokio Hotel: von Fans fã¼r Fans und ihre Band

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1

Level 2 German, 2015

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

AT&T Ausfall des Telefonnetzes in den USA. von Jörg Sesterhenn

Einführung und Einteilung

Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten. Click here if your download doesn"t start automatically

Testen Prinzipien und Methoden

Objektorientiertes Testen und Testautomatisierung in der Praxis

Grundlagen der Programmierung in C++ Kontrollstrukturen

"Die Bundesländer Deutschlands und deren Hauptstädte" als Thema einer Unterrichtsstunde für eine 5. Klasse (German Edition)

Vorkurs Informatik WiSe 16/17

Grundlagen der Theoretischen Informatik

Aus FanLiebe zu Tokio Hotel: von Fans fã¼r Fans und ihre Band

COMPUTER: Mission Berlin. November 9, 2006, ten twenty am. You've got two lives and 95 minutes left. What does the message mean?

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Pressglas-Korrespondenz

Selbstbild vs. Fremdbild. Selbst- und Fremdwahrnehmung des Individuums (German Edition)

DOWNLOAD. Englisch in Bewegung. Spiele für den Englischunterricht. Britta Buschmann. Downloadauszug aus dem Originaltitel:

Cycling and (or?) Trams

Informatik I Debugging

Trickschule für Hunde: Kunststücke leicht erlernen (Cadmos Hundebuch) (German Edition)

Qualitätssicherung von Software

Prepositions are words that give information to the reader. Vorwörter geben dem Leser Informationen.

Can I use an older device with a new GSD file? It is always the best to use the latest GSD file since this is downward compatible to older versions.

Algorithmen und Datenstrukturen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Programmierprojekt: So0ware Tests. Anne6e Bieniusa Sommersemester 2017

Software Engineering. Produktqualität - Dynamische Testverfahren

Warum ist Ariane 5 beim Erstflug explodiert?

Sinn und Aufgabe eines Wissenschaftlers: Textvergleich zweier klassischer Autoren (German Edition)

NVR Mobile Viewer for iphone/ipad/ipod Touch

5. Strukturierte Programmierung

Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition)

FEBE Die Frontend-Backend-Lösung für Excel

Harry gefangen in der Zeit Begleitmaterialien

Wie man heute die Liebe fürs Leben findet

p^db=`oj===pìééçêíáåñçêã~íáçå=

Konkret - der Ratgeber: Die besten Tipps zu Internet, Handy und Co. (German Edition)

DIBELS TM. German Translations of Administration Directions

Software Engineering II (IB) Testen von Software / Modultests

Software Entwicklung 2. Motivation

Software Engineering. Ariane Flug 501! Fallstudie

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Irren ist menschlich. aber für schwere Fehler braucht man einen Computer. Warum die Ariane-5-Rakete verglühte

ETHISCHES ARGUMENTIEREN IN DER SCHULE: GESELLSCHAFTLICHE, PSYCHOLOGISCHE UND PHILOSOPHISCHE GRUNDLAGEN UND DIDAKTISCHE ANSTZE (GERMAN

Diabetes zu heilen natürlich: German Edition( Best Seller)

FAHRZEUGENTWICKLUNG IM AUTOMOBILBAU FROM HANSER FACHBUCHVERLAG DOWNLOAD EBOOK : FAHRZEUGENTWICKLUNG IM AUTOMOBILBAU FROM HANSER FACHBUCHVERLAG PDF

Planning a trip to California

CABLE TESTER. Manual DN-14003

DAS ERSTE MAL UND IMMER WIEDER. ERWEITERTE SONDERAUSGABE BY LISA MOOS

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Schachaufgabe 37: Schachma in 2 Zügen Chess Problem 37: Checkmate in 2 Moves. Stufe / Level: 5

Hazards and measures against hazards by implementation of safe pneumatic circuits

Martin Luther. Click here if your download doesn"t start automatically

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Evaluation der Leistungsfähigkeit ausgewählter Mutationstestwerkzeuge

Max und Moritz: Eine Bubengeschichte in Sieben Streichen (German Edition)

BRITISH TEENAGERS TALKING ABOUT WHAT THEY EAT

Harry gefangen in der Zeit Begleitmaterialien

USB Treiber updaten unter Windows 7/Vista

Teil 2.2: Lernen formaler Sprachen: Hypothesenräume

English grammar BLOCK F:

Grundlagen der Künstlichen Intelligenz

1.1 Was ist KI? 1.1 Was ist KI? Grundlagen der Künstlichen Intelligenz. 1.2 Menschlich handeln. 1.3 Menschlich denken. 1.

Level 1 German, 2011

Kreuzfahrt Madeira und Kanaren: Der praktische Reifeführer für Ihren Inseltrip (Inseltrip by arp) (German Edition)

Zusammenfassung der Testarten

Uhrenbeweger Watch winders. Crystal

Requirement: Klar und testbar!

Die einfachste Diät der Welt: Das Plus-Minus- Prinzip (GU Reihe Einzeltitel)

Was heißt Denken?: Vorlesung Wintersemester 1951/52. [Was bedeutet das alles?] (Reclams Universal-Bibliothek) (German Edition)

Software Engineering I Prof. Dr. Martin Glinz. Fallstudie: Ariane Flug 501. Universität Zürich Institut für Informatik

Mark Scheme (Results) Summer 2007

Wozu dient ein Logikanalysator?

Outline. 5. A Chance for Entrepreneurs? Porter s focus strategy and the long tail concept. 6. Discussion. Prof. Dr. Anne König, Germany,

Die "Badstuben" im Fuggerhaus zu Augsburg

Stromzwischenkreisumrichter Current Source Inverter (CSI)

Transkript:

I. Murphy s Gesetze (Murphy s laws) Urheber: 1949 von Air Force Captain Edward A. Murphy Anlass: Fehlerhafte Messwertaufnahme bei Raketenschlittenexperiment Kommentar zum veranwortlichen Techniker: "If there is any way to do it wrong, he'll find it." Abb.: Der Testpilot wird auf den Raketenschlitten geschnallt Hans Schorsack Folie 1/1 29.06.04

Murphy s Law: Top Five 1. If anything can go wrong, it will 2. If there is a possibility of several things going wrong, the one that will cause the most damage will be the one to go wrong 3. If anything just cannot go wrong, it will anyway 4. If you perceive that there are four possible ways in which something can go wrong, and circumvent these, then a fifth way, unprepared for, will promptly develop 5. The hidden flaw never stays hidden for long Hans Schorsack Folie 2/2 29.06.04

II. Die teuersten Softwarefehler Der Vorreiter: die US-Raumsonde Mariner 1 Start der ersten amerikanischen Venussonde am 22.Juli 1962 Absturzursache: Ausschnitt aus dem FORTRAN-Programm zur Steuerung der Flugbahn: DO 5 K = 1. 3... 5 CONTINUE Entscheidender Fehler: Punkt statt Komma! Vom Compiler interpretiert als: DO5K = 1.3 Nicht erkannt als Schleife, sondern als Variablenzuweisung Hans Schorsack Folie 3/3 29.06.04

Der jüngste Nachfolger: Mars Climate Orbiter Start am 11.09.1998 Ziele: Erreichen der Mars- Umlaufbahn Kartograhpieren der Mars- Oberfläche Absturzursache: Angesteuerte Umlaufbahn war 170 km tiefer als geplant Hans Schorsack Folie 4/4 29.06.04

Das teuerste Feuerwerk der EU-Raumfahrtsgeschichte: Die Trägerrakete Ariane 5 Jungfernflug der europäischen Trägerrakete am 4. Juni 1996 Mit an Bord: 4 Cluster-Satelliten Absturzursache: vorher Überlauf bei Umwandlung einer Fliesskommazahl in eine Ganzzahl Auszug aus dem Ada-Programm des Trägheits-Navigationssystems:... declare vertical_veloc_sensor: float; horizontal_veloc_sensor: float; vertical_veloc_bias: integer; horizontal_veloc_bias: integer;... Hans Schorsack Folie 5/5 29.06.04

begin declare pragma suppress(numeric_error, horizontal_veloc_bias); begin sensor_get(vertical_veloc_sensor); sensor_get(horizontal_veloc_sensor); vertical_veloc_bias := integer(vertical_veloc_sensor); horizontal_veloc_bias := integer(horizontal_veloc_sensor);... exception when numeric_error => calculate_vertical_veloc(); when others => use_irs1(); end; end irs2; Sprengung 39 Sekunden nach der Zündung Geschätzte Gesamtkosten: 1700 Millionen DM nachher Hans Schorsack Folie 6/6 29.06.04

Automatisierungstechnik bei der Bundesbahn: Das Eisenbahn-Stellwerk Altona Absturz des Systems 13.3.1995 Stellwerk muss geschlossen werden Das Denver-Koffer-Debakel: Denver Airport Gepäcksystem Eröffnung um 16 Monate verspätet Zerquetschte und verlorene Koffer Sortierung von Hand notwendig Hans Schorsack Folie 7/7 29.06.04

Zurück ins Mittelalter: Der US-Stromausfall von 2003 Acht Staaten sind für fünf Tage ohne Strom Ursache: Fehler in Managementsoftware führt zu Überlastung der benachbarten Stromnetze Kommunikationsprobleme: Ausfall des AT&T- Telefonnetzes am 15.01.1990 Neun Stunden lang kann ein Grossteil der Ferngespräche nicht vermittelt werden Hans Schorsack Folie 8/8 29.06.04

III. Die theoretischen Grundlagen Einfaches Beispiel: Ermittlung von Tag, Monat und Jahr anhand des Systemdatums (z.b. Montag, der 28.Juni 2004 ). Modul 1 hole_datum Modul 2 ermittle_jahr Modul 3 ermittle_monat Modul 4 ermittle_tag Hans Schorsack Folie 9/9 29.06.04

1. Top-down versus Bottom-up-Strategie beim Modultest 1.1. Bottom up Module werden isoliert getestet Treiberprogramme (driver) werden benötigt driver_modul 2 driver_modul 2 driver_modul 3 driver_modul 4 Modul 1 hole_datum Modul 2 ermittle_jahr Modul 3 ermittle_monat Modul 4 ermittle_tag + Beobachtung der Ergebnisse einfach - Programm wird nicht als Ganzes geprüft Hans Schorsack Folie 10/10 29.06.04

1.2. Top down Untermodule werden zunächst durch Platzhalter ersetzt und inkrementell wieder eingefügt Modul 1 hole_datum Modul 2 ermittle_jahr stub_modul3 stub_modul 4 + Fehler im obersten Modul werden besser erkannt - Beobachtung der Ergebnisse schwieriger Hans Schorsack Folie 11/11 29.06.04

2. Der White-Box-Test Der gesamte Programmcode ist dem Tester bekannt Testkriterium: Ausführung möglichst jeden Programmpfades beim Testen Liste der Testabdeckungen: C0 Alle Anweisungen in einem Modul werden ausgeführt. C1 Alle Segmente eines Moduls oder Programms werden mindestens einmal ausgeführt. Es werden also alle Pfade durch das Programm wenigstens einmal durchlaufen. C1+ Alle Programmsegmente werden wie bei C1 mindestens einmal ausgeführt. Zusätzlich wird bei Schleifen mit den Extremwerten getestet. C1p Alle Programmsegmente werden mindestens einmal ausgeführt. Darüber hinaus wird bei jedem logischen Ausdruck so getestet, dass der Code be jeder logischen Bedingung zumindest einmal ausgeführt wird. C2 Alle Programmsegmente werden wenigstens einmal ausgeführt. Bei Schleifen muss so getestet werden, dass Schleife 1. nicht ausgeführt wird, 2. mit einem niederen Wert des Schleifenzählers getestst wird und 3. mit einem hohen Wert des Schleifenzählers getestet wird. Cik Alle Programmsegmente werden mindestens einmal ausgeführt. Darüber hinaus werden alle Schleifen in dem Modul oder Programm für die Werte i bis k ausgeführt, wobei i = 1,2,3...k Ct Die Kombination aller möglichen Pfade wird durch White Box Test abgedeckt Hans Schorsack Folie 12/12 29.06.04

3. Der Black-Box-Test Der Tester beurteilt nur die Funktion, ohne den Aufbau zu kennen 1. Ein Programmierer sollte nie versuchen, sein eigenes Programm zu testen 2. Das Testen von Software ist ein Experiment 3. Das Testen ist definiert als die Ausführung eines Programms mit der erklärten Absicht, Fehler zu finden 4. Definition der erwarteten Ergebnisse vor dem Beginn des Tests 5. Die Wahrscheinlichkeit, in der näheren Umgebung eines bekannten Fehlers weitere zu finden, ist überproportional hoch Hans Schorsack Folie 13/13 29.06.04

4. Der Gray-Box-Test Mischung aus White und Black Box Tester kennt in groben Zügen die Impementierung Vorteile bei Kompatibilitätstests, grösserer Überblick Hans Schorsack Folie 14/14 29.06.04

5. Die wichtigsten Testausprägungen 5.1. Der Funktionstest 5.2. Der Volume-Test 5.3. Der Stress-Test 5.4. Speicherverbrauch und Auslastung des Prozessors Hans Schorsack Folie 15/15 29.06.04

5.5. Recovery Testing 5.6. Der Mutationstest 5.7. Benchmarks 5.8. Der Test von Prozeduren und Verfahren Hans Schorsack Folie 16/16 29.06.04

5.9. Configuration Testing 5.10. Usability Testing 5.11. Überprüfung von Dokumenten 5.12. Der Systemtest Hans Schorsack Folie 17/17 29.06.04

6. Test-Automation Vermeidung von für den Benutzer langwierigen und ermüdenden Tests Automatisierte Testabläufe ohne Benutzereingriff möglich Testläufe lassen sich auf verschiedenen Rechnerkonfigurationen wiederholen Hans Schorsack Folie 18/18 29.06.04

Quellmaterial: 1. Georg Erwin Thaller Software-Test: Verifikation und Validation 2. Murphy s Laws: http://www.murphys-laws.com/ 3. Mars Climate Orbiter: http://wwwzenger.informatik.tu-muenchen.de/lehre/seminare/ semsoft/unterlagen_02/erdfern/website/mco.html 4. Kleine BUGs, grosse GAUs: http://wwwzenger.informatik.tu-muenchen.de/~huckle/bugs.html 6. Software Reliability: http://www-aix.gsi.de/~giese/swr/allehtml.html Hans Schorsack Folie 19/19 29.06.04