Apex Meetup Stuttgart 2019 - Testing mit utPLSQL v3
1. Testing mit
Aber das hat gestern noch funktioniert
Samuel Nitsche
@Der_Pesse
derpesse@gmail.com
http://cleandatabase.wordpress.com
Senior Software Entwickler
bei Smart Enterprise Solutions, Pforzheim
Maintainer: utPLSQL cli + Java-API
Live-Code Beispiele:
https://github.com/pesse/sith-demo-db/tree/
apexconn19/presentation_stages
5. V_GROUPS
GROUP_NAME
1st Squad of 1st Platoon of
2nd Company of 5th Battalion
of 1st Brigade of 1st Division
Ehrung einer Soldaten-Gruppe
Revan’s Ghosts
???
LEADER_NAME
LEADER_RANK_LABEL
15. Vorteile • Schutz vor ungewollten Änderungen
bestehender Funktionalität
• Transportabel, beliebig wiederholbar
• Ausschluss einmal aufgetretener Fehler
• Beweis, dass vereinbarte Anforderungen
der Software erfüllt sind
• Fokus auf das was statt auf das wie
19. Assault
Group 1
Division
1
Brigade 1
Division
2
Brigade 1
Batallion
1
Batallion
2
Company
1
Platoon
1
Company
2
Platoon
1
Platoon
2
Brigade 2
Division
3
Brigade 1
1st Platoon of 2nd Company of 2nd Batallion of 1st
Brigade of 2nd Division of 1st Assault Group
20. Position innerhalb übergeordneter Gruppe: 1
Label Gruppentyp: Platoon
Ehrenname: Revan‘s Ghosts
Result = Revan‘s Ghosts
Position innerhalb übergeordneter Gruppe: 1
Label Gruppentyp: Platoon
Ehrenname: NULL
Result = 1st Platoon
GET_GROUP_NAME
31. “One of the hardest things to do, however,
is to start testing thoroughly, relentlessly
and continuously.
Second one is convince your team to do
the same so you can trust tests done by
others, too.”
Jacek Gebal, Project-lead utPLSQL
32. Vorteile/Limits
Fehler/Bugs finden
• Schutz vor ungewollten Änderungen
bestehender Funktionalität
• Transportabel, beliebig wiederholbar
• Ausschluss einmal aufgetretener Fehler
• Beweis, dass vereinbarte Anforderungen
der Software erfüllt sind
• Fokus auf das was statt auf das wie
• Dokumentation und Beispiel
• Regen zu „einfacheren“, leichter testbaren
Programmierkonstrukten an
• Erhöhen Selbstvertrauen
• Schaffen Grundlage für ständiges
Refactoring
Nachdenken überflüssig
33. utPLSQL
Weitere Features
• Sehr mächtiger Cursor-Vergleich
• Kontexte und hierarchische Suites
• Code Coverage
• Commandline Interface
• Maven-PlugIn
• Java-API
• SQL Developer PlugIn
https://github.com/utplsql