25. GI-TAV-Treffen 15. Februar 2007 Düsseldorf. Softwareprüfung gestern und heute: Theorie und Erfahrung, Standards und Common Sense



Ähnliche Dokumente
Prof. Dr.-Ing. Peter Liggesmeyer. Qualität Eingebetteter Systeme: Beispiel Sicherheit Die Bedeutung von Standards Die Erfahrung Der Common Sense

Alternative Organisationsformen für das Qualitätsmanagement: Totales Qualitätsmanagement (TQM)

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

Verwendung von OO-Metriken zur Vorhersage

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05

Mean Time Between Failures (MTBF)

Bewertung und Kalibrierung von Maßen. Einsatz und Anwendung von Maßen. Software-Qualitätsexperimente. Software-Qualitätsmessung. Forderungen an Maße

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle

When you can measure what you are speaking about, and express it. measure it, when you cannot express it in numbers, your knowledge

Mitarbeiterbefragung als PE- und OE-Instrument

Software-Validierung im Testsystem

Präsentation DIN-EN 81-1/A1: 2005 DIN-EN 81-2/A1: 2005 (PESSRAL) 15. Juni 2008 VI. Schwelmer Liftsymposium

Grußwort Bundesministerium für Arbeit und Soziales. Produktpiraterie

Ugra Proof Certification Tool

Was meinen die Leute eigentlich mit: Grexit?

Die Invaliden-Versicherung ändert sich

Professionelle Seminare im Bereich MS-Office

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Fachtagung Safety in Transportation Leitfaden für die IT Sicherheit auf Grundlage IEC 62443

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

1. Weniger Steuern zahlen

Was ist Sozial-Raum-Orientierung?

Fragebogen der IG Metall-Jugend zur Qualität der Berufsausbildung

Impulsvortrag auf der 22. TAV; 18. Februar 2005, Bremen Zuordnung von Anforderungen und Tests (Tracing)

Qualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams

Maschinenrichtlinie 2006/42/EG 150 Fragen und Antworten zum Selbststudium

SAFEYTEAMS-Newsletter Nr. 5

Data Mining-Projekte

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Der Schutz von Patientendaten

Nüchtern betrachtet führt jegliche Wissenschaft lediglich zum vorläufig letzten Irrtum. (Kafka)

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Ehrenamtliche weiterbilden, beraten, informieren

Organisation der Qualitätssicherung und des Qualitätsmanagements. Personelle Trennung von Entwicklung und QS. Dokumentation und Auswertung der Prüfung

Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Personalentwicklung. Umfrage zur Personalentwicklung. Februar Cisar - consulting and solutions GmbH. In Zusammenarbeit mit

Software-Entwicklungsprozesse zertifizieren

Fragebogen ISONORM 9241/110-S

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Medizinische elektrische Geräte und Systeme

das usa team Ziegenberger Weg Ober-Mörlen Tel Fax: mail: lohoff@dasusateam.de web:

Cad-OasEs Int. GmbH. 20 Jahre UG/NX Erfahrung prägen Methodik und Leistungen. Nutzen Sie dieses Wissen!

Risikomanagement in der Praxis Alles Compliance oder was?! 1. IT-Grundschutz-Tag

Die Post hat eine Umfrage gemacht

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

IGT-Richtlinie 01: Anforderungen an Smarthome-Systeme

Das Teamrollenmodell nach Meredith Belbin

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!

Der Einsatz von Social Media im Stadtmarketing. Alexander Masser, Hans-Jürgen Seimetz, Peter Zeile

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Leichte-Sprache-Bilder

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anleitung über den Umgang mit Schildern

Software-Qualität Ausgewählte Kapitel

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

OPTIONALES LIEFERUNG AUF USB STICK. Lieferung Ihrer ausgewählten V-IUS SOLUTIONS Anwendung auf USB Stick..

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

B&B Verlag für Sozialwirtschaft GmbH. Inhaltsübersicht

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Was bringt TDD wirklich?

Requirements Engineering für IT Systeme

Leichte Sprache Informationen zum Europäischen Sozialfonds (ESF) Was ist der Europäische Sozialfonds?

ÜBERGABE DER OPERATIVEN GESCHÄFTSFÜHRUNG VON MARC BRUNNER AN DOMINIK NYFFENEGGER

Beitragsentwicklung in Ihrer privaten Krankenversicherung. Vergleich zwischen PKV-Beitrag ohne Sparplan und PKV-Beitrag inkl.

Prozessoptimierung. und. Prozessmanagement

