Softwaretests mit Junit

Ähnliche Dokumente
Johannes Link studierte medizinische Informatik an der Universität Heidelberg und war anschließend drei Jahre in der akademischen und industriellen

Filme der Kindheit Kindheit im Film

Basiswissen Testautomatisierung

Die Unternehmergesellschaft

Basiswissen Softwaretest

ISO Die Softwaretest-Normen verstehen und anwenden

Mobile Computing und RFID im Facility Management

Langlebige Software-Architekturen

Objektorientierte Programmierung in Java

Basiswissen Medizin des Alterns und des alten Menschen

Bauaufsichtliche Zulassungen - Teil IV: Gewässerschutz (BAZ IV)

Hybride Finanzierung im Internationalen Steuerrecht

Testmanagement bei SAP-Projekten

CAD und PDM: Prozessoptimierung durch Integration

Professionelle Kompetenz von Mathematiklehramtsstudierenden

Die Erwartungen der Eltern an die weiterführende Schule beim Schulübertritt ihres Kindes von der Grundschule in die Sekundarstufe I

Figur und Handlung im Märchen

JavaScript objektorientiert

Kompetenzorientierte Sexualerziehung

mitp/die kleinen Schwarzen Dropbox Sicher speichern und effektiv arbeiten in der Cloud Bearbeitet von Christian Schilling

Verifikation und Validierung für die Simulation in Produktion und Logistik

Analyse und Entwurf von Softwaresystemen mit der UML

Die finanzpolitische Bedeutung des Sports in Deutschland

Anforderungsprofile und akademischer Arbeitsmarkt

Social Media. Potenziale, Trends, Chancen und Risiken. Bearbeitet von Roland Gabriel, Heinz-Peter Röhrs

Analytische Individualpsychologie in der therapeutischen Praxis

Zeitung als Zeichen. Identität und Mediennutzung nationaler Minderheiten in Deutschland. Bearbeitet von Swea Starke

Netzwerkprogrammierung unter Linux und UNIX

Social Media im Personalmanagement

SPS-Grundlagen. Aufbau, Programmierung (IEC 61131, S7), Simulation, Internet, Sicherheit. Bearbeitet von Jens von Aspern

Achtsamkeit in der Verhaltenstherapie

Die Universität Berlin als Modell und seine Einflüsse in China von 1902 bis 1952

Die Genehmigung der Vorteilsannahme und der Vorteilsgewährung

"Doch nicht unser Kind..."

Medizinische Statistik mit R und Excel

Das PostNuke Kompendium

Mathematische Optimierung mit Computeralgebrasystemen

STEP - Das Buch für Lehrer/innen

Borderline-Therapie. Psychodynamik, Behandlungstechnik und therapeutische Settings. Bearbeitet von Dr. Mathias Lohmer, Otto F.

Geometrische Denkweisen beim Lösen von PISA-Aufgaben

Handbuch Unified Communications

Wissenschaftliches Arbeiten 4.0

Wo ist das Problem? Mit Design Thinking Innovationen entwickeln und umsetzen. Bearbeitet von Markus Blatt, Emmanuel Sauvonnet

Der kreative Kosmos. Geist und Materie aus Quanteninformation. Bearbeitet von Thomas Görnitz, Brigitte Görnitz

Strategie: Stimmungsmache

Softwareentwicklung eingebetteter Systeme

Das Drogentaschenbuch

Enthospitalisierung und Lebensqualität

Verletzte Kinderseele

Allgemeine Psychologie - Denken und Sprache

Software-Entwicklung mit Delphi

Lehrbücher der Erziehungswissenschaft - ein Spiegel der Disziplin?

Trendsportarten. Belastungsprofile, Verletzungsmuster, Therapien. Bearbeitet von Kerstin Warnke, Michael Phieler

POL-Leitsymptome Herz-Kreislauf-System

Basiswissen Zahlentheorie

Inklusiver Mathematikunterricht in der Primarstufe

Adobe Photoshop Lightroom 5 für Einsteiger

Erfolgreiche Webtexte

Erfolgreich mit Scrum - Einflussfaktor Personalmanagement

IT-Service Management mit ITIL

Kanban. Optimale Steuerung von Prozessen. Bearbeitet von Gerhard Geiger, Ekbert Hering, Rolf Kummer

Prozessoptimierung mit statistischen Verfahren

Office 2010 Programmierung mit VSTO und.net 4.0

Lesestrategien für die Hypothesenbildung und die Erschließung von Handlungen

Ökonomische Theorie des Gesellschaftsvertrags

Grundinformation Theologische Ethik

Wandel der Beratungsqualität auf dem Versicherungsvermittlungsmarkt

Sprachstörungen im Kindesalter

Klinische Psychologie: Körperliche Erkrankungen kompakt

Methoden der Verhaltensbiologie

Das türkische Polizeirecht - Führt der Weg nach Europa?

Das Gesetzesverständnis Jesu im Lukasevangelium

Strategisches Technologie- und Innovationsmanagement

S2-Leitlinien für Persönlichkeitsstörungen

Funktionentheorie erkunden mit Maple

Das Bundesverfassungsgericht im Politikfeld Innere Sicherheit

Religionspädagogik. Ein Arbeitsbuch. Bearbeitet von Prof. Dr. Frank Thomas Brinkmann

»Ich bin doch auch zu etwas nütze«

Chancen und Risiken der Industrialisierung in der Versicherungswirtschaft

Grundlagen und Grundfragen der Inklusion

Organisation internationaler Nichtregierungsorganisationen

Easy ISO 9001:2000 für kleine Unternehmen

Übergangs- und Endkonsolidierung nach IFRS

Management-Atlas. Management-Methoden für den Arbeitsalltag. Bearbeitet von Martin J. Eppler, Jeanne Mengis

Übersetzen als Problemlöseprozess

Management von Innovationen im Gesundheitswesen. Telemedizin. Wege zum Erfolg

mitp Business Mobile Usability Für iphone, ipad, Android, Kindle Bearbeitet von Jakob Nielsen, Raluca Budiu

Beziehungsräume in der Sozialen Arbeit

Was Lebenskuenstler richtig machen von Achtsamkeit bis Zufriedenheit

Raspberry Pi. Einstieg - Optimierung - Projekte. Bearbeitet von Maik Schmidt

Grundwissen Mathematik

Die Integration ostdeutscher Flüchtlinge in der Bundesrepublik Deutschland durch Beruf und Qualifikation

examen.press Software-Qualität Bearbeitet von Dirk W Hoffmann

Tschernobyl in Belarus

Nicht nur Klettern oder Urlaub!

Zwischen fristgerechter und verspäteter Einschulung

Zur Bedeutung der Early Literacy für den Schriftspracherwerb

Vermarktungsstrategien für das Buch im multimedialen Raum

Die gemeinsame Trägerschaft von Einrichtungen durch mehrere Bundesländer

Transkript:

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 Gewicht: 705 g Weitere Fachgebiete > EDV, Informatik > Software Engineering > Objekt-Orientiertes Software-Engineering Zu Leseprobe schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.

xiii Teil I Basistechniken 1 1 Einleitung 3 1.1 Kleine Begriffslehre... 5 1.2 Testen in XP... 6 1.3»Testgetriebene Entwicklung«kleine Definition... 11 1.4 Nur Java oder auch anderen Kaffee?... 14 1.5 Was das Buch sein möchte und was nicht... 14 1.6 Aufbau des Buches... 15 1.7 Konventionen... 15 1.8 Website zum Buch... 16 2 Testautomatisierung mit JUnit 17 2.1 Was wollen wir automatisieren?... 18 2.2 Anforderungen an ein Automatisierungsframework... 19 2.3 JUnit... 21 2.4 Zusammenfassung... 32 3 Grundschritte der testgetriebenen Softwareentwicklung 33 3.1 Testen Classic... 33 3.2 Step by Step... 37 3.3 Abhängigkeiten... 47 3.4 Testorganisation und Testausführung... 56 3.5 Zusammenfassung... 62 4 Testideen und Heuristiken 63 4.1 Überarbeitung einzelner Tests... 64 4.2 Schwarze und weiße Kisten... 67 4.3 Granularität der Testfälle... 68 4.4 Grenzwerte... 70

xiv 4.5 Äquivalenzklassen... 71 4.6 Fehlerfälle und Exceptions... 72 4.7 Objektinteraktionen... 79 4.8 Design by Contract... 81 4.9 Weitere Ideen zur Testfallfindung... 84 4.10 Refactoring von Code und Tests... 85 4.11 Zusammenfassung... 87 5 JUnits Innenleben 89 5.1 Die Statik... 89 5.2 Lebenszyklus einer Testsuite... 91 5.3 Projektspezifische Erweiterungen... 94 5.4 Die Konkurrenz... 94 5.5 Zusammenfassung... 95 6 Isoliertes Testen mit Dummy- und Mock-Objekten 97 6.1 Kleine Attrappe... 97 6.2 Begriffswirrwarr... 100 6.3 Große Attrappe... 100 6.4 Wir bauen an... 106 6.5 Endoskopisches Testen... 108 6.6 Mock-Objekte vom Fließband... 111 6.7 Testen von Grenzwerten und Exceptions... 115 6.8 Wie kommt der Test zum Mock?... 118 6.9 Böse Singletons... 121 6.10 Leicht- und schwergewichtige Mocks... 124 6.11 Dateiattrappen... 128 6.12 Noch mehr typische Mock-Objekte... 132 6.13 Fremde Komponenten... 132 6.14 Pro und Contra... 135 6.15 Zusammenfassung... 139 7 Vererbung und Polymorphismus 141 7.1 Vererbung... 141 7.2 Polymorphismus... 151 7.3 Zusammenfassung... 155 8 Wie viel ist genug? 157 8.1 Die XP-Regel... 158 8.2 Klare Antworten auf klare Fragen... 159 8.3 Testabdeckung... 163 8.4 Zusammenfassung... 166

xv Teil II Weiterführende Themen 167 9 Persistente Objekte 169 9.1 Schichtenarchitektur... 171 9.2 Abstrakte Persistenzschnittstelle... 173 9.3 Persistente Attrappe... 176 9.4 Gestaltung einer Datenbankschnittstelle... 179 9.5 Testen der»richtigen«persistenz... 188 9.6 Teststrategien und evolutionäres Datenbankdesign... 194 9.7 Interaktion von Persistenzschicht und Client... 200 9.8 Zusammenfassung... 202 10 Nebenläufige Programme 203 10.1 Probleme bei der Verwendung von Threads... 204 10.2 Testen asynchroner Dienste... 206 10.3 Testen der Synchronisation... 214 10.4 Zusammenfassung... 222 11 Verteilte Anwendungen 225 11.1 Verteilungsmechanismen in Java... 226 11.2 Sockets... 227 11.3 RMI... 234 11.4 Zusammenfassung... 242 12 Enterprise JavaBeans 243 12.1 Kurze Einführung in EJBs... 243 12.2 EJBs und testgetriebene Entwicklung... 244 12.3 Trennung von Technologie und Geschäftslogik... 246 12.4 Metadaten testen mit XMLUnit... 250 12.5 Tests»im Container«... 252 12.6 Tests»ohne Container«... 255 12.7 Wie teste ich die verschiedenen EJB-Typen?... 258 12.8 Ausblick auf EJB 3.0... 261 12.9 Zusammenfassung... 262 13 Web-Applikationen 265 13.1 Testen mit Container-Attrappe... 266 13.2 Mocken der Servlet-API... 270 13.3 Trennung von Servlet-API und Servlet-Logik... 272 13.4 Testen von (X)HTML... 276 13.5 Funktionale Tests... 282 13.6 Testen auf dem Server... 284 13.7 Zusammenfassung... 287

xvi 14 Grafische Benutzeroberflächen 289 14.1 GUI-Logik... 290 14.2 GUI-Oberfläche... 297 14.3 Benutzeraktionen simulieren... 308 14.4 Zusammenfassung... 313 15 Die Rolle von Unit Tests im Softwareprozess 315 15.1 Aktivitäten im definierten Softwareprozess... 316 15.2 Prozesstypen und Teststrategien... 323 15.3 Kommerziell eingesetzte Prozessmodelle... 329 15.4 Unit Tests in der Teststrategie eines Projektes... 336 15.5 Passen automatisierte Unit Tests in meinen Prozess?... 341 16 Chancen und offene Enden 343 16.1 Unit Testing bei existierender Software... 344 16.2 Einführung von Unit Tests ins Entwicklungsteam... 347 16.3 Was fehlt?... 350 Teil III Anhang 353 A JUnit-Erweiterungen 355 A.1 Mock-Objekte... 355 A.2 Web-Entwicklung... 356 A.3 J2EE... 357 A.4 GUIs... 358 A.5 Sonstiges... 358 B Unit Tests mit anderen Programmiersprachen 361 B.1 Smalltalk... 361 A.2 C++... 365 B.3.NET... 369 C.4 Der Rest... 379 D Glossar 381 E Literatur- und Quellenverzeichnis 391 E.1 Literaturverzeichnis... 391 E.2 URLs... 400 E.3 Weiterführende Lesehinweise... 405 Stichwortverzeichnis 409