Test Driven Development - Romano Adler-

Slides:



Advertisements
Ähnliche Präsentationen
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
Advertisements

Web-Entwicklung mit ASP.NET 2.0 und Visual Studio 2005 Uwe Baumann Marketing Manager Developer Tools Microsoft Deutschland GmbH Oliver Scheer Developer.
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Windows Vista für Entwickler
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
Fighting the mud TESTING BROWNFIELD APPLICATIONS.
© by ppedv AG Partner: Silbersponsoren:Veranstalter: Goldsponsor: Automatisierte Generierung von Unit-Tests mit PEX Thomas Schissler
Formatvorlage des Untertitelmasters durch Klicken bearbeiten Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner: Web Content Management.
Microsoft Office Forms Server
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Testing using Mock Obejcts
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Google App Engine Microsoft Windows Azure
Workshop WPF für Windows-Entwickler
Tutorial im Rahmen des Software(technik)praktikums
Stellen Sie sich vor: .....kurz vor der Einführung, ein neues Produktes / eine neue Software.....
Unit Testing Roger Boesch Technology Solution Professional Developer Tools Microsoft Schweiz GmbH blogs.msdn.com/rogerboesch © 2004 Microsoft Corporation.
Automated Software Testing
demo Kostenlos bis 5 Benutzer Entwickelt für kleine Teams Source Control Work Item Tracking Build Automation Mehr… Support für Visual Studio.
Versionsverwaltung für Visual Studio .NET mit Subversion
SQL Server 2005 CLR-Integration
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
IT Pro Day Entwicklung und Betrieb näher zusammen dank System Center 2012 und Team Foundation Server 2012 Hansjörg Scherer ALM Spezialist, Microsoft Schweiz.
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
& Was ist neu im TFS 2013! Referent: Neno Loje
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
| Basel Developing apps for SharePoint 2013 using Visual Studio 2013 René Modery, Office 365 MVP, 1stQuad Solutions.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
Visual Studio 2012 Pre-Launch Event Neno Loje Berater & MVP für Visual Studio ALM, TFS & Scrum, Hansjörg Scherer Microsoft Switzerland.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Christian Binder Senior Platform Strategy Manager Microsoft
Roger Boesch Developer Technical Specialist Developer and Platform Group.
HandsOn Cloud, Infrastruktur, Architektur, Solution Design SharePoint for Internet Sites: Erfahrung aus der Praxis.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
Cooperation unlimited © Zühlke August 2008 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
MVVM in Windows 8 und Windows Phone 8
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 7 Folie 2 Styles (1) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Model-View-ViewModel s.a.
XML IV: Cocoon 2.
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
SharePoint FIS HandsOn – out of the Box.
Was dir Trivialbeispiele in Async and Await nicht sagen! Marcus Kimpenhaus und Martin Möllenbeck.
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
Office Business Anwendungen mit SharePoint 2010 Fabian Moritz SharePoint MVP.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
Team-Foundation-Server in der Praxis
Basel, September 2, 2008 Work Stream Template: ODM.
Agile ALM for Plex/2E CM MatchPoint ALM. Themen Agenda CM MatchPoint ALM Übersicht CM MatchPoint 5.2 Web und Mobile Entwicklung Agile ALM / DevOps CM.
TDD mit MSTest Stefan Lieser Web:
TDD mit MSTest Stefan Lieser
ASP.NET MVC Stefan Lieser Web:
Stefan Lieser Web:
Stefan Lieser Web:
Developer Day Entwicklung und Betrieb näher zusammen dank Team Foundation Server 2012 und System Center 2012 Hansjörg Scherer ALM Spezialist, Microsoft.
Thomas Schissler – artiso solutions GmbH Artur Speth – Microsoft Deutschland GmbH.
TDD mit MSTest Stefan Lieser Web:
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
 Präsentation transkript:

Test Driven Development - Romano Adler-

Warum sollte man nicht testen? Wir machen viel Prototyping…. Wir haben keine Zeit um noch Tests zu schreiben… Unsere Anwendung lässt sich nicht testen… Durch manuelles Testen werden alle Fehler gefunden… … Jaaaa, morgen müssen wir Unit-Tests einführen!

Agenda Unit-Testing mit Visual Studio Test Driven Development-Paradigmen Model View Presenter-Pattern Mock Frameworks Behavior Verification

Unit-Testing mit Visual Studio

Unit Testing kleinste Einheit in OO = Methode Test beschreibt einen Vertrag erfordert gute Kapselung in.NET: NUnit / Visual Studio 2005 / 2008 Method to test Test Asserts

Visual Studio Test Attributes [TestClass()] [TestMethod()] [ClassInitialize()] / [ClassCleanup()] [AssemblyInitialize()] / [AssemblyCleanup()] [TestInitialize()] / [TestCleanup()] [Priority()] [Ignore()] [Owner()] [Description()] [DataSource()] [ExpectedException()]

DEMO

Unit-Testing Vorteile Grundlage für Refactoring Fehler durch Änderungen können entdeckt werden (Regression Testing) erleichtert die Integration (Integration Testing) bringt bessere Architektur z.B. Trennung zwischen Schnittstelle und Implementierung Dokumentation

Unit-Testing Best Practices Test vor /während dem Produktiv-Code entwickeln Isolation nur Methoden testen keine Abhängigkeiten zwischen Tests eine Test-Klasse pro Produktiv-Klasse eine Methode pro Test-Fall Mock-Objekte um Interfaces zu testen

Visual Studio Testing Create Private Accessors Code Coverage Build Server per Check-In Nightly Build Continuous Integration

Visual Studio Testing Load Tests

Visual Studio Testing Web Tests

Visual Studio Testing UI Tests TestAutomationFX MVP-Pattern

Team Systems - Überblick Version Control Work Item Tracking Build Automation Team Communications Reporting

Test Driven Development- Paradigmen

Der evolutonäre Entwurf Entwicklung des Tests (dieser muss fehlschlagen) Entwicklung der Funktion, sodass der Test (und alle anderen) funktioniert Refactoring Bis dem Entwickler keine Tests mehr einfallen

Test Driven Development Testen anhand der Anforderungen erst Test schreiben kurze Iterationen: soviel Code wie nötig erstes Ziel: alle Tests müssen durchlaufen hohe Codeabdeckung

DEMO

Model View Presenter Design Pattern

Warum Model View Presenter Design Pattern? Darstellung Eingabe …… Logik Logik? Backend Client

Warum Model View Presenter Design Pattern? Logik Backend Rich-Client Web-Client ViewPresenterModel

Model View Presenter Design Pattern IView View PresenterModel

Model View Presenter Design Pattern IView: Abstraktion einer View definierte Methoden, Properties und Events für den Presenter View: konkrete View sollte kaum Logik enthalten wird nicht getestet

Model View Presenter Design Pattern Presenter implementiert client-seitige Logik Model stellt dem Client Daten und Dienste zur Verfügung

Mock Frameworks

Mock Object simuliert das Verhalten eines Objekts wird benutzt, um das Verhalten eines anderen Objektes zu simulieren benutzt dasselbe Interface, wie das richtige Objekt

Rhino Mocks Ayende Rahien (Oren Eini) MockRepository mockery = new MockRepository (); IMockObject mock = mockery.CreateMock (); using ( mockery.Record () ) { SetupResult.For (mock.GetTest()).Return (Hello"); …

Rhino Mocks Mock Container: MockRepository Strict Mock: CreateMock () None Strict Mock: DynamicMock () Partial Mock: PartialMock () Stub: Stub () Verhalten aufzeichnen: Record() Verhalten definieren: SetupResult.For() Erwartungen definieren: Expect.On () Verhalten überprüfen: Playback()

DEMO

Behavior Verification

prüft das Verhalten einer Methode Method to test Test Asserts Method to test Test klassisches Unit-Testing Behavior Verification

DEMO

Referenzen A Unit Testing Walkthrough with Visual Studio Team Test: Visual Studio Team System 2008 Team Foundation Server: Model View Presenter - Jean-Paul Boodhoo: dnrTV MVP: ARCast.TV - Presenter First Pattern | ARCast.TV | Channel 9: First-Pattern-Part-1/ First-Pattern-Part-1/ The Humble Dialog Box - Michael Feathers: x.pdf x.pdf Rhino Mocks: xUnit-Patterns:

Fragen