Qualitätssicherung (Testen) im Application Life Cycle

Prüfung elektrischer Anlagen und Betriebsmittel gemäß BGV A3

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Kapitel 10: Dokumentation

Team. das ist ein gutes Team. Landesschulamt Führungsakademie

4.1 Download der App über den Play Store

Testmanagement in IT-Projekten

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Säuglingsanfangsnahrung und Folgenahrung Was ändert sich? Was bleibt?

SWOT Analyse zur Unterstützung des Projektmonitorings

Qualitätsmanagement im Projekt

Über den Link erreichen Sie unsere Einstiegsseite:

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

2. Negative Dualzahlen darstellen

Referent: Mathias Notheis Kontakt:

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

icloud nicht neu, aber doch irgendwie anders

Dipl.-Ing. Herbert Schmolke, VdS Schadenverhütung

Sicherheitsbewertungsbericht

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Managementbewertung Managementbewertung

1 topologisches Sortieren

Organisation des Qualitätsmanagements

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Transkript:

Softwareprüfung gestern und heute: Theorie und Erfahrung, Standards und Common Sense Prof. Dr.-Ing. habil. Peter Liggesmeyer Lehrstuhl Software Engineering: Dependability TU Kaiserslautern Direktor Fraunhofer Institut für Experimentelles Software Engineering (IESE), Kaiserslautern Theorie Praxis Standards Erfahrung Common Sense Prof. Dr. Liggesmeyer, 1 Theorie Testen: Viele alte Techniken, die für viele Softwareentwickler immer wieder neu sind Wenige grundsätzlich neue Theorien in den letzten 15-20 Jahren Leistungsfähigkeit der Techniken schon theoretisch unklar (praktisch erst recht) Theoretisch klar ist die Schwäche, dass Fehler durchschlüpfen können Wird von vielen universitären Forschern als unergiebiges Arbeitsfeld gesehen => wenig Forschung, wenig Lehre dazu => siehe erster Punkt Formale Techniken: Theoretisch ziemlich leistungsfähig, praktisch nicht In der Praxis nur sehr eingeschränkt verwendbar Theoretisch auch nur für sehr eng definierte Anwendungsgebiete Prof. Dr. Liggesmeyer, 2 Seite 1

Theorie Analysetechniken: Datenflussanomalienanalysen, Checken von Konventionen usw. theoretisch einfach Viele Werkzeuge Erstaunliche Ignoranz in der Praxis Quintessenz Theorie: Testen ist theoretisch schwer zugänglich Formales Verifizieren ist theoretisch interesssant, solange stark idealisierte Annahmen über die Rahmenbedingungen gemacht werden Analysieren ist theoretisch trivial Prof. Dr. Liggesmeyer, 3 Praxis Notwendige, minimale Anforderungen an Tests Absolut notwendig entspr. aller maßgeblichen Standards: Funktionsorientierte Testplanung für alle Testphasen Reproduzierbarkeit von Testergebnissen => automatische Regressionstests nach Software-Modifikationen Weitgehender Konsens: Ergänzende strukturorientierte Abdeckung (mindestens Zweigüberdeckungstest) In kritischen Anwendungsbereichen z. B. der Avionik werden darüber hinaus durch Standards explizit gründlichere strukturorientierte Tests gefordert Durchführung möglichst in der ersten Testphase nach Fertigstellung des Codes (Modultest) Zusätzlich Leistungs- und Stresstests insbesondere in technischen Anwendungsbereichen Prof. Dr. Liggesmeyer, 4 Seite 2

Praxis Eine einfache praxisgeeignete Teststrategie Modultest Funktionsorientierter Test der Module unter Verwendung eines Zweigüberdeckungstestwerkzeugs - Funktionsorientierte Testfallerzeugung (z.b. funktionale Äquivalenzklassenbildung) - Vorbereitung - d.h. Instrumentierung - der zu testenden Module zur Kontrolle der erreichten Zweigüberdeckung - Vollständige Durchführung der funktionsorientierten Tests - Kontrolle der auf diese Weise erreichten Zweigüberdeckung (erfahrungsgemäß ca. 70% - 80%) Strukturorientierter Test der Module unter Verwendung des Zweigüberdeckungstestwerkzeugs - Ursachenanalyse für die Nichtausführung von Zweigen - Erzeugung von Testfällen für die noch nicht durchlaufenen Zweige Integrations- und Systemtest Funktionsorientierter Test Prof. Dr. Liggesmeyer, 5 Standards Bedeutung von Standards Standards entscheiden im Zweifelsfall, welche Verfahrensweisen, Methoden und Techniken als Stand der Technik bzw. als Stand von Wissenschaft und Technik zu betrachten sind. Standards und Normen: Keine Rechtsnorm, aber antizipierte Sachverständigengutachten Gesetzliche Regelungen: z.b. Produkthaftungsgesetz, Schadensersatz nach BGB Europäische Richtlinien Haben den Charakter eines Gesetzes, weil sie von den Mitgliedsstaaten zwingend in nationales Recht umzusetzen sind Verordnungen werden meistens von Behörden der Exekutive erlassen und sind in der Regel verbindlich Prof. Dr. Liggesmeyer, 6 Seite 3

