unittest mit dem sql-developer
TRANSCRIPT
© 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 13UnitTest mit dem SQL-Developer
Weitere Implementierung (Testfall) erstellen
© 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