swk vortrag metriken
TRANSCRIPT
![Page 2: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/2.jpg)
Inhalt
1.Anlass
2.Einspruch!
3.Alte Metriken
4.Bessere Metriken?
5.Neue Metriken
6.Durchführung
7.Vorläufiges Fazit
![Page 3: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/3.jpg)
1.Anlass
● Iterative Entwicklung● „Wie verändert sich die Qualität unserer
Software pro Iteration? Wie können wir das ausdrücken?“
➔ Qualitätsmetriken
![Page 4: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/4.jpg)
2.Einspruch!
● Metrik = Quantität → Quantität <> Qualität● Früher: LOC = Produktivität
![Page 5: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/5.jpg)
3.Alte Metriken
● Anzahl Bugs● Anzahl Tests● Anzahl Warnungen● Testabdeckung
![Page 6: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/6.jpg)
3.Alte Metriken
● Anzahl Bugs● Anzahl Tests● Anzahl Warnungen● Testabdeckung➔ Alle nutzlos, da ambivalent
![Page 7: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/7.jpg)
4.Bessere Metriken?
1.Programmierstil
2.Programmstruktur
3.Wartbarkeit
4.Performance
5.Produktivität pro Iteration
6.Testqualität
![Page 8: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/8.jpg)
4.Bessere Metriken?
1.Programmierstil● Mittel: Codeanalyse auf Basis fester Regeln
(Programmierkonventionen)● Ergebnis: Anzahl Verstoße gegen Regeln● Aussage: Werden Konventionen eingehalten?
![Page 9: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/9.jpg)
4.Bessere Metriken?
1.Programmierstil● Mittel: Codeanalyse auf Basis fester Regeln
(Programmierkonventionen)● Ergebnis: Anzahl Verstoße gegen Regeln● Aussage: Werden Konventionen eingehalten?➔ ABGELEHNT, obsolet durch automatische
Refactorings
![Page 10: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/10.jpg)
4.Bessere Metriken?
2.Programmstruktur● Mittel: Strukturelle Codeanalyse● Ergebnis: Anzahl bestimmter
Programmierartefakte● Aussage: Architektur in Ordnung?
![Page 11: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/11.jpg)
4.Bessere Metriken?
2.Programmstruktur● Mittel: Strukturelle Codeanalyse● Ergebnis: Anzahl bestimmter
Programmierartefakte● Aussage: Architektur in Ordnung?➔ ABGELEHNT, da Absolutwerte, die i.d.R. nur
steigen
![Page 12: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/12.jpg)
4.Bessere Metriken?
3.Wartbarkeit● Mittel: „Maintainability Index“
MAX(0, (171-5.2*ln(H)-0.23*C-16.2*ln(L)*100/171)● Ergebnis: Codeanalyse-Ergebnisse miteinander
korreliert● Aussage: Ist der Code einfach wartbar?
![Page 13: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/13.jpg)
4.Bessere Metriken?
3.Wartbarkeit● Mittel: „Maintainability Index“
MAX(0, (171-5.2*ln(H)-0.23*C-16.2*ln(L)*100/171)● Ergebnis: Codeanalyse-Ergebnisse miteinander
korreliert● Aussage: Ist der Code einfach wartbar?➔ OK, trotz öffentlicher Zweifel
![Page 14: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/14.jpg)
4.Bessere Metriken?
4.Performance● Mittel: Dauer von Testdurchläufen messen● Ergebnis: Geschwindigkeit jedes Tests● Aussage: Wurde durch ein neues Feature
bestehende Funktionalität verlangsamt?
![Page 15: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/15.jpg)
4.Bessere Metriken?
4.Performance● Mittel: Dauer von Testdurchläufen messen● Ergebnis: Geschwindigkeit jedes Tests● Aussage: Wurde durch ein neues Feature
bestehende Funktionalität verlangsamt?➔ OK, leider schwer umsetzbar
![Page 16: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/16.jpg)
4.Bessere Metriken?
5.Produktivität pro Iteration● Mittel: Implementierte Features & gelöste Bugs
pro Iteration zählen● Ergebnis: Anzahl abgeschlossener Aufgaben● Aussage: Gibt es Fortschritt?
![Page 17: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/17.jpg)
4.Bessere Metriken?
5.Produktivität pro Iteration● Mittel: Implementierte Features & gelöste Bugs
pro Iteration zählen● Ergebnis: Anzahl abgeschlossener Aufgaben● Aussage: Gibt es Fortschritt?➔ ABGELEHNT, da Aufwand von Aufgabe zu
Aufgabe variiert
![Page 18: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/18.jpg)
4.Bessere Metriken?
6.Testqualität● Mittel: Testabdeckung● Ergebnis: Testabdeckung pro Projekt, reduziert
auf Testdurchläufe aus dazugehörigem Testprojekt
● Aussage: Machen wir TDD richtig?
![Page 19: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/19.jpg)
4.Bessere Metriken?
6.Testqualität● Mittel: Testabdeckung● Ergebnis: Testabdeckung pro Projekt, reduziert
auf Testdurchläufe aus dazugehörigem Testprojekt
● Aussage: Machen wir TDD richtig?➔ OK
![Page 20: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/20.jpg)
5.Neue Metriken
Maintainability Index
Testabdeckung
Testperformance
Codeanalyse auf Basis fester Regeln
Strukturelle Codeanalyse (absolute Zahlen)
Implementierte Features
Gelöste Bugs
![Page 21: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/21.jpg)
6.Durchführung
● Von Hand?● Erfassung: Schwer, da untersch. Plugins● Analyse: Schwer, da untersch. Ausgabeformate➔ Automatisierung selbst programmieren!
![Page 22: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/22.jpg)
7.Vorläufiges Fazit
● Qualität <> Quantität● Manuelle Reviews weit besser
![Page 23: Swk vortrag metriken](https://reader031.vdocuments.site/reader031/viewer/2022021815/58828f2f1a28abca6d8b6259/html5/thumbnails/23.jpg)
Eigene Erfahrungen?Fragen?