Softwarequalität und -test

Ähnliche Dokumente
Inhalt. 1 Einführungsveranstaltung. 2 Qualität kompakt

Qualität, Fehler un Testvorgehen

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnikpraktikum SS Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Software- Qualitätsmanagement

Qualitätssicherung[QS] von Torsten Lindner

Softwarequalitätssicherung

1. Grundbegriffe des Software-Engineering

Softwaretechnik 1 Tutorium

Qualitätsmanagement. Grundlagen

Methodische Grundlagen des Software Engineering - Übung 9

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können.

Synergieeffekte der formalen QS von Geschäftsprozessen Referent: A. Peter Zimmermann. Unser Testprozess hat den LEVEL 4 nach ISO / IEC (SPICE)

Qualitätssicherung. Was ist Qualität?

Systematisches Testen von Software

Einführung in die Softwareentwicklung

Quantität für Qualität

T4 Statischer Test. Siemens AG Österreich 2005 All Rights Reserved. Statischer Test - Allgemein. Kennzeichen: Testen, ohne das Testobjekt auszuführen

Softwarequalität: Definitionen, Wünsche, Grenzen

Messung. Mariem Ben Rehouma

Inhaltsverzeichnis. Teil I Handwerkszeug. 3 Begriffe zum Testen Definitionen zum Testen Box-Tests

Thema: Testen von objektorientierter Software

Kapitel 5: Statische Analyse

Qualitätssicherung in der Praxis der Softwareerstellung

Softwarequalität. Gabriele Taentzer Philipps-Universität Marburg. Sommersemester 2016

Das Entwicklungsteam im agilen Prozess. Aufgaben der Software Architektur. Best Practices & Scrum Integration. Zusammenfassung & Ausblick

Qualität ist nicht (nur) die Abwesenheit von Fehlern. Jede Aussage über Qualität ist eine Aussage von einer oder mehrere Personen.

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie

Softwaretechnik. Fomuso Ekellem WS 2011/12

Kooperatives Testen Basis auch zur Testautomatisierung während der Softwareentwicklung. Dipl. Inform. Hans-Josef Eisenbach

Software-Lebenszyklus

Ein paar Fragen zum Start

T1 - Fundamentaler Testprozess

Software- Qualitätsmanagement

Einführung in das Software-Qualitätsmanagement

Optimal gesteuerte Versorgungsprozesse was können bewährte QM-Verfahren sowie die neue DIN EN dazu beitragen?.aus der Sicht der Auditorin

T-Systems Enterprise Services GmbH. Test Factory. Testen nach ISTQB-Standard, Gastvortrag Fontys Hogescholen Venlo, April 2008

Simulation und Bildanalyse mit Java Vortragsthemen für das Sommersemester 2004 Themenschwerpunkt in diesem Semester: Tests in Informatik und Statistik

Qualität lässt sich steuern: Die Möglichkeiten des Qualitätsmanagements

Performancetesten im BIT / LZBTI

Konzepte des Qualitätsmanagements und der Evaluation im Vergleich

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

MDRE die nächste Generation des Requirements Engineerings

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Was versteht man unter Softwarequalität?

Konzept zur Implementierung eines Testwerkzeugs für die Automatisierung von Black-Box-Testverfahren

Qualität im üblichen Sprachgebrauch ist...

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will

ISTQB Certified Tester Foundation Level Exam Übungsprüfung

Testen in KMU Projekten Bern, November 2013

AK Testmanagement: Ergebnispräsentation auf TAV 15 3RVLWLRQVSDSLHU 7HVWPDQDJHPHQW. Inhalt

Was versteht man unter einem Softwareentwicklungsmodell?

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Qualitätsmanagement. Andreas Bäuml SWT-Projekt WS 07/08

Qualitätssicherung im Projektgeschäft

Umsichtig planen, robust bauen

Software Engineering

Frank Düsterbeck HEC GmbH. QM mit und durch agile Vorgehensweisen

ARCHITEKTUR KATA als Trainingsform für agile Teams

Wie misst man Qualität?

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Testplanung und Teststeuerung

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Lehrplan 2003 Testplanung

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006

