+ All Categories
Home > Technology > Softwarequalität mit Visual Studio 2010

Softwarequalität mit Visual Studio 2010

Date post: 26-Jun-2015
Category:
Upload: mspgermany
View: 1,468 times
Download: 0 times
Share this document with a friend
37
Präsentation von: Softwarequalität mit Visual Studio 2010 David Tielke
Transcript
Page 1: Softwarequalität mit Visual Studio 2010

Präsentation von:

Softwarequalität mit Visual Studio 2010

David Tielke

Page 2: Softwarequalität mit Visual Studio 2010

Über mich: David Tielke

02.03.2011 2

M. Sc. Informatik / Universität Marburg Microsoft Student Partner seit 2008

Fokus: .NET, Verteilte Systeme, Architektur, Bildverarbeitung

Kontakt: • E-Mail: [email protected] • Web: www.David-Tielke.de • Twitter: davidtielke

Page 3: Softwarequalität mit Visual Studio 2010

Agenda

• Was/Wie/Wo Softwarequalität

• Unit Tests

• Code Coverage

• Code Analysis

• Code Metrics

• Profiling

• Visual Studio 2010 – Die Editionen

• Fragen & Antworten

02.03.2011 3

Page 4: Softwarequalität mit Visual Studio 2010

Softwarequalität Ohne (etwas) Theorie geht’s nicht…

Page 5: Softwarequalität mit Visual Studio 2010

Was? - Softwarequalität

„Unter Softwarequalität versteht man die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen“ (wikipedia)

02.03.2011 5

Page 6: Softwarequalität mit Visual Studio 2010

Was? - Softwarequalität

• An jedes Softwaresystem gibt es Anforderungen

– Funktionale Anforderungen „Der Benutzer muss xyz können“

– Nicht-funktionale Anforderungen „Das System muss leicht erweiterbar sein“

„SQ beschreibt, wie gut eine Software die an sich gestellten Anforderungen erfüllt“

02.03.2011 6

Page 7: Softwarequalität mit Visual Studio 2010

Wie? - Softwarequalität

• Maßnahmen zur Qualitätssicherung

– Konstruktiv z.B. Richtlinien, Werkzeuge, Standards,…

– Analytisch z.B. Profiling, Unit-Tests, Code Coverage,…

02.03.2011 7

Page 8: Softwarequalität mit Visual Studio 2010

Wo? - Softwarequalität

02.03.2011 8

Analyse

Definition

Entwurf

Implementierung

Inbetriebnahme

Studien

Anforderungstests

Modellverifikation

Unit-Tests, Profiling,…

Systemtests

Page 9: Softwarequalität mit Visual Studio 2010

VS 2010 und Softwarequalität

Visual Studio 2010 ermöglicht es uns mit analytischen Tools und Addins die Softwarequalität in der

Implementierungsphase zu messen und zu steigern.

02.03.2011 9

Page 10: Softwarequalität mit Visual Studio 2010

Unit-Tests Ist Software die Software korrekt?

Page 11: Softwarequalität mit Visual Studio 2010

Unit-Tests

• Was sind Unit-Tests?

„Beim Unit-Testing werden unabhängige Module (Klasse, Komponenten, etc.) in einem dedizierten Testkontext auf die korrekte Einhaltung von zuvor spezifizierten Anforderungen getestet.“

Page 12: Softwarequalität mit Visual Studio 2010

Unit-Tests

02.03.2011 12

Applikations-Kontext

Klasse ABC

Methode1() Methode2() Methode3() Methode4()

Test-Kontext

Ein

gaben

Klasse XYZ

Methode1() Methode2() Methode3() Methode4()

Page 13: Softwarequalität mit Visual Studio 2010

Unit-Tests

02.03.2011 13

ProjectABC

KlasseXYZ

Methode1() Methode2() Methode3() Methode4()

ProjectABCTest

KlasseXYZTest

Methode1Test() Methode2Test() Methode3Test() Methode4Test()

MSTest

Page 14: Softwarequalität mit Visual Studio 2010

Unit-Tests

02.03.2011 14

ProjectABC

Klasse1

Methode1() Methode2()

ProjectABCTest

Klasse2

Methode1() Methode2()

Klasse3

Methode1() Methode2()

Klasse4

Methode1() Methode2()

Klasse1Test

Methode1() Methode2()

Klasse2Test

Methode1() Methode2()

Klasse3Test

Methode1() Methode2()

Klasse4Test

Methode1() Methode2()

Page 15: Softwarequalität mit Visual Studio 2010

DEMO Unit-Tests Projektdatei: MSP_TDO2011_UnitTests

Page 16: Softwarequalität mit Visual Studio 2010

Unit-Tests

• Weiteres zu dem Thema

– Datengetriebene Tests

– Testinput generieren (Pex)

– Check-In Policy im Team Foundation Server

– Coded UI-Tests

– Test Impact Analysis

– Unit-Tests für Datenbanken

– Und…

02.03.2011 16

Page 17: Softwarequalität mit Visual Studio 2010

Code Coverage Wie „gut“ sind meine Unit-Tests?

Page 18: Softwarequalität mit Visual Studio 2010

Code Coverage

• Metrik wie viel Code von Tests ausgeführt wird

• Kann aussagekräftig sein (muss aber nicht)

Zu Beginn 0% Überdeckung Test 1: Typ(1,2,2) => 4 Zeilen (57%) Test 2: Typ(1,1,2) => 5 Zeilen (71%) Test 3: Typ(1,2,3) => 6 Zeilen (85%) Test 4: Typ(0,0,0) => 7 Zeilen (100%)

Page 19: Softwarequalität mit Visual Studio 2010

DEMO Code Coverage Projektdatei: MSP_TDO2011_CodeCoverage

Page 20: Softwarequalität mit Visual Studio 2010

Code Analysis Hält sich der Entwickler an die Abmachungen?

Page 21: Softwarequalität mit Visual Studio 2010

Code Analysis

• Coding Guidelines – Beschreiben wie Code geschrieben werden soll – Erleichtern Verständnis im Team – Können Fehler verhindern – Nicht einfach durchsetzbar

• Microsoft .NET Framework Design Guidelines for Class Library Developers http://msdn.microsoft.com/en-us/library/czefa0ke(v=vs.71).aspx

02.03.2011 21

Page 22: Softwarequalität mit Visual Studio 2010

Code Analysis

• Coding Guidlines werden oft nicht von allen Entwicklern eingehalten

• Microsoft verwendet intern seit langem FxCop

• Seit VS 2005 Team System integriert als Managed Code Analysis

• Durch eigene Regeln erweiterbar

• Seit VS 2010 umbenannt in Code Analysis

02.03.2011 22

Page 23: Softwarequalität mit Visual Studio 2010

DEMO Code Analysis Projektdatei: MSP_TDO2011_CodeAnalysis

Page 24: Softwarequalität mit Visual Studio 2010

Code Metrics Zahlen, Zahlen, Zahlen,…

Page 25: Softwarequalität mit Visual Studio 2010

Code Metrics

• Eigenschaften von Code durch Zahlen ausgedrückt

• VS 2010 unterstützt „nur“ fünf Metriken

– Maintainability Index

– Cyclomatic Complexity

– Depth of Inheritance

– Class Coupling

– Lines of Code

02.03.2011 25

Page 26: Softwarequalität mit Visual Studio 2010

Code Metrics

• Maintainability Index Gibt an, wie gut Code in Zukunft gewartet werden kann. MAX(0,(171-5,2*ln(Halstead Volume) – 0.23*(Cyclomatic Complexity)-16,2*ln(Lines of Code)*100/171)

• Wert nicht linear, daher farbliche Visualisierung – Grün: Hohe Wartbarkeit (Wert 20 – 100)

– Gelb: Mittlere Wartbarkeit (Wert 10-20)

– Rot: Niedrige Wartbarkeit (Wert 0-9)

02.03.2011 26

Page 27: Softwarequalität mit Visual Studio 2010

Code Metrics

• Cyclomatic Complexity misst strukturale Komplexität des Codes

– If

– For/While/Do-While

– Switch

– Try/Catch (Seit VS 2010)

Niedrige Werte sind besser

02.03.2011 27

Page 28: Softwarequalität mit Visual Studio 2010

Code Metrics

• Depth of Inheritance Gibt die Tiefe der Vererbungs- struktur an Niedrige Werte sind besser

02.03.2011 28

Page 29: Softwarequalität mit Visual Studio 2010

Code Metrics

• Class Coupling Anzahl der Abhängigkeiten zu anderen Klassen Niedrige Werte sind besser

02.03.2011 29

Page 30: Softwarequalität mit Visual Studio 2010

Code Metrics

• Lines of Code Anzahl Zeilen Code in einer Methode auf Basis des IL-Codes Keine Kommentare, Klammern, usw. Niedrige Werte sind besser

02.03.2011 30

Page 31: Softwarequalität mit Visual Studio 2010

DEMO Code Metrics Projektdatei: MSP_TDO2011_CodeMetrics

Page 32: Softwarequalität mit Visual Studio 2010

Profiling Wie schnell ist mein Code?

Page 33: Softwarequalität mit Visual Studio 2010

Profiling

• Profiler überwachen das Zeit- und Speicherverhalten von Anwendungen

• Zwei Varianten

– Sampling (periodisches Messen von Werten)

– Instrumentation (Injektion von Messcode)

• Unglaublich umfangreiches Tool!!!

02.03.2011 33

Page 34: Softwarequalität mit Visual Studio 2010

DEMO Profiling Projektdatei: MSP_TDO2011_Profiling

Page 35: Softwarequalität mit Visual Studio 2010

Visual Studio 2010 – Die Versionen

02.03.2011 35

Feature Ultimate Premium Professional Express

Code Metrics

Profiling

Unit Tests

Code Coverage

Code Analysis

Quelle: http://www.microsoft.com/germany/visualstudio/products/features.aspx

Page 36: Softwarequalität mit Visual Studio 2010

Weiter SQ-Tools in Visual Studio 2010

• Intelli Trace

• Load Tests

• Manual Testing

• Coded UI Testing

• Lab Management

• Visual Studio Test Professional 2010

• Team Foundation Server 2010

02.03.2011 36

Page 37: Softwarequalität mit Visual Studio 2010

Fragen & Antworten

02.03.2011 37


Recommended