Standards Bedeutung von Standards Normung ist in Deutschland die planmäßige, durch die interessierten Kreise gemeinschaftlich durchgeführte Vereinheitlichung von materiellen und immateriellen Gegenständen zum Nutzen der Allgemeinheit. Deutsche Normen werden in einem privatrechtlichen Verein durch interessierte Kreise erstellt (z. B. DIN Deutsches Institut für Normung e.v., Verband Deutscher Elektrotechniker (VDE) e.v.). Standards und Normen sind keine Rechtsnormen. Sie sind im Unterschied zu Gesetzen nicht rechtsverbindlich, aber sie können als antizipierte Sachverständigengutachten verstanden werden. Durch Einhaltung der jeweils relevanten Normen kann ein Hersteller sicherstellen, dass der Stand der Technik erreicht ist, und er damit seine Sorgfaltspflicht erfüllt hat. Prof. Dr. Liggesmeyer, 7 Prozessorientierte Standards Regeln z. B. die Verfahrensweisen, Abläufe, Aufgaben und Verantwortlichkeiten in der Software-Entwicklung und Software- Qualitätssicherung. Im Wesentlichen enthalten sie organisatorische Forderungen. Sie schließen kaum genaue technische Forderungen ein. Beispiele: DIN ISO 9000-Reihe V-Modell ISOIEC 15504 zum Assessment-Verfahren SPICE AQAP-Century-Standards für den militärischen Anwendungsbereich Prof. Dr. Liggesmeyer, 8 Seite 4

Technische Standards Technische Standards können entweder einen bestimmten Anwendungsbereich betreffen z. B. Luftfahrt oder Schienenverkehr oder auf bestimmte Arten von Systemen anwendbar sein, die in einer Vielzahl von Anwendungsbereichen auftreten können. Enthalten oft explizite Regelungen der einzusetzenden Techniken Beispiele: IEC 61508 IEC 61508 98 ist ein sehr umfassender Standard zum Thema Sicherheit elektrisch bzw. elektronisch programmierbarer, sicherheitskritischer Systeme. Software wird insbesondere in der IEC 61508-3 behandelt. Der Standard DIN EN 50128 DIN EN 50128 01 ist für die Anwendung auf Schienenverkehrssysteme vorgesehen. Der Standard RTCADO-178B 92 betrifft Software-Anforderungen im Bereich der Avionik. Prof. Dr. Liggesmeyer, 9 Standards und Softwareprüfung Alle Standards betonen die Bedeutung des funktionorientierten Testens Viele Standards enthalten explizite Regelungen der einzusetzenden Techniken DIN EN 50128 erzwingt die Nutzung von Kodierkonventionen für C RTCA DO-178 B regelt explizit die einzusetzenden strukturorientierten Testtechniken in Abhängigkeit der Kritikalität Prof. Dr. Liggesmeyer, 10 Seite 5

Erfahrung Fenton, Ohlsson 00 Basili, et al. 96 Cartwright, Shepperd 00 Basili, Perricone 84 Abreu, Melo 96 Wenige Module enthalten die Mehrzahl der Fehler. (+) Wenige Module erzeugen die meisten Ausfälle. Viele Fehler im Modultest bedeuten viele Fehler im Systemtest. + Viele Fehler im Test bedeuten viele Ausfälle im Feld. -- Fehlerdichten korrespondierender Phasen sind über Releases hinweg konstant. + Umfangsmaße sind geeignet zur Fehlerprognose. + + - : starke Bestätigung; +: schwache Bestätigung; 0: keine Aussage; -: schwache Ablehnung; -- starke Ablehnung; : nicht evaluiert;?: unklar Prof. Dr. Liggesmeyer, 11 Erfahrung Erkenntnisse I Fehler sind über die Module einer Software nicht gleichmäßig verteilt, sondern konzentrieren sich in einigen wenigen Modulen Diese Module erzeugen den größten Teil der Probleme Großer Modulumfang bedeutet nicht zugleich hoher Fehlergehalt Viele erkannte Probleme im Test bedeuten nicht, dass eine Software in der Praxis Qualitätsmängel zeigt Es scheint Regeln zu geben, die dafür sorgen, dass aufeinander folgende Entwicklungen ähnliche Ergebnisse liefern Frage: Wie können die wenigen besonders fehlerhaften Module erkannt werden? Prof. Dr. Liggesmeyer, 12 Seite 6

