Wie wird mein Code testbar? Referent: David Völkel
|
|
- Irmela Adenauer
- vor 8 Jahren
- Abrufe
Transkript
1 Wie wird mein Code testbar? Referent:DavidVölkel
2 DavidVölkel
3 anti pattern hardtotestcode GuteTestbarkeit
4 Überblick *Testbarkeit *TDDvs.Legacy *Isolation *Ciao accidentalcomplexity!
5 Testbarkeit Kriterien *operability *decomposability *observability *controllability
6 DesignforTestability(DfT) Designziel *wenigtestaufwand UrsprungE Technik *Testschnittstellen
7 TestDrivenDevelopment vs. Legacy
8 TestDrivenDevelopment writefailingtest (refactor) makethetest pass
9 TestDrivenDevelopment writefailingtest (refactor) (refactor) makethetest pass
10 TestDrivenDevelopment writefailingtest (refactor) (refactor) makethetest pass ExterneQualität Funktional
11 TestDrivenDevelopment writefailingtest (refactor) (refactor) makethetest pass ExterneQualität Funktional InterneQualität =>TestDrivenDesign
12 TestDrivenDesign Test *DriveDesign kontinuierlich minimalistisch(yagni) testbar<=>gutesdesign Code
13 TestDrivenDesign *DriveDesign kontinuierlich minimalistisch(yagni) testbar<=>gutesdesign *FeedbackaufDesign Listentoyourtests! (ZitatJohansen,2010) Test Code
14 LegacyCode =keinetests schlechttestbaresdesign *eigenercode *3rdPartyCode(Frameworks)
15 Legacy TDD Renovierung Doppeltschwierig *NochwenigKnowHowimTeam *SchwertestbarerCode
16 Legacy TDD Renovierung * Lazy *FixierungmitSystemtests *Refactoring *UnittestsfürneueFeatures NachFeathers2004
17 Isolation
18 Isolation Ziele *KlarerFokus Test Testaufwandsinkt Fehlerlokalisierung einfacher *Performanz
19 frontdoor *KEINEIsolation *roundtriptests Test *stateverification BegriffenachMeszaros2007 Testling dependedoncomponents (DOCs)
20 backdoor Unittestsgegen Blätter Test Units mitdocs Mocks BegriffenachMeszaros2007
21 Isolierbarkeit Test Problem: TestDoublesnichtsetzbar Refactorings Isolierbar Test Doubles
22 Beispiel:Logger
23 Probleme Controllability(INPUT) Observability(OUTPUT)
24 Ursachen statischeabhängigkeiten *Konstruktoraufrufe *Singletons
25 StatischerAufruf=>Objekte
26 StatischerAufruf=>Objekte Klasse <=> *wenigeraufwand * don'tmockconcrete classes ZitatausFreeman/Pryce2009 Interface *Abhängigkeiten expliziter geringer(isp) *SemantikdurchRollen
27 Setzbarkeit DependencyInjection *DOCssetzbar *Konstruktorvs.Setter *keinstatic
28 StubmitBordmittel Controllability(INPUT) *Inputkontrollierbar *etwassperrig
29 StubmitMockframework einfacherbeibreitereninterfaces
30 TestSpymitBordmitteln Observability(OUTPUT)
31 TestSpymitMockframework *knapp * behaviorverification
32 TransitiveAbhängigkeiten trainwreckcode BegriffvonFreeman/Price Problem:ImpliziteAbhängigkeiten GUI Test Service
33 TransitiveAbhängigkeiten *Abhängigkeitexplizit *nurzu Nachbarn... GUI Test Service Begriff trainwreckcode vonfreeman/price2009
34 DependencyInjection Kontext Objekte Abhängigkeit *kennennurnachbarn
35 Ciao accidentalcomplexity!
36 Ciao accidentalcomplexity! Problem: *komplexesetups *schlechterfokus N 8704K 001_Boatswain_Mate_3rd_Class_Joanna_Saldana_cuts_the_rope_off_a_span_wire_aboard_the_aircraft_carrier_USS_John_F._Kennedy_ %28CV_67%29_during_an_underway_replenishment_.jpg?uselang=de
37 LogischeFehler *Schichten,z.B. Prod Code=>Test Code *Zyklen undvieleanderemehr!
38 decomposability BigBallofMud Separations of Concerns Systemkleinschneiden Alleshängtvonallemab
39 Fokus SRP=>Klasse
40 Unfokussiert... 2Aspekteaufeinmal
41 ExtractClassRefactoring fokussierter... einfachertestbar...
42 N 8704K 001_Boatswain_Mate_3rd_Class_Joanna_Saldana_cuts_the_rope_off_a_span_wire_aboard_t he_aircraft_carrier_uss_john_f._kennedy_ %28CV_67%29_during_an_underway_replenishment_.jpg?uselang=de DfT Strategie TDD Ciao accidentalcomplexity! Isolation
43 Quellen PeterZimmer,2012:Testability ALevertoBuildSustainingSystems,OOP Conference SteveFreeman,NatPryce,2009: GrowingObject OrientedSoftwareguidedbyTests MichealFeathers,2004: Workingeffectivelywithlegacysystems RobertC.Martin,2009: CleanCode GerardMeszaros,2007: xunittestpatterns bzw. ChristianJohansen,2010: Test DrivenJavaScriptDevelopment EricEvans,2003: DomainDrivenDesign
44 Fragen und Diskussion
45 LizensiertunterCreativeCommons3.0Attribution+Sharealikesiehe sa/3.0/deed.de
Design for Testability in der Praxis Referent: David Völkel
Design for Testability in der Praxis Referent:DavidVölkel http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg DavidVölkel anti pattern
MehrDesign for Testability in der Praxis David Völkel, codecentric AG
Design for Testability in der Praxis David Völkel, codecentric AG http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg David Völkel *
MehrTest Driven Development
Test Driven Development Definition & Motivation [~15min] Demo [~10min] Stubs & Mocks [~15min] Übliche Fehler [~5min] Folie 1 TDD [Kent Beck] Schreibe keine Zeile Code ohne einen fehlschlagenden (roten)
MehrSTRICT TDD DIE UNTERSCHÄTZTE WAFFE DES ENTWICKLERS
STRICT TDD DIE UNTERSCHÄTZTE WAFFE DES ENTWICKLERS David Völkel Stuttgarter Testtage 2013 ÜBER MICH David Völkel IT-Consultant für codecentric Twitter: @davidvoelkel Schwerpunkte: Test Driven Development
Mehr- - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2 off 3 3.0 4 2.0 5 off 6 1 8 20.0 9 60 C 7 4.0 10 80 C 1 38 C 12 8 k 13 on 14 30.0 15 10 16 - - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2
MehrMichael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software
Michael C. Feathers Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Vorwort................................................... 13 Geleitwort.................................................
MehrTDD. mit JUnit & Mockito. Tobias Trelle, codecentric
TDD mit JUnit & Mockito Tobias Trelle, codecentric AG @tobiastrelle 1 Tobias Trelle Software Architekt @ codecentric AG Twitter: @tobiastrelle Slideshare: http://de.slideshare.net/tobiastrelle/ GitHub:
MehrPutting TDD to the Test. Edwin Günthner, IBM Germany Development Lab
Putting TDD to the Test Edwin Günthner, IBM Germany Development Lab Zum Titel www.dict.cc: to put sb./sth. to the test jdn./etw. auf den Prüfstand stellen Java Forum Stuttgart 2017 2 Agenda Teil 1: Grundsätzliches,
MehrInhaltsverzeichnis. Geleitwort Einleitung... 13
5 Geleitwort..................................................... 11 Einleitung..................................................... 13 1 Einführung.......................................................
MehrJUnit. HierarchicalContextRunner. Mehr Struktur. TDD. Clean Code. Verantwortung. Skills. Namics. Stefan Bechtold. Principal Software Engineer.
JUnit. HierarchicalContextRunner. Mehr Struktur. TDD. Clean Code. Verantwortung. Skills. Stefan Bechtold. Principal Software Engineer. 16. Oktober 2014 Aus dem Alltag eines Entwicklers Ein typischer (Unit-)
MehrTDD für iphone OS. xpdays 2009. Tammo Freese
TDD für iphone OS xpdays 2009 Tammo Freese Inhalt Unit Testing für iphone OS Mockobjekte für iphone OS TDD für iphone OS? Unit Testing auf dem iphone Vor iphone OS 3.0: kaum dokumentiert nur auf dem Entwicklungsrechner
MehrRefactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag
Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität
MehrINTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN?
INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN? David Völkel XPDays Germany 14.11.2013 ÜBER MICH David Völkel IT-Consultant für codecentric Twitter: @davidvoelkel Schwerpunkte: Test-Driven Development
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrInhalt. Design patterns Kernbereiche Creational patterns Factory method Abstract Factory Builder Structural patterns Adapter Facade Decorator
Inhalt Gute OOP-Programmierung ist schwer Objekte Objekte, wird aber so vermittelt (siehe jede Einführung in OOP) Ansprüche an gutes Design diametral welche Ansprüche haben wir überhaupt? Fehler im Design
MehrRecord Refactor - Replay
Record Refactor - Replay Stefan Mandel 2 Java-Code den man nicht hinterlassen sollte Hat zu wenige (automatisierte) Tests Hat unkontrollierte Seiteneffekte Auf globale Variablen Und Argumente Verzichtet
MehrSEQIS 10 things. Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung
SEQIS 10 things SEQIS 10 things Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide 26.06.14 API Testing:
MehrRefactoring C# Legacy Code
Refactoring C# Legacy Code Stefan Lieser @StefanLieser http://refactoring-legacy-code.net http://er.jsc.nasa.gov/seh/13index.jpg Houston, we ve had a problem. Wandelbarkeit https://pixabay.com/de/chamäleon-hautnah-exotische-grün-1414084/
MehrInhaltsverzeichnis. Vorwort 15
Vorwort 15 Einleitung 17 Über dieses Buch 18 Wie Sie dieses Buch verwenden 18 Wer dieses Buch lesen sollte 18 Meilensteine 18 Codekonventionen und Downloads 19 Softwareanforderungen 20 Danksagung 20 Teil
MehrDesign Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
MehrSystematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015
Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von
MehrSkalierbare Enterprise Architekturen für Universal Windows Platform Apps
Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für
MehrTest-driven development JUnit-Test. Lars Varain
Test-driven development JUnit-Test Lars Varain Inhalt Test-driven Development (TDD) Junit4 Beispiel Inhalt Test-driven Development (TTD) Warum TDD? Zyklus Ausnahmebehandlung Junit4 Beispiel Inhalt Test-driven
MehrInhaltsverzeichnis. Teil I Erste Schritte 23. Vorwort zur zweiten Auflage... 13. Vorwort zur ersten Auflage... 15. Einleitung...
Vorwort zur zweiten Auflage....................................... 13 Vorwort zur ersten Auflage......................................... 15 Einleitung.......................................................
MehrPrüfungsvorbereitungsfragen SE2
Prüfungsvorbereitungsfragen SE2 Woche 1 Projektmanagement 1. Erklären Sie den Satz Projektmanagement ist keine Insel. Woche 2 Build Server / Automation 2. Warum braucht es Buildserver? 3. Nennen sie drei
MehrIterativ. Inkrementell
Iterativ Inkrementell Build Release Test Qualität Architektur & Documentation Distributed Version Control Continuous Integration TDD Design Agile Architektur Dependency Feature Branches Mocks
MehrLanglebige Softwarearchitekturen - technische Schulden beherrschen und abbauen
Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software
MehrSoftwaretests mit Junit
Softwaretests mit Junit Techniken der testgetriebenen Entwicklung Bearbeitet von Johannes Link überarbeitet 2005. Taschenbuch. XVI, 416 S. Paperback ISBN 978 3 89864 325 2 Format (B x L): 16,5 x 24 cm
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
MehrReengineering und Refactoring von Softwarearchitekturen
Methodische und Praktische Grundlagen der Informatik 3 Reengineering und Refactoring von Softwarearchitekturen Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik WS 2008/2009 Lernziele?
MehrTDLCR Test Driven Legacy Code Refactoring
TDLCR Test Driven Legacy Code Refactoring Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Java Forum Nord Hannover, 20.10.2016 Version: 1.0 www.oio.de info@oio.de Abstract Bestandsanwendungen
MehrUnit Testing, SUnit & You
HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You
MehrCode Retreat Softwerkskammer Stuttgart / JUGS 17. Nov. Oliver Böhm JUGS / Daniel Georges Softwerkskammer Stuttgart
Code Retreat Softwerkskammer Stuttgart / JUGS 17. Nov Ablauf 09:00 : Ankunft und Frühstück 09:30 : Einführung durch den Moderator 10:00 : Session #1 10:45 : Retrospektive und Pause 11:00 : Session #2 11:45
MehrTimo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET
Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur
MehrFunktionales TDD. Alles gleich oder alles anders?
Funktionales TDD Alles gleich oder alles anders? Johannes Link johanneslink.net Softwaretherapeut "In Deutschland ist die Bezeichnung Therapeut allein oder ergänzt mit bestimmten Begriffen gesetzlich nicht
MehrInhalt. 3.1 Der inkrementelle Entwurf im Überblick... 13 3.2 Flache Aufwandskurve... 14 3.3 Qualitätskriterien für den inkrementellen Entwurf...
ix 1 Einleitung 1 Roman Pichler Stefan Roock 1.1 Agile Softwarewicklung und Scrum............................ 1 1.2 Zielgruppe und Zielsetzung.................................. 2 1.3 Überblick über das
MehrRefactorings in großen Softwareprojekten
Refactorings in großen Softwareprojekten (C) 2004 Martin Lippert lippert@acm.org Stefan Roock stefan@stefanroock.de Was ist Refactoring? A change made to the internal structure of software to make it easier
MehrÜbung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter
Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster
MehrProbeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16
Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle
MehrPHP 6 Beliebte Webskriptsprache wird erwachsen. Linux User Group Bern 14.05.2009 René Moser <mail@renemoser.net>
PHP 6 Beliebte Webskriptsprache wird erwachsen Linux User Group Bern 14.05.2009 René Moser Inhalt 1.Wie entstand PHP? 2.Was PHP? 3.Warum PHP? 4.Wie installiere ich PHP? 5.Wie programmiere
MehrDie Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer
Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer Inhalt Top Themen Requirements Testen Testautomatisierung Change-Management Risiko-Management Agile Methoden Traceability
MehrFragen Arthur Zaczek. Dez 2015
Arthur Zaczek Dez 2015 1 Ihre Fragen 2015 2 Allgemeines 2.1 Sinnhaftigkeit Ich bitte um Verzeihung, aber ich hatte in diesen Semester nicht die Zeit, die ich für diese Lehrveranstaltung gebraucht hätte,
MehrPS Software Engineering WS 2018/19
PS Software Engineering WS 2018/19 Wöchentlich Dienstag 08:00-10:00 Start: 8:15 Termine: PLUSonline Homepage zum PS: Allgemeines www.softwareresearch.net Teaching Programmieren im Großen Die Entwicklung
MehrScriptbasierte Testautomatisierung. für Web-Anwendungen
Scriptbasierte Testautomatisierung für Web-Anwendungen Scriptbasierte Testautomatisierung + Web-Anwendung: Erstes Einsatzgebiet, Ergebnisse aber allgemein übertragbar + Test aus Benutzersicht - Nicht Unit-Test,
MehrChristoph Behounek, eggs unimedia
Adobe Experience Manager6.1 Planung eines erfolgreichen AEM Upgrades Christoph Behounek, eggs unimedia Adobe Experience Manager Ohne Planung funktioniert es nicht Planung eines erfolgreichen AEM Updates
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrWas bringt TDD wirklich?
Was bringt TDD wirklich? Wissensspritze vom 6..2009, Christian Federspiel Catalysts GmbH McCabe Metrik CCN Die Cyclomatic Complexity Number, misst die Anzahl der möglichen Pfade durch einen Code. Die Metrik
Mehrxii 5.3 Debugging Einplanung der Fehlersuche in Produkt und Prozess Vorbereitung und Ausführung des Debugging
xi I Warum überhaupt testen? 1 1 Komplexe Systeme führen zu Fehlern... 3 1.1 Kommunikation.............................................. 3 1.2 Gedächtnis... 6 1.3 Fachlichkeit... 6 1.4 Komplexität... 7
MehrSeminarprogramm 2014. Test-Driven Development mit ABAP OO Praktiken & Design Pattern Zeitmanagement Inhouse Seminare Webinare & elearning
Seminarprogramm 2014 Test-Driven Development mit ABAP OO Praktiken & Design Pattern Zeitmanagement Inhouse Seminare Webinare & elearning Majer Consulting WER WIR SIND Herzlich Willkommen zum Majer Training
MehrThe Art of Unit Testing
The Art of Unit Testing Deutsche Ausgabe von Roy Osherove, Michael Feathers, Robert C. Martin 1. Auflage The Art of Unit Testing Osherove / Feathers / Martin schnell und portofrei erhältlich bei beck-shop.de
MehrSoftware - Testung ETIS SS05
Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks
MehrFactory Patterns und deren Auswirkung auf die Softwarearchitektur in der Praxis
Factory Patterns und deren Auswirkung auf die Softwarearchitektur in der Praxis Klaus Kusche, Juni 2013 Inhalt Was ist das? Warum braucht man das? Was bringt das? Wann hilft es noch? Realistisches Beispiel
MehrFWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java
FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java Hochschule München FK 07 SS 2009 Theis Michael - Senior Developer HVB Information Services GmbH März 2009 Grundlagen des
MehrTestgetriebene Entwicklung
Testgetriebene Entwicklung Arbeitskreis Objekttechnologie Norddeutschland Hamburg, 18.03.2002 Frank Westphal freier Berater, Hamburg Tammo Freese OFFIS, Oldenburg westphal@acm.org tammo.freese@offis.de
MehrFORTGESCHRITTENE ANDROID ENTWICKLUNG Max Wielsch 27.05.2015
FORTGESCHRITTENE ANDROID ENTWICKLUNG Max Wielsch 27.05.2015 WAS LETZTES MAL GESCHAH... Eine Notitz App 2 Ansichten entwickelt: 1. Übersicht (Anlegen, Details anzeigen / bearbeiten) 2. Detailansicht (Bearbeiten):
MehrLabor Datenverarbeitung SS 2006
Labor Datenverarbeitung SS 2006 Versuch Speicherprogrammierbare Steuerungen Versuch Objektorientierter Entwurf mit Design-Pattern 1 SPS, Allgemeines Umfang der Versuche Logische Grundverknüpfungen kombinatorische
Mehr7. Zusammenfassung (1)
Typisierung in OO-Sprachen Subtyping vs. Subclassing Untertypen für Typkonstrukte Funktionsuntertypen und Überschreiben Generik Einsatz von Vererbung konzeptioneller Entwurf: Abstraktion Spezialisierung
MehrThe Art of Unit Testing
The Art of Unit Testing 01.02.2011 Marco Heimeshoff Heimeshoff@gmx.de Übersicht Grundlagen des Unit Testing Test Driven Development Stubs & Mocks Behavior Driven Design The Art of Unit Testing Definition
MehrTesting Today - Seminar Sommersemester 2015. Dipl.-Math. Raphael Pham, Prof. Kurt Schneider
Sommersemester 2015 Dipl.-Math. Raphael Pham, Prof. Kurt Schneider Heute Überblick über relevante Research Topics Vergabe der Themen 2 Aktuelle Forschungsthemen im Software Testing 3 Definition: Software
MehrDie Kunst der kleinen Schritte. David Völkel XP Days Germany
Die Kunst der kleinen Schritte David Völkel XP Days Germany 09.11.2018 @davidvoelkel codecentric Software Craft Meetup Munich David Völkel XP Days Germany 09.11.2018 #TDD Disclaimer! "It's the small steps
MehrFabian Schmengler Pragmatisches Unit Testing. Meet Magento DE 2015
Fabian Schmengler Pragmatisches Unit Testing Meet Magento DE 2015 1 Agenda Grundlagen: Warum automatisierte Tests? Tests und TDD mit Magento: Überblick und Beispiel Ausblick auf Magento 2 2 Warum Automatisiertes
MehrSoftware-Entwurfsmuster (weitere) A01 OOP. Software-Entwurfsmuster (weitere)
2014-01-08 Software-Entwurfsmuster (weitere) 1 185.A01 OOP Software-Entwurfsmuster (weitere) 2014-01-08 Software-Entwurfsmuster (weitere) 2 OOP Vererbung versus Delegation class A { public void x() { z();
MehrStatt Banaware Java GUI Testautomatisierung
Statt Banaware Java GUI Testautomatisierung Martin Moser Quality First Software GmbH qfs@qfs.de Tel: +49 8171 386480 Überblick Quality First Software GmbH Warum Testen? GUI Testautomatisierung Demo QF-Test
MehrTDLCR Test Driven Legacy Code Refactoring
TDLCR JUG Hannover 15.03.2017 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Über mich Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator
MehrSASUnit in der Praxis: Aufbau eines Sicherheitsnetzes für angstfreie Änderungen an SAS Programmen
SASUnit in der Praxis: Aufbau eines Sicherheitsnetzes für angstfreie Änderungen an SAS Programmen KSFE 2016 in Greifswald 03.03.2016 Johannes Lang HMS Analytical Software 1 HMS Analytical Software GmbH
MehrEffektives Arbeiten mit Legacy Code
Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software von Michael C. Feathers 1. Auflage Effektives Arbeiten mit Legacy Code Feathers schnell und portofrei erhältlich bei beck-shop.de
MehrAutomatisierte Akzeptanztests und TDD für ios
Automatisierte Akzeptanztests und TDD für ios Sven Günther - it-agile GmbH User Storys Als möchte ich damit Woher kommen die Details? User Story Woher kommen die
MehrTestgesteuert Entwickeln mit JUnit 4
Testgesteuert Entwickeln mit JUnit 4 Tests nebenbei automatisieren Christoph Knabe Beuth-Hochschule für Technik Berlin Testgesteuert Entwickeln mit JUnit4, Christoph Knabe 2002, BHT Berlin, FB VI, 2016-10-20,
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
MehrAgilisierung von Testsystemen
Agilisierung von Testsystemen Von der Eistüte zur Testpyramide ObjektForum Stuttgart, 15.09.2014 Daniel Knapp 2 Typische Probleme in historisch gewachsenen Systemlandschaften Ausgedehnte QS- und Stabilisierungsphasen
MehrTestbarkeit im Entwicklungsprozess
Testbarkeit im Entwicklungsprozess TAE-Kolloquium Testen im System- und Software-Lifecycle 30. November 2005 Dr. Stefan Jungmayr Teradyne Diagnostic Solutions Sprecher des GI-Arbeitskreises Testen objektorientierter
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrLavA OS: Ein Betriebssystem für konfigurierbare MPSoCs
LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs Diplomarbeit Abschlussvortrag Stephan Vogt stephan.vogt@cs.uni-dortmund.de 1 Inhalt Einleitung Wiederverwendung von BS Arbeiten an CiAO Kommunikation
MehrEffizientes und effektives Testen von Embedded SW mit Google Test. Michael Bernhard
Effizientes und effektives Testen von Embedded SW mit Google Test Michael Bernhard 1 Agenda Warum testen? Wie testen? Google Test und Google Mock Toolintegration Schlussfolgerung 2 Die Norm fordert es
MehrTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen Dr. Carola Lilienthal Carola.Lilienthal@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Business-Software, die
MehrSEMINARPROGRAMM APPLIED ABAP OBJECTS TRANSFORMING TECHNICAL DEBT TDD WITH ABAP CLEAN CODE ABAP DESIGN PATTERNS WITH ABAP SAP POWER DAYS MAJER TRAINING
2019 SEMINARPROGRAMM APPLIED ABAP OBJECTS TRANSFORMING TECHNICAL DEBT TDD WITH ABAP CLEAN CODE ABAP DESIGN PATTERNS WITH ABAP SAP POWER DAYS MAJER TRAINING WER WIR SIND Herzlich Willkommen zum Majer Training
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrMocking Libraries Shootout
Mocking Libraries Shootout Warum ist Mocking interessant? Ermöglicht Tests ohne echte Testumgebung Schnelle Tests durch gute Test-Isolation Kontrolle des indirekten Inputs Simulation von Fehlern Überprüfung
MehrViele Entwickler finden Testen langweilig.
1 Viele Entwickler finden Testen langweilig. 2 Das galt auch für mich und meine Kollegen. 3 Programmierung kreativ Testen wiederholend, langweilig, eintönig 4 Programmierung konstruktiv, neuen Nutzen schaffen
MehrENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN 1 / 21. Markus Just Wissenschaftliche Vertiefung
ENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN Markus Just 22.01.2016 Wissenschaftliche Vertiefung 1 / 21 Agenda 1) Einführung 2) SOLID- nach Robert C. Martin 3) Fazit 2 / 21 Mängel von
MehrInhalt. TEIL I ABAP gestern, heute und morgen. 1 Qualität, Performance und Sicherheit in der aktuellen Softwareentwicklung... 23
Einleitung... 15 TEIL I ABAP gestern, heute und morgen 1 Qualität, Performance und Sicherheit in der aktuellen Softwareentwicklung... 23 1.1 Motivation... 24 1.1.1 Dimensionen von Qualität... 25 1.1.2
MehrEinblicke ins Testen und die testgetriebene Entwicklung (TDD) in wissenschaftlicher Softwareentwicklung
Einblicke ins Testen und die testgetriebene Entwicklung (TDD) in wissenschaftlicher Softwareentwicklung Im Seminar Softwareentwicklung in der Wissenschaft 2015 Hamburg 5. Mai 2015 Marek.Jacob@studium.uni-hamburg.de
MehrAgile Methoden. David Tanzer. Oliver Szymanski
Agile Methoden David Tanzer Oliver Szymanski Ziel von Softwareentwicklung Anforderungen zuverlässig und effizient in lauffähige Software verwandeln. Ziel von Softwareentwicklung Bedürfnisse des Kunden
MehrLanglebige Softwarearchitekturen der Weg aus den technischen Schulden
Langlebige Softwarearchitekturen der Weg aus den technischen Schulden Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software, die Spaß
MehrBuild-Pipeline mit Jenkins
JUG Augsburg 24.10.2013 Seite 1 Wer sind wir? Agiler Architekt und Entwickler Eigenes Produkt mit kompletter Pipeline / CD aktuell: Architekt / Entwickler in einem großen Entwicklungsprojekt im Automotiv
MehrWahlpflichtfach Design Pattern
Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338
MehrContinuous Integration mit VSTS Dieter Rüetschi
Continuous Integration mit VSTS Dieter Rüetschi (ruetschi@ability-solutions.ch) 1 2 Warum ist Continuous Delivery so wichtig? Geschwindigkeit schnell auf dem Markt Unterstützung und Teil des ALM 3 DevOps
MehrSeminarprogramm 2015. Majer Training
Seminarprogramm 2015 ABAP Objects Refresher Test-Driven Development mit ABAP OO-Praktiken & Design Pattern Agiles Zeitmanagement Building High Performance Teams Inhouse-Seminare Webinare Majer Training
MehrDie Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger
Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger Joerg.Baechtiger@Abraxas.ch http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge
MehrStabile GUI-Tests durch modulare Testarchitektur. Martin Moser
Stabile GUI-Tests durch modulare Testarchitektur Martin Moser qfs@qfs.de +49 8174 386 48 0 Überblick Quality First Software GmbH Testziele GUI Testautomatisierung 2 / 21 Quality First Software GmbH Gegründet
MehrCode verifizieren mittels
Code verifizieren mittels Unit- und Regressionstests Institut für Numerische Simulation, Universität Bonn Seminarreihe Technische Numerik Wozu sollen gut sein? Was für Testarten gibt es? Wie funktionieren
MehrÜble Gerüche aus der Entwicklerküche. Wann fängt Programmcode an (uns) zu stinken?
Üble Gerüche aus der Entwicklerküche Wann fängt Programmcode an (uns) zu stinken? Ziel dieses Vortrags Sie vermeiden üble Gerüche aus der Entwicklerküche Sie schlafen Nachts wieder ruhiger Sie kennen 5
MehrGI Fachgruppentreffen RE 2015
GI Fachgruppentreffen RE 2015 Miteinander reden statt gegeneinander schreiben Lagerfeuer Bundenbach Schmidtburg 2003 von Tiger St.Georg - selbst fotografiert von Tiger St.Georg. Susanne Mühlbauer 1 November
MehrUnit Tests in der Testgetriebenen Entwicklung
Unit Tests in der Testgetriebenen Entwicklung Reduzierung des Testanteils am Gesamtsoftwareentwicklungsaufwand -- neue Strategien und Tools -- Hauptseminar Systemorientierte Informatik Christian Krauß
MehrSoftware Technologie Refactoring. Nutzungsverhalten der Entwickler bzgl. des Refactoring. Nguyen Hung
Software Technologie Refactoring Thema 1.1 Nutzungsverhalten der Entwickler bzgl. des Refactoring Nguyen Hung Überblick Refactoring Ziele des Refactoring Refactoring bei Entwicklern Nutzungsverhalten Fragen
MehrLegacy Code meistern in x einfachen Schritten
Legacy Code meistern in x einfachen Schritten Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Abstract In einer idealen Welt würden wir nur "neuen" Code
Mehr