39
Vorbesprechung am 13. Juli 2017 Prof. Dr. Dr. h.c. Manfred Broy Dr. Maximilian Junker, Dr. Elmar Jürgens, Dr. Daniel Mendez, Dr. Benedikt Hauptmann, Henning Femmer, Dr. Sebastian Eder, Roman Haas, Daniel Veihelmann Seminar Software Qualität im WS 2017/18

Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an [email protected] bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Vorbesprechung am 13. Juli 2017

Prof. Dr. Dr. h.c. Manfred Broy

Dr. Maximilian Junker, Dr. Elmar Jürgens,

Dr. Daniel Mendez, Dr. Benedikt Hauptmann,

Henning Femmer, Dr. Sebastian Eder,

Roman Haas, Daniel Veihelmann

Seminar Software Qualität

im WS 2017/18

Page 2: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Seminar Software Qualität

Anforderungen TestImplementierung

- Unvollständige

Anforderungen

- Missverständliche

Dokumentation

- …

- Schlecht getestet

- Copy & Paste

- Keine

Kommentare

- …

- Fragile Tests

- Copy & Paste

- Nicht

deterministisch

- …

Qualität von

Anforderungen

Qualität von

Code

Qualität von

Tests

Page 3: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Mail an [email protected]

bis Mittwoch, 19. Juli

Inhalt

• Motivation für Seminarteilnahme u. Themen (<1 Seite)

• Stand im Studium

• Erfahrungen (Arbeit, Praktikum, Open-Source-Projekt, …)

• Themenwünsche (sortiert nach Priorität)

Rückmeldung Ende Juli über das Matching System

Teilnahme am Seminar

Page 4: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Anfang des Semesters: Auftaktveranstaltung

• Überblick Software Qualität

• Literaturrecherche

• Effektiv Präsentieren

vstl. Januar 2018: Seminar als Blockveranstaltung

• Block: 3 Tage Vorträge mit Diskussion

• genaue Termine klären wir zum Semesterstart

Ablauf

Page 5: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Inhalt

• Theorie

• Anwendung des Seminarthemas in der Praxis

Ergebnisse

Erfahrungen

Probleme & Grenzen

Abgaben

• Seminararbeit: 2 Wochen vor Vortrag

• Probevortrag (verpflichtend): 2 Wochen vor Vortrag

Umfang

• Arbeit: max. 15 Seiten (wir stellen Vorlage bereit)

• Vortrag: 25min + 20min Diskussion

Seminararbeit und Vortrag

Page 6: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Anforderungen

1. Walkthroughs, Inspektionen, Prototypen: Techniken für manuelle

Requirements Reviews

(Henning)

2. Wie gut sind meine Anforderungen? Defekte in Anforderungen

automatisch detektieren.

(Henning)

3. Model-based Requirements Engineering: Bessere

Anforderungsqualität durch Modellierung?

(Maximilian)

6

Themen (I)

Page 7: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Walkthroughs, Inspektionen, Prototypen

- Techniken für manuelle Requirements Reviews

• Bei der NASA sind Fehler in Anforderungen manchmal nicht

mehr zu fixen.

• Deshalb machen sie strenge Reviews, so wie in diesem

Prozess.

• Wie funktioniert das, was kann man (anders) machen?

Page 8: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

The shop system sends an E-Mail to

registered customers, optionally with

attachment.

• Schlechte Anforderungen sind riskant

• Manuelle Qualitätssicherung ist teuer und langsam.

• Deshalb: Automatisierung!

1. Was lässt sich automatisch erkennen?

2. Was nicht?

3. Wie funktioniert das?

Wie gut meine Anforderungen? Defekte in

Anforderungen automatisch detektieren

Page 9: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Anforderungen

1. Walkthroughs, Inspektionen, Prototypen: Techniken für manuelle

Requirements Reviews

(Henning)

2. Wie gut sind meine Anforderungen? Defekte in Anforderungen

automatisch detektieren.

(Henning)

3. Model-based Requirements Engineering: Bessere

Anforderungsqualität durch Modellierung?

(Maximilian)

9

Themen (I)

Page 10: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

10

Model-based Requirements Engineering

Dokumentenbasiertes RE

• Redundante und inkonsistente Informationen

• Missverständliche Beschreibungen

• Zusammenarbeit schwierig

Modellbasiertes RE

Sensor

AutoMode

OperationOn

Crane1Action

Crane2Action

SupplyBand

DeliveryBand

Funktionen des TransportationController

Sensor

AutoMode

OperationOn

Crane1Action

Crane2Action

SupplyBand

DeliveryBand

Sensor

AutoMode

Bewegungsauftrag

Crane1

Bewegungsauftrag

Crane2OperationOn

Sensordaten v erarbeiten

Sensor

AutoMode

Bewegungsauftrag

Crane1

Bewegungsauftrag

Crane2OperationOn

SupplyBand

DeliveryBandOperationOn

Förderbandbewegungen

berechnenSupplyBand

DeliveryBandOperationOn

Crane1ActionBewegungsauftrag

Crane1

Wegpunkte für Crane1

berechnen

Crane1ActionBewegungsauftrag

Crane1

Crane2ActionBewegungsauftrag

Crane2

Wegpunkte für Crane2

berechnen

Crane2ActionBewegungsauftrag

Crane2

«block»

UserInput

«block»

OperationOn

«block»

AutoMode

«block»

Sensor

«block»

Crane1Sensor

«block»

Crane2Sensor«block»

SupplyBandSensor

«block»

Deliv eryBandSensor

«block»

SensorSignal

«block»

Crane1SensorSignal

«block»

Crane2SensorSignal«block»

SupplyBandSensorSignal

«block»

Deliv eryBandSensorSignal

«block»

SystemOuput

«block»

Action

«block»

Crane1Action

«block»

Crane2Action

«block»

SupplyBandAction

«block»

Deliv eryBandAction

«block»

ActionSignal

«block»

Crane1ActionSignal

«block»

Crane2ActionSignal

«block»

SupplyBandActionSignal

«block»

Deliv eryBandActionSignal

+Raw Data translated by IOAdapter +Translated Signal

+determins

Determination

+determined

+Bus-conformant Data translated by IOAdapter +Raw Signal

+represented Information

Representation

+Displayed data

Initial

Anlage eingeschaltet

Anlage ausgeschaltet

Final

AutoMode ManualMode

Initial

[UserInput = AutoMode]

[UserInput = !AutoMode]

[UserInput: einschalten][UserInput:

terminieren]

[UserInput:

einschalten]

• Alle Informationen im zentralen Model-Repository, keine Redundanz (?)

• Eindeutige Interpretation (?)

Bessere Qualität?

Page 11: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Code

4. Statische Analyse: Automatisches Auffinden von Bugs in Quellcode.

(Sebastian)

5. Clone Detection: Wo ist kopierter Quelltext im System?

(Elmar)

6. Clone Management: Wie wurde kopierter Quelltext gewartet?

(Elmar)

7. Sinn und Unsinn von Metriken zur Komplexität von Quellcode

(Daniel Veihelmann)

8. Code-Nutzungsanalysen: Welcher Code wird (nicht) genutzt?

(Daniel Veihelmann)

11

Themen (II)

Page 12: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 13: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 14: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 15: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 16: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 17: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Code

4. Statische Analyse: Automatisches Auffinden von Bugs in Quellcode.

(Sebastian)

5. Clone Detection: Wo ist kopierter Quelltext im System?

(Elmar)

6. Clone Management: Wie wurde kopierter Quelltext gewartet?

(Elmar)

7. Sinn und Unsinn von Metriken zur Komplexität von Quellcode

(Daniel Veihelmann)

8. Code-Nutzungsanalysen: Welcher Code wird (nicht) genutzt?

(Daniel Veihelmann)

17

Themen (II)

Page 18: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

1659 LOC / 1301 SLOC

Page 19: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Code

4. Statische Analyse: Automatisches Auffinden von Bugs in Quellcode.

(Sebastian)

5. Clone Detection: Wo ist kopierter Quelltext im System?

(Elmar)

6. Clone Management: Wie wurde kopierter Quelltext gewartet?

(Elmar)

7. Sinn und Unsinn von Metriken zur Komplexität von Quellcode

(Daniel Veihelmann)

8. Code-Nutzungsanalysen: Welcher Code wird (nicht) genutzt?

(Daniel Veihelmann)

19

Themen (II)

Page 20: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 21: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Code

9. Historienanalyse: Wie entwickeln sich Teams und wer kennt welchen

Code?

(Roman Haas)

10. Refactoring Empfehlungen: Automatische Generierung von

Verbesserungsvorschlägen für Code.

(Roman Haas)

11. Code-Zentralität: Was sind in diesem Softwaresystem die wichtigsten

Klassen?

(Roman Haas)

21

Themen (III)

Page 22: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Einarbeitung

abgebrochen

Neues Team

Knowledge-Transfer

Page 23: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

UI

Core

Effects

Docking

Tools

TextTool.cs (17 Entwickler)

PintaProject/Pinta

Page 24: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Code

9. Historienanalyse: Wie entwickeln sich Teams und wer kennt welchen

Code?

(Roman Haas)

10. Refactoring Empfehlungen: Automatische Generierung von

Verbesserungsvorschlägen für Code.

(Roman Haas)

11. Code-Zentralität: Was sind in diesem Softwaresystem die wichtigsten

Klassen?

(Roman Haas)

24

Themen (III)

Page 25: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

1659 LOC / 1301 SLOC

Page 26: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Code

9. Historienanalyse: Wie entwickeln sich Teams und wer kennt welchen

Code?

(Roman Haas)

10. Refactoring Empfehlungen: Automatische Generierung von

Verbesserungsvorschlägen für Code.

(Roman Haas)

11. Code-Zentralität: Was sind in diesem Softwaresystem die wichtigsten

Klassen?

(Roman Haas)

26

Themen (III)

Page 27: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 28: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Bild: http://en.wikipedia.org/wiki/File:Centrality.svg

Page 29: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Tests

12. Natural Language Test Smells: Qualitätsdefekte in manuellen Tests

automatisch erkennen.

(Benedikt)

13. Warum zerbrechen meine automatisierten GUI-Tests? Statische

Analyse von automatisierten Tests.

(Benedikt)

14. Anforderungsbasiertes Testen: Wie stimme ich meine Tests auf die

Anforderungen ab?

(Maximilian)

29

Themen (IV)

Page 30: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

30

Natural Language Test Smells: Qualitätsdefekte in manuellen Tests automatisch erkennen.

30

Page 31: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Automated Test 01 – Login Dialog

1. Open application C:\programs\keepass\2.0\keepass.exe

2. Validate Windows is visible “Open Database – New Datbase.kdbx”

3. Enter value “Master Password” “123mysecret$”

4. Click Button “Cancel”

… … …

31

Warum zerbrechen meineautomatisierten GUI-Tests?Statische Analyse von automatisierten Tests.

Page 32: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Tests

12. Natural Language Test Smells: Qualitätsdefekte in manuellen Tests

automatisch erkennen.

(Benedikt)

13. Warum zerbrechen meine automatisierten GUI-Tests? Statische

Analyse von automatisierten Tests.

(Benedikt)

14. Anforderungsbasiertes Testen: Wie stimme ich meine Tests auf die

Anforderungen ab?

(Maximilian)

32

Themen (IV)

Page 33: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

33

Anforderungsbasiertes Testen: Wie stimme ich

meine Tests auf die Anforderungen ab?

Page 34: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Tests

15. Qualitätssicherung von Tests durch Mutation Testing

(Daniel Veihelmann)

16. Test Gap Analyse: Werden Systemänderungen auch wirklich von

Tests erfasst?

(Daniel Veihelmann)

34

Themen (V)

Page 35: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (
Page 36: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Qualität von Tests

15. Qualitätssicherung von Tests durch Mutation Testing

(Daniel Veihelmann)

16. Test Gap Analyse: Werden Systemänderungen auch wirklich von

Tests erfasst?

(Daniel Veihelmann)

36

Themen (V)

Page 37: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

• = Modifiziert & ungetestet

• = Neu & ungetestet

• = Unverändert

• = Geändert & ausgeführt

im Test

Page 38: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Prozessqualität / Anforderungsqualität

17. Besserer Prozess durch bessere Anforderungen? Wie hängen die

Qualität von Artefakten und die Qualität des Prozesses zusammen?

(Daniel)

18. Prozessverbesserung im Requirements Engineering: Prinzipien

und Ansätze

(Daniel)

38

Themen (VI)

Page 39: Seminar Software Qualität im WS 2017/18 · 2017-07-13 · Mail an junkerm@in.tum.de bis Mittwoch, 19. Juli Inhalt • Motivation für Seminarteilnahme u. Themen (

Fragen? Anmerkungen?