ò ò ò ò ò ò Software Engineering I Organisatorisches / Einf³hrung Version Andreas Stuckert/Markus Rentschler

T3 Testen im Software- Lebenszyklus

T2 Fundamentaler Testprozess

Testen von Data-Warehouse- und Business-Intelligence-Systemen

Softwarequalität - Qualitätsmodelle

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Methoden bei der Entwicklung medizinischer Software

Testdokumentation. Theorie vs. Praxis

Einführung in die Informatik

5 ECTS. 4 Modulverantwortlicher Prof. Dr. Francesca Saglietti

Testmanagement. Full-Service

Java Einführung Methoden. Kapitel 6

Mit Fehlerkennzahlen Software-Entwicklungsprozesse verbessern - Erfahrungen bei der IDG -

IT-Projektmanagement Teil 1: Einführung. Wintersemester 2012/2013 Dr. Gerhard Pews

Datenerfassung und Datenanalyse

Ein Testprozess für Modellbasiertes Testen

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Website-Usability - Überprüfung der Gebrauchstauglichkeit von Websites

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 ( ):

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Basiswissen Softwaretest

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Bewertung von Software- Architekturen. Dipl.-Ing. Mahbouba

Praktikum Software Engineering: Verfahren und Werkzeuge

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren?

ASIL-relevante SW-Module identifiziert! Was nun?

Richtlinien und Anforderungen an eine GFS

SOMA Reverse Engineering

Softwarekostenmodell - Was ist das? Welche gibt es?

Testen. SEPR Referat: Testen - Oliver Herbst

Einstieg in die Informatik mit Java

Prüfung Software Engineering II (IB)

Technologiepark Paderborn Telefon: / XX XX XX Mobil: 01XX / XX XX XX XX XXXXXXX@mail.upb.de

J O L A N T H E D L U G O K E C K I C A R O L I N K A N J A

Teststrategie festlegen und Teststufen aufeinander abstimmen

Transkript:

1. Vorlesung www.beuth-hochschule.de Dipl.-Inform. Thomas Ziemer

Formaler Ablauf

Formaler Ablauf der Lehrveranstaltung Die Lehrveranstaltung Softwarequalität und -test (SwQT) besteht aus Vorlesungen, in denen primär neue Themeninhalte vermittelt werden, Übungen, in denen diese Themen weiter aufbereitet und praktisch vertieft werden und Fachvorträgen bzw. Präsentationen, in denen die Studierenden während der Übungen ihre Arbeiten vorstellen. Als Standardliteratur ist vorgesehen: Kurt Schneider: Abenteuer Softwarequalität 3

Gruppeneinteilung Teamfähigkeit ist in der Softwareentwicklung äußerst wichtig, deshalb sollen die Übungen in Gruppen mit durchschnittlich vier, höchstens fünf Mitgliedern bearbeitet werden keinesfalls mehr! Die Gruppeneinteilung sollte durch alle Teilnehmer der Lehrveranstaltung in den Tagen zwischen der ersten und zweiten Vorlesung selbständig abgeschlossen werden. 5

Bewertungskriterien Im Rahmen der Übungszeiten werden von jeder Übungsgruppe im Semester einige vorgegebene, aufeinander basierende, meist praktische Modellierungsaufgaben (so genannte Meilensteine) bearbeitet. Einige Meilensteine werden abgegeben, andere präsentiert. Außerdem gibt es Fachvorträge. Die Abgabe oder Präsentation erfolgt während der Übungszeiten pünktlich zum angegebenen Termin (ersichtlich im Internet unter http://www.ziemers.de/tfh/... und konkretisiert in der Vorlesung). Aus einer verspäteten Abgabe erfolgt Notenabzug (eine Notenstufe pro Woche). Die vollständige Bearbeitung eines Meilensteins wird mit der Note 2,0 bewertet. Zusatzpunkte (Noten 1,7 oder 1,3 oder 1,0) können durch eine überdurchschnittlich gute Arbeit erreicht werden. Notenabzug erfolgt bei ungenügender Leistung. 7

Corporate Design Die äußere Form jeder offiziellen Abgabe eines Leistungsnachweises ist sehr wichtig. Aus diesem Grund muss jede Gruppe ein eigenes Corporate Design (identifizierendes Logo, Layout etc.) entwickeln, die sich zukünftig in allen schriftlichen Ergebnissen (Meilensteinen) wiederfindet, und auch in den Fachvorträgen. 6

Bewertungskriterien (Fortsetzung) Die Abgabe erfolgt ausschließlich ausgedruckt auf Papier (mehrere Seiten werden getackert) mit Deckblatt (inkl. Gruppenname, -logo und Liste der Gruppenmitglieder mit Matrikelnummern und email-adressen). Andere Abgabearten oder andere Formate gelten automatisch als nicht abgegeben. An einigen Terminen präsentieren die Übungsgruppen während der Übungszeit ihre Fachvorträge bzw. Meilensteine. Eine nicht gehaltene Präsentation wird mit 5,0 (nicht bestanden) bewertet. 8

Bewertungskriterien (Fortsetzung) Alle Meilensteine, Präsentationen und Fachvorträge gehen zu gleichen Teilen in die Gesamtnote der Lehrveranstaltung ein. 9

Ziel der Veranstaltung

Ziel der Lehrveranstaltung Heutzutage muss immer mehr Software in immer kürzerer Zeit entwickelt werden. Damit diese Software noch wartbar bleibt, muss von vornherein Augenmerk auf deren Qualität und Testbarkeit gelegt werden. Die Studierenden lernen zu diesem Zweck konstruktive und analytische Methoden der Qualitätssicherung und dafür passende Werkzeuge kennen. Sie können derartige Werkzeuge einordnen, auswählen und anwenden. (Auszug aus dem Modulhandbuch der Veranstaltung) 13

Projekte ohne Qualität 11

Projekte ohne Qualität 12

Ein Durchstich - Qualität kompakt

Inhalt der Lehrveranstaltung 2 Qualität kompakt 2.1 Was ist Qualität? 2.2 Was ist Softwarequalität? 2.3 Qualitätsmanagement und Qualitätssicherung 2.4 Analytische Verfahren zur Qualitätssicherung 2.5 Dynamische Testverfahren 2.6 Die richtigen Testfälle finden 2.7 Modultest 2.8 Weitere Testverfahren 15

Kostenverteilung im Software-Life-Cycle Quelle: R. Klösch, H.Gall: Objektorientiertes Reverse Engineering. Springer 17

Inhalt der Lehrveranstaltung (Fortsetzung) 2 Qualität kompakt 2.1 Was ist Qualität? 2.2 Was ist Softwarequalität? 2.3 Qualitätsmanagement und Qualitätssicherung 2.4 Analytische Verfahren zur Qualitätssicherung 2.5 Dynamische Testverfahren 2.6 Die richtigen Testfälle finden 2.7 Modultest 2.8 Weitere Testverfahren 18

Inhalt der Lehrveranstaltung (Fortsetzung) 2 Qualität kompakt 2.1 Was ist Qualität? 2.2 Was ist Softwarequalität? 2.3 Qualitätsmanagement und Qualitätssicherung 2.4 Analytische Verfahren zur Qualitätssicherung 2.5 Dynamische Testverfahren 2.6 Die richtigen Testfälle finden 2.7 Modultest 2.8 Weitere Testverfahren 19

Inhalt der Lehrveranstaltung (Fortsetzung) 2 Qualität kompakt 2.1 Was ist Qualität? 2.2 Was ist Softwarequalität? 2.3 Qualitätsmanagement und Qualitätssicherung 2.4 Analytische Verfahren zur Qualitätssicherung 2.5 Dynamische Testverfahren 2.6 Die richtigen Testfälle finden 2.7 Modultest 2.8 Weitere Testverfahren 20

Softwareversionsverwaltung

Inhalt der Lehrveranstaltung (Fortsetzung) 3 Strategien zur Softwareversionsverwaltung 3.1 Probleme während der Softwareentwicklung 3.2 Historie einiger Werkzeuge zur Softwareversionsverwaltung 3.3 Einführung in die Methoden der Softwareversionsverwaltung 22

Inhalt der Lehrveranstaltung (Fortsetzung) 3 Strategien zur Softwareversionsverwaltung 3.1 Probleme während der Softwareentwicklung 3.2 Historie einiger Werkzeuge zur Softwareversionsverwaltung 3.3 Einführung in die Methoden der Softwareversionsverwaltung 23

Was ist eigentlich Qualität? Qualitätsmanagement (QM) und Qualitätssicherung (QS)

Inhalt der Lehrveranstaltung (Fortsetzung) 4 Qualitätsmanagement und Qualitätssicherung in der Softwareentwicklung 4.1 Warum scheitern Softwareprojekte? 4.2 Softwarequalität 4.3 Qualitätsmanagement 4.4 Qualitätssicherungsmodell 4.5 Qualitätssicherung 4.6 Werkzeuge im Qualitätsmanagement 4.7 DIN EN ISO 9000-Familie 31

Inhalt der Lehrveranstaltung (Fortsetzung) Qualität Was ist eigentlich Qualität? Es gibt eine grundsätzliche Definition, die auf alle Arten von Qualität zutrifft. Def.: Qualität ist die Gesamtheit der Eigenschaften und Merkmale eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener Erfordernisse bezieht. 32

Qualitätsmanagement (QM)

Inhalt der Lehrveranstaltung (Fortsetzung) 4 Qualitätsmanagement und Qualitätssicherung in der Softwareentwicklung 4.1 Warum scheitern Softwareprojekte? 4.2 Softwarequalität 4.3 Qualitätsmanagement 4.4 Qualitätssicherungsmodell 4.5 Qualitätssicherung 4.6 Werkzeuge im Qualitätsmanagement 4.7 DIN EN ISO 9000-Familie 38

Inhalt der Lehrveranstaltung (Fortsetzung) Grundlagen des Qualitätsmanagements Qualität (Funktionalität) Ein Projekt bewegt sich im Spannungsfeld von Qualität bzw. Funktionalität, Budget und Termin. Richtig eingesetzt, können die Erkenntnisse dieses Teufelsdreiecks den Projektmanager bei seiner Arbeit unterstützen. Werden jedoch nur zwei der Parameter im Auge behalten, so ist der dritte kaum zu kontrollieren. Budget Teufelsdreieck Termin 39

Inhalt der Lehrveranstaltung (Fortsetzung) Qualitätsziele und Qualitätsmerkmale (in der Softwareentwicklung) Def.: [ ] die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf die Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen. (DIN ISO 9126) 40

Inhalt der Lehrveranstaltung (Fortsetzung) Qualitätsziele und Qualitätsmerkmale (in der Softwareentwicklung) Sechs Qualitätsmerkmale werden allgemein unterschieden. Diese können auf jede Art von Software angewandt werden: Funktionalität (beispielsweise Richtigkeit) Zuverlässigkeit (beispielsweise Fehlertoleranz) Benutzbarkeit (beispielsweise Erlernbarkeit) Effizienz (beispielsweise Zeitverhalten) Änderbarkeit (beispielsweise Analysierbarkeit) Übertragbarkeit (beispielsweise Installierbarkeit) Wie kann man diese Qualitätsmerkmale messbar machen? 41

Qualitätssicherung (QS)

Inhalt der Lehrveranstaltung (Fortsetzung) 4 Qualitätsmanagement und Qualitätssicherung in der Softwareentwicklung 4.1 Warum scheitern Softwareprojekte? 4.2 Softwarequalität 4.3 Qualitätsmanagement 4.4 Qualitätssicherungsmodell 4.5 Qualitätssicherung 4.6 Werkzeuge im Qualitätsmanagement 4.7 DIN EN ISO 9000-Familie 46

Inhalt der Lehrveranstaltung (Fortsetzung) Konstruktive Qualitätssicherung Qualitätssicherungsmaßnahmen Analytische Qualitätssicherung Konstruktive und analytische Qualitätssicherung Startsitzungen Projekt-Review Überarbeiten QS-Checklisten QS-Ampel überwachen Kriterien für QS-Ampel festleg. Review QS-Merkmale operationalisier. Einzel-Review Analysesitzungen Gruppen-Review Qualifizierung und Coaching Testen 47

Inhalt der Lehrveranstaltung (Fortsetzung) 4 Qualitätsmanagement und Qualitätssicherung in der Softwareentwicklung 4.1 Warum scheitern Softwareprojekte? 4.2 Softwarequalität 4.3 Qualitätsmanagement 4.4 Qualitätssicherungsmodell 4.5 Qualitätssicherung 4.6 Werkzeuge im Qualitätsmanagement 4.7 DIN EN ISO 9000-Familie 49

Testmanagement

Inhalt der Lehrveranstaltung (Fortsetzung) 5 Testmanagement in Softwareprojekten 5.1 Testkonzept 5.2 Testmanagement 5.3 Testplan 5.4 Softwaremetriken 5.5 Testvorbereitung 54

Testplan Testobjekt vs. Testziel Nachdem Testobjekte sowie Testziele festgelegt wurden, muss betrachtet werden, welche Testziele in Bezug auf welche Testobjekte prinzipiell sinnvoll sind: 55

Softwaremetriken

Inhalt der Lehrveranstaltung (Fortsetzung) 5 Testmanagement in Softwareprojekten 5.1 Testkonzept 5.2 Testmanagement 5.3 Testplan 5.4 Softwaremetriken 5.5 Testvorbereitung 57

Inhalt der Lehrveranstaltung (Fortsetzung) Metriken für Software-Artefakte Metriken erlauben es, Eigenschaften wie die strukturelle Komplexität, die Programmlänge oder den Grad der Kommentierung quantitativ zu ermitteln. Die Ergebnisse erlauben einen Quervergleich mit bisherigen Maßzahlen. Abweichungen von diesen deuten auf eine Anomalie hin, die genauer untersucht werden muss. 58

(Integer x, y, z kommen an) Inhalt der Lehrveranstaltung (Fortsetzung) Metriken für Software-Artefakte Zeile mit Anweisung Zeile mit Semikolon Kommentarzeile Programmzeile ohne Anweisung Leere Zeile public void buyticket() { // adults pay more if(isadult) { // pay here payfullfee(); } else { // pay less payreducedfee(); } } // print ticket printticket(); N N z = z*10 4 (x>3) ^ (y=2) 1 J z = x+y 2 (z<4) 3 J print z 5 59

n if1 n if2 n then2 n value n elsif n start n init n while n point n else n pos n if3 n then3 n else3 n final Testfall 1 Testfall 2 Wert = 0.0; Genauigkeit = 1.0; WoBinIch = VorDemKomma; Fehlerfrei = true; Position = 0; while ( (Position < inziffernstring.length()) && Fehlerfrei) { Zchn = inziffernstring.charat(position); if Ziffer(Zchn) { if (WoBinIch == NachDemKomma) { Genauigkeit = Genauigkeit / 10.0; } Wert = 10.0 * ZchnZuWert(Zchn); } else if ( (Zchn == '.') && (WoBinIch == VorDemKomma)) { WoBinIch = NachDemKomma; } else { Fehlerfrei = false; } } Position++; Vollständige Anweisungsüberdeckung (C 0 = 100%) if (!Fehlerfrei (inziffernstring.length() == 0) (WoBinIch == NachDemKomma) && (inziffernstring.length() == 1) ) { return FehlerCode; } else { Wert = Wert * Genauigkeit; return Wert; } 60

Fach- und Abnahmetest

Inhalt der Lehrveranstaltung (Fortsetzung) 6 Methodischer Aufbau und Durchführung von Fach- und Abnahmetest 6.1 Methodischer Aufbau und Durchführung von Fach- und Abnahmetest 6.2 Testmethoden 6.3 Entscheidungstabellen 65

Inhalt der Lehrveranstaltung (Fortsetzung) Test von Softwarekomponenten Entscheidungstabelle mit Irrelevanzanzeiger 67

Softwareabnahme

Inhalt der Lehrveranstaltung (Fortsetzung) 7 Abnahme von Softwaresystemen 7.1 Systemtest 7.2 Abnahmephase 7.3 Anforderungen an die Abnahme eines Softwaresystems 70

Veranstaltungsende

Inhalt der Lehrveranstaltung (Fortsetzung) Fertig! 72