Erfahrung Fenton, Ohlsson 00 Basili, et al. 96 Cartwright, Shepperd 00 Basili, Perricone 84 Abreu, Melo 96 Code-Komplexitätsmaße sind geeignete Mittel zur Fehlerprognose. besser als Umfangsmaße: - besser als Umfangsmaße: - WMC: + DIT: RFC: NOC:? WMC: DIT: RFC: NOC:? MHF: + AHF: 0 MIF: + AIF: (+) CBO: CBO: POF: + LCOM: 0 LCOM: COF: Objektorientierte Maße: WMC (Weighted Methods per Class) DIT (Depth of Inheritance Tree) NOC (Number Of Children) CBO (Coupling Between Object-classes) RFC (Response For a Class) LCOM (Lack of Cohesion on Methods) MHF: Method Hiding Factor AHF: Attribute Hiding Factor MIF: Method Inheritance Factor AIF: Attribute Inheritance Factor POF: Polymorphism Factor COF: Coupling Factor Prof. Dr. Liggesmeyer, 13 Erkenntnisse II Einzelne einfache Komplexitätsmaße (z.b. McCabe zyklomatische Zahl) funktionieren nicht besser als Umfangsmaße (z.b. LOC) Spezifischere Komplexitätsmaße zeigen oft eine gute Prognosequalität für den Fehlergehalt Schlussfolgerung: Eine geeignete Kombination von geeigneten Komplexitätmaßen gestattet eine gezielte Identifikation der fehlerhaften Module Prof. Dr. Liggesmeyer, 14 Seite 7

Erfahrung Fenton, Ohlsson 00 Basili, et al. 96 Cartwright, Shepperd 00 Basili, Perricone 84 Abreu, Melo 96 Modellbasierte (Shlaer- Mellor) Maße sind geeignet zur Fehlerprognose. Events: Modellbasierte Maße sind geeignet zur Prognose des Codeumfangs. States: Prof. Dr. Liggesmeyer, 15 Erkenntnisse III Aus Softwareentwürfen können Messwerte gewonnen werden, die es gestatten, Codeumfänge und Fehlergehalte frühzeitig zu prognostizieren Prof. Dr. Liggesmeyer, 16 Seite 8

Common Sense zur Softwareprüfung Wir haben eine beachtliche Diskrepanz zwischen Theorie und Praxis Standards unterstreichen die praktische Bedeutung von Softwareprüfungen unter Nichtbeachtung der mäßigen Theorie Eine Aufarbeitung der theoretischen Seite ist nicht in Sicht Die praktische Bedeutung wird eher zunehmen Man muss heute zwingend die potentiell relevanten Standards kennen Es gibt einige interessante empirische Erkenntnisse, die man nicht ignorieren sollte => viel Unsinn aus der Vergangenheit ist heute widerlegt Prof. Dr. Liggesmeyer, 17 Literatur Abreu, Melo 96 Abreu F., Melo W., Evaluating the Impact of Object-Oriented Design on Software Quality, Proc. Metrics 96, pp. 90-99 Basili et al. 96 Basili V., Briand L.C., Melo W.L., A Validation of Object-Oriented Design Metrics as Quality Indicators, IEEE Transactions on Software Engineering, Vol. 22, No. 10, October 1996, pp. 751-761 Basili, Perricone 84 Basili V.R., Perricone B.T., Software Errors and Complexity: An Empirical Investigation, Communications of the ACM, Vol. 27, No. 1, January 1984, pp. 42-52 Cartwright, Shepperd 00 Cartwright M., Shepperd M., An Empirical Investigation of an Object-Oriented Software System, IEEE Transactions on Software Engineering, Vol. 26, No. 8, August 2000, pp. 768-796 Fenton, Ohlsson 00 Fenton N., Ohlsson N., Quantitative Analysis of Faults and Failures in a Complex Software System, IEEE Transactions on Software Engineering, Vol. 26, No. 8, August 2000, pp. 797-814 Prof. Dr. Liggesmeyer, 18 Seite 9