Qualitätssicherung von Software (SWQS)

Slides:



Advertisements
Ähnliche Präsentationen
Qualitätssicherung von Software (SWQS)
Advertisements

Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software
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 : Software Model Checking.
Qualitätssicherung von Software
Qualitätssicherung von Software
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Das Capability Maturity Modell (CMM)
ISO - Normen Inhalt Qualität im SE Der ISO 9000-Ansatz
Das Capability Maturity Modell (CMM)
Capability Maturity Model
Warum Prüfen oft 50 mal länger dauert als Lesen
Software-Reviews Erfahrungsbericht aus dem Projektgeschäft
Reviews - richtig durchgeführt Version 2006 Peter Rösler 1 Ein Dokument mit 2 Methoden geprüft Anzahl Reviewer Inspektionsrate in.
Reviews Definition Ziele Teilnehmer Ablauf Ergebnisse.
Review-Techniken GI Regionalgruppe Nordhessen Peter Rösler Softlab GmbH 1 Software-Reviews Erfahrungsbericht aus dem Projektgeschäft.
Review-Techniken GI Regionalgruppe Nordhessen Peter Rösler Softlab GmbH 1 Merkmale 1- 5 von Fagans Inspektionsmethode 1.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Mehr Qualität und schnellere Marktreife durch effiziente Softwaretests
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Don`t make me think! A Common Sense Approach to Web Usability
IT-Projektmanagement SS 2013 Prof. Dr. Herrad Schmidt
relative Kosten, um einen Fehler zu korrigieren
Clean Code Software-Entwicklung als Handwerkskunst Thomas Nagel, November 2011.
Qualitätssicherung und -management von IT-Projekten
Deutsch Zwei Guten Tag! Heute ist FREITAG!!!!!! Die Sinnfrage: Wie fühlst du dich?? Die Ziele: You will discuss what you do/dont.
Software-Qualitätssicherung UE h Inst. f. Softwaretechnik und Interaktive Systeme Anrechenbarkeit: Bakk. 526 Wirtschaftsinformatik KfK Software.
Universität StuttgartInstitut für Wasserbau, Lehrstuhl für Hydrologie und Geohydrologie Copulas (1) András Bárdossy IWS Universität Stuttgart.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Noch mehr Funktionen Prof. Dr. Dörte Haftendorn, Leuphana Universität Lüneburg,
Die Fragen Wörter Wer? Was? Wann?.
1 Bauhaus-Universität Weimar ArchitekturProgrammierung Generative Entwurfsmethoden Processing Grundlagen Professur Informatik in der Architektur.
Weg mit Fehlern, die kein Entwickler versteht …
Synchronization: Multiversion Concurrency Control
Stephanie Müller, Rechtswissenschaftliches Institut, Universität Zürich, Rämistrasse 74/17, 8001 Zürich, Criminal liability.
Arbeiten in einem agilen Team mit VS & TFS 11
E STUNDE Deutsch AP. Donnerstag, der 9. Mai 2013 Deutsch AP (E Stunde)Heute ist ein G Tag Goal: to understand authentic written text, audio material and.
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
How does the Summer Party of the LMU work? - Organizations and Networks -
E STUNDE Deutsch AP. Dienstag, der 28. Mai 2013 Deutsch AP (E Stunde)Heute ist ein E Tag Goal: to understand authentic written text, audio material and.
1 Konica Minolta IT Solutions Prinzip Partnerschaft MANAGED MONITORING ÜBERWACHJUNG DER SERVERINFRASTRUKTUR UND ANWENDUNGEN DIREKT AUS DER CLOUD.
Probesystem Gym 4 Prüfungen pro Schuljahr, in der 2. Klasse 4 ½ Prüfungen. Jeweils ganze Lektion, keine Fragemöglichkeit am Anfang der Prüfungslektion.
Montag den 8. Juni Lernziel:- To launch a project and receive results.
Deepening Topics QM in Clinical studies.
EUROPÄISCHE GEMEINSCHAFT Europäischer Sozialfonds EUROPÄISCHE GEMEINSCHAFT Europäischer Fonds für Regionale Entwicklung Workpackage 5 – guidelines Tasks.
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Kapitel 7 Grammar INDEX 1.Comparison 2.Adjectives 3.Adjective Endings Following Ein-Words.
Kapitel 8 Grammar INDEX 1.Command Forms: The Du-Command Form & Ihr- Command 2.Sentences & Clauses.
E STUNDE Deutsch AP. Donnerstag, der 30. Mai 2013 Deutsch AP (E Stunde)Heute ist ein G Tag Goal: to understand authentic written text, audio material.
EUROPÄISCHE GEMEINSCHAFT Europäischer Sozialfonds EUROPÄISCHE GEMEINSCHAFT Europäischer Fonds für Regionale Entwicklung Workpackage 5 – guidelines Tasks.
Kapitel 9 Grammar INDEX 1.Formal Sie- Command 2.There Is/There Are 3.Negation: Nicht/Klein.
ENVIRONMENT PROBLEMS What can I do? Pineapples Traffic  Use public vehicles  Use more bike and go by walking  There should be a filter in every car.
(Name of presenter) (Short title of presentation).
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
Linde AG : Transparent data enable efficient plant engineering
Software Configuration Manager (f/m)
The dynamic ultrasound
Process and Impact of Re-Inspection in NRW
Adjectival Nouns.
IT QM Part2 Lecture 7 PSE GSC
The Conversational Past
The Conversational Past
Titel Untertitel Alle Autoren bestätigen, dass keinerlei Interessenskonflikt vorliegt. Erfurt, DGAUM Jahrestagung,
Ich - Projekt Due Monday, September 19..
School supplies.
Titel Untertitel Alle Autoren bestätigen, dass keinerlei Interessenskonflikt vorliegt. München, DGAUM Jahrestagung,
 Präsentation transkript:

Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 18.6.2013: Reviews

Fragen zur Wiederholung Welche Produktmaße kennen Sie für prozedurale Sprachen für objektorientierte Sprachen? Was misst die Halstead-Metrik Wie ist die zyklomatische Zahl definiert, was besagt sie? Pro und Contra Coding-Rules?

Wo stehen wir? Einleitung, Begriffe, Software-Qualitätskriterien Testverfahren, Teststufen, Testüberdeckung automatisierte Testfallerstellung Verifikation und Validierung, Modellprüfung statische und dynamische Analysetechniken Softwarebewertung, Softwaremetriken Codereview- und andere Inspektionsverfahren Zuverlässigkeitstheorie, Fehlerbaumanalyse Qualitätsstandards, Qualitätsmanagement, organisatorische Maßnahmen

Software-Reviews Verschiedene Arten Formales (Design) Review programprog ramprogramprogr amprogramprogram program BUG progr amprogramprogra mprogramprogr ampro Verschiedene Arten Formales (Design) Review Statusreport, Hearing Audit, Begehung Entscheidungsgremium entscheidet nach Aktenlage, Vortrag und Anhörung über Fortsetzung der Arbeit Peer Review Walkthrough (Fagan) Inspektion Gutachter beraten das Entwicklungsteam über Verbesserungsmöglichkeiten

Wozu ist manuelle QS notwendig? Abgleich mit den ursprünglichen Zielen z.B. substantielle Notwendigkeit versus Korrektheit von Modulen (statische Analysen) Aufzeigen von inhaltlichen (nichtformalen) Fehlern z.B. intuitive Bedeutung versus textuelle Gestalt eines Identifiers (Codierstandards) Verbesserung von Lesbarkeit und Verständlichkeit externe Beratung „Faktor Mensch“ Kommunikation, Lernen oft einzige Möglichkeit

Capability Maturity Model (CMM) Level Focus Key Process Areas Level 5 Optimizing Level 4 Managed Level 3 Defined Level 2 Repeatable Level 1 Initial Continuous improvement Process Change Management Technology Change Management Defect Prevention Product and process quality Software Quality Management Quantitative Process Management Organization Process Focus, Org. Process Definition Peer Reviews, Training Program Intergroup Coordination, SW Product Engineering Integrated Software Management Engineering process Reifegradmodell. Capability Maturity Model (SW-CMM or CMM) for Software by the Software Engineering Institute (SEI). www.wa.gov/DIS/PMM/tr25/tr25_l3g.html : The purpose of Peer Reviews is to remove defects from the software work products early and efficiently. Folie zuletzt geändert am: 26.05.02 (animiert), 30.12.00 (neu erstellt), Notizen zuletzt geändert am: 26.12.01 Requirements Management, SW Project Planning SW Project Tracking and Oversight SW Subcontract Management, SW Quality Assurance SW Configuration Management Project management Heroes No KPAs at this time Source: www.software.org/quagmire/descriptions/sw-cmm.asp

Ziele eines Peer Reviews Entdeckung von Design- und Analysefehlern in den zu untersuchenden Dokumenten Aufzeigen von Risiken, die den Projektfortschritt beeinträchtigen könnten Lokalisierung von Abweichungen gegenüber externen und internen Vorgaben und Richtlinien Bewertung bzw. Verbesserung der Qualität der Artefakte Kommunikationsmöglichkeit für die Beteiligten Datenbasis von Befunden für künftige Projekte

Artefakte für den Review Jedes Artefakt, welches als Ergebnis eines Entwicklungszyklusses vorliegt, kann per Review bewertet werden: Anforderungsbeschreibung, Vermarktungsplan Entwicklungsplan, Ressourcenverteilung Entwurfsdokumente (Grob/Feinarchitektur) Algorithmen und Datenstrukturen, Code Testpläne, Testergebnisse Manuale, Handbücher, Versions- und Releasedokumente Wichtig: es muss eine stabile Version des Artefakts vorliegen

Teilnehmer Formales Review Peer Review Entscheidungsträger Schriftführer und Review-Team dürfen nicht mit dem Projekt zu tun haben Autor(en) des Artefakts Sachbearbeiter, Chef des Entwicklungsteams, … Peer Review externe Berater: Designer, Implementierer, Tester, Benutzer, Qualitätsbeauftragter, Produktlinienmanager, … Schriftführer sollte Erfahrung mit Reviews und Moderation haben Autor(en) Optimale Größe: 3-5 Reviewer + Autor(en), optimale Zeitdauer: 2h (max. 2 mal pro Tag)

Durchführung Review Präsentation des Dokuments Kommentare des Review-Teams Diskussion der einzelnen Kritikpunkte Ergebnis Formales Review: Beratung mit Entscheidung über Fortführung, bedingte Fortführung oder Ablehnung (mit Begründung) Peer Review: Eintrag der gefundenen „Issues“ in Defektverfolgungssystem, Protokoll der Sitzung für künftige Projekte

Inspektionsprotokoll

Walkthrough und Inspektion Walkthrough: „geführtes Vorlesen vor aufmerksamem Publikum“ detaillierte Erklärung durch den Autor keine bzw. minimale Vorbereitung der Reviewer gemeinsames Verständnis als Hauptziel Inspektion: „Frage- und Antwortstunde“ Vorbereitung von Fragen durch Reviewer (3:1) (anhand Checklisten, 30-90% individuelle Findungen) Beantwortung durch Autor so weit möglich Inspektion ist aufwändiger aber effektiver!

Fagan’s Inspektionsmethode 1. überall im Entwicklungsprozess 2. alle Arten von Fehlern 3. ohne big boss 4. mehrere Einzelschritte 5. Checklistenbasiert 6. max. 2 Stunden 7. Rollen werden zugewiesen 8. trainierter Moderator 9. Statistiken werden geführt 10. Inspektionsrate wird einhalten

Checklisten essenziell für die Vorbereitung des Reviews selbe Form, aber deutlich andere Schwerpunktsetzung als Codierrichtlinien sind vor Beginn der Entwicklung bekannt, werden den Reviewern bekannt gemacht dienen als Richtlinie bei der Durchführung des Reviews Kategorisierung der Defekte, Fokus auf Probleme mit hohen ökonomischen Auswirkungen!

Erfahrungen richtig angewandt, sind Reviews ein extrem effizientes Mittel der QS Angaben aus der Literatur: An AT&T Bell Laboratory project with 200 professionals instituted several changes, including inspections. Productivity improved by 14% and quality by a factor of ten. Aetna Insurance Company: inspections found 82% of errors in a COBOL program, productivity was increased by 25%. Another COBOL example (Gilb, Software Metrics): 80% of the development errors were found by inspections, productivity was increased by 30%.

Relative Fehlerbehebungskosten Das ist der klassische Lebenslauf eines major defects! Obige Daten der Standard Chartered Bank passen gut zu den Daten einer Analyse von 63 Projekten in Boehm, 1981, Software Engineering Economics. Folie zuletzt geändert am: 26.12.01 (Rechtschreibfehler), 16.09.99 Source: Tom Gilb, Software Engineering Management, Daten der Standard Chartered Bank

Inspektionsrate und Ergebnisprotokoll für Programme: 100 – 150 NLOC / h (1-2 Seiten / h) für Textdokumente Gilb/Graham: ca. 1 Seite / h Strauss/Ebenau: 3 – 5 Seiten / h Zum Vergleich: „Rechtschreibfehler-Leserate“ beträgt ca. 7 – 25 Seiten / h höhere Rate, falls es sich bloß um eine Überprüfung handelt Ergebnisprotokoll Dokument wird geprüft, nicht der Autor! keine Diskussion von Fehlern und Lösungswegen hohe Protokollrate (zum Teil mehr als 1 Eintrag pro Minute)

Defektaufdeckungs- und Inspektionsrate 15 12 9 6 3 20 40 60 80 100 Defect density (defects/page) Inspection rate (pages/hour)  maximal 2-5 Seiten pro Stunde! „Bereich der Illusion von QS“. Nicht ungerecht sein ... 60 * 1 = 10 * 6 Gilb/Ebenau/Leserate einzeichnen Folie zur Seite legen Folie zuletzt geändert am: 18.09.99 Source: Tom Gilb, Denise Leigh Software Inspection p 334, 230 inspections of Sema Group (GB)

Checklisten für Codereviews Beispiel: Java Code Inspection Checklist von Christopher Fox Variable and Constant Declaration Defects Are descriptive variable and constant names used in accord with naming conventions? Are there variables with confusingly similar names? Is every variable properly initialized? Could any non-local variables be made local? Are there literal constants that should be named constants? Are there macros that should be constants? Are there variables that should be constants?

Function Definition Defects (FD) Are descriptive function names used in accord with naming conventions? Is every function parameter value checked before being used? For every function: Does it return the correct value at every function return point? Class Definition Defects (CD) Does each class have an appropriate constructor and destructor? For each member of every class: Could access to the member be further restricted? Do any derived classes have common members that should be in the base class? Can the class inheritance hierarchy be simplified? …

… Performance Defects Can better data structures or more efficient algorithms be used? Are logical tests arranged such that the often successful and inexpensive tests precede the more expensive and less frequently successful tests? Can the cost of recomputing a value be reduced by computing it once and storing the results? Is every result that is computed and stored actually used? Can a computation be moved outside a loop? Are there tests within a loop that do not need to be done? Can a short loop be unrolled? Are there two loops operating on the same data that can be combined into one?

Ein anderes Beispiel

Protokollschema

Beispiel: Bubblesort

Autocode-Review nb_sf_notbremsen = FALSE nb_sf_not???   ACQ1-4 Art: M Std: MG 72 Effz: Port: Reus: Sich: ++ Ist ausgeschlossen, dass es durch ähnliche Namen zu Verwechslungen kommt? Modellbeispiel nb_sf_notbremsen = FALSE nb_sf_notbremsung= FALSE nb_sf_not??? nb_sf_notbremsung ACQ2-24 Art: M Std: Effz: Port: Reus: Sich: Sind alle vorhandenen Typecasts notwendig? Beispiel: Beispiel: Modellbeispiel  Sb130_Switch1= (Int32)(((Int32)Sb115_v_eigen) << 7); 

Aufteilung auf zwei Phasen ersten Reviewphase: generierter Code als solches verständlich strukturiert zweiten Reviewphase: spezifische Fehlerursachen Autocode inkorrekte Skalierungen Programmierfehler

Probleme mit Checklisten Umfangreiche Listen sind schwer im Kopf zu behalten!!! Aufteilung auf mehrere Phasen Training / Einarbeitung Preprocessing (z.B. Coding rules) Werkzeugunterstützung Inspection Data Management Systems Mylyn: Eclipse task and application lifecycle management R4E: Review for Eclipse

LIDS Screenshots

Issue Tracking Beispiel Bugzilla: Beispiel Jira:

Weitere Informationsquellen www.reviewtechnik.de (Peter Rösler): Kostenlose „Reviewtechnik-Sprechstunde“ Linksammlung zu Reviewtechnik Checklisten „Software Inspection“ von Tom Gilb und Dorothy Graham, ISBN 0-201-63181-4 Folie zuletzt geändert am: 25.05.02, 20.05.02 „Peer Reviews in Software: A Practical Guide“ von Karl E. Wiegers, ISBN 0-201-73485-0