23
© OPITZ CONSULTING GmbH 2010 Seite 1 UnitTest mit dem SQL-Developer Thomas Papendieck, Consultant OPITZ-CONSULTING Bad Homburg GmbH Testgetriebene Entwicklung mit Oracle Werkzeugen Vodafone D2 GmbH . Alfred-Herrhausen-Allee 1, 65760 Eschborn, 02.11.2010 UnitTest mit dem SQL-Developer

UnitTest mit dem SQL-Developer

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

© OPITZ CONSULTING GmbH 2010 Seite 1UnitTest mit dem SQL-Developer

Thomas Papendieck, Consultant

OPITZ-CONSULTING Bad Homburg GmbH

Testgetriebene Entwicklung mitOracle Werkzeugen

Vodafone D2 GmbH . Alfred-Herrhausen-Allee 1, 65760 Eschborn, 02.11.2010

UnitTest mit dem SQL-Developer

© OPITZ CONSULTING GmbH 2010 Seite 2UnitTest mit dem SQL-Developer

Agenda

1. Testgetriebe Entwicklung

Warum?

TGE-Kreislauf

Werkzeuge

2. SQLDeveloper

UnitTester einsetzen

© OPITZ CONSULTING GmbH 2010 Seite 3UnitTest mit dem SQL-Developer

Fakten über das Testen

Tests finden Fehler in der Implementierung

Tests sind Nachweis der implementierten Funktionalität

Tests erfordern fachspezifisches und

implementierungsspezifisches Wissen

Tests müssen wiederholt werden

frühes Testen senkt Kosten

© OPITZ CONSULTING GmbH 2010 Seite 4UnitTest mit dem SQL-Developer

Was ist Testgetriebene Entwicklung?

automatisierte Tests mit Ja/Nein-Ergebnis

Implementierung des Tests vor der Implementierung der

getesteten Eigenschaft

funktionale Erweiterung nur wenn fehlschlagender Test

existiert

wiederholte Ausführung aller existierenden Test.

© OPITZ CONSULTING GmbH 2010 Seite 5UnitTest mit dem SQL-Developer

Der Kreislauf der Testgetriebenen Entwicklung

Definition der Tests

Iterative Implementierung: Test implementieren

Prüfen, ob der Test fehl schlägt

produktiven Code implementieren

Prüfen, ob alle Tests bestehen

produktiven Code und Testcode refaktorisieren

Prüfen, ob alle Tests bestehen

Test

Spezifikation

Code

Refactoring

© OPITZ CONSULTING GmbH 2010 Seite 6UnitTest mit dem SQL-Developer

Warum Testgetriebene Entwicklung (TGE/TDD)?

reflektiert den Wert von Tests

erhöht die Testabdeckung

erkennt Fehler schon bei der Implementierung

fördert zielgerichtete Programmierung

fördert guten Programmierstil

© OPITZ CONSULTING GmbH 2010 Seite 7UnitTest mit dem SQL-Developer

Was spricht gegen Testgetriebene Entwicklung?

erfordert Disziplin

verändert gewohnte Abläufe

Ablehnung durch Kollegen / Vorgesetzte

© OPITZ CONSULTING GmbH 2010 Seite 8UnitTest mit dem SQL-Developer

Werkzeuge

allgemenin: selbst programmierte Umgebung

xUnit

Oracle Integration von JUnit im JDeveloper

UnitTester in SQLDeveloper

© OPITZ CONSULTING GmbH 2010 Seite 9UnitTest mit dem SQL-Developer

SQLDeveloper

UnitTester

- Weiterentwicklung des UTPLSQL-Frameworks

- seit Version 2.1

- eigenständige Ansicht

- Test-Repository in einem DB-Schema

© OPITZ CONSULTING GmbH 2010 Seite 10UnitTest mit dem SQL-Developer

Repository einrichten

© OPITZ CONSULTING GmbH 2010 Seite 11UnitTest mit dem SQL-Developer

UnitTester Ansicht

© OPITZ CONSULTING GmbH 2010 Seite 12UnitTest mit dem SQL-Developer

UnitTest erstellen

© OPITZ CONSULTING GmbH 2010 Seite 13UnitTest mit dem SQL-Developer

Weitere Implementierung (Testfall) erstellen

© OPITZ CONSULTING GmbH 2010 Seite 14UnitTest mit dem SQL-Developer

UnitTest ausführen

© OPITZ CONSULTING GmbH 2010 Seite 15UnitTest mit dem SQL-Developer

UnitTester Katalog

© OPITZ CONSULTING GmbH 2010 Seite 16UnitTest mit dem SQL-Developer

Benutzer-PL/SQL-Code

© OPITZ CONSULTING GmbH 2010 Seite 17UnitTest mit dem SQL-Developer

Tabellen- oder Zeilenkopie

© OPITZ CONSULTING GmbH 2010 Seite 18UnitTest mit dem SQL-Developer

Tabelle löschen

© OPITZ CONSULTING GmbH 2010 Seite 19UnitTest mit dem SQL-Developer

Validierungen

© OPITZ CONSULTING GmbH 2010 Seite 20UnitTest mit dem SQL-Developer

Lookups

© OPITZ CONSULTING GmbH 2010 Seite 21UnitTest mit dem SQL-Developer

Test Suites

© OPITZ CONSULTING GmbH 2010 Seite 22UnitTest mit dem SQL-Developer

Fazit

negativ Testfälle nur für bestehende Programmteile

gemeinsame Ausführung aller Tests nur als Suite, nicht alle Suites

gemeinsam.

positiv zentrale Speicherung der Testfälle und der Ergebnisse

Wizard-gesteuerte Testfallgenerierung

Pool für Validierungen, Setup- und Teardown-Vorgänge

Übersichtliche Ergebnispräsentation

© OPITZ CONSULTING GmbH 2010 Seite 23UnitTest mit dem SQL-Developer

Fragen und Antworten