Apex Meetup Dresden 09/19 - Testing mit utPLSQL v3Samuel Nitsche
Aber das hat gestern noch funktioniert!
Die Slides zum Vortrag am 4.9.2019 beim APEX Meetup in Dresden.
https://www.meetup.com/de-DE/Oracle-APEX-JET-ORDS-Gruppe-Dresden-Sachsen/events/263476476/
DOAG Regionaltreffen KA 01/19 - Testing mit utPLSQLSamuel Nitsche
"Aber das hat gestern noch funktioniert!" - Testing mit utPLSQL
Präsentation beim DAOG Regionaltreffen KA am 30.1.19:
https://www.doag.org/de/eventdetails?tx_doagevents_single[id]=573706
Live-Demo Scripte:
https://github.com/pesse/sith-demo-db/tree/doag2018/presentation_stages/
utPLSQL:
http://utplsql.org
Apex NRW Meetup 10/2019 - Testing mit utPLSQL v3Samuel Nitsche
Es herrscht Krieg in der Galaxis und du hast als Entwickler der Imperialen Armee die Verantwortung für eine Datenbankapplikation übernommen. Die Dinge beginnen aus dem Ruder zu laufen, als ein mächtiger Sith-Lord eine Last-Minute Änderung einfordert…
Einführung in die Thematik automatisierter Selbst-Tests anhand eines konkreten Demo-Projekts im Star-Wars Universum mit Hilfe des Open-Source Frameworks utPLSQL v3.
Unter anderem wird auf die folgenden Fragen und Themen eingegangen:
- Was sind automatisierte Selbst-Tests und wozu sind sie gut?
- Warum sollte ich Zeit und Energie in die Entwicklung automatisierter Selbst-Tests für meine Datenbank investieren?
- Was gewinne ich dadurch und wie profitiert mein Projekt/Produkt?
- Demonstration von Techniken und Strategien zur Einführung von Selbst-Testing in bestehende (Legacy-)Projekte
- Beispiele, wie aussagekräftige, sinnvolle Tests aussehen können und welche Fallstricke man vermeiden sollte
- Einfaches Beispiel zur Entwicklung neuer Funktionen mittels Test-Driven-Development (TDD)
- Anregungen zum “Mindset” für Selbst-Tests
- Präsentation von Features, mit denen utPLSQL bei der Entwicklung zuverlässiger und automatisierbarer Tests helfen kann
http://www.opitz-consulting.com/go/3-6-11 --- Softwareentwicklung, -test und -betrieb können durch Virtualisierung viele Vorteile erzielen. In diesem Zusammenhang werden häufig Werkzeuge für die Bereitstellung von Umgebungen eingesetzt. Verschiedene Werkzeuge adressieren aber unterschiedliche Einsatzszenarien. Wo im Applikationslebenszyklus können diese Werkzeuge sinnvoll eingesetzt werden und wie sieht es mit Kosten und Nutzen aus? ---- Unser Senior Software Architect Richard Attermeyer stellte bei der W Jax am 5.11.2014 in München die Tools Vagrant, Puppet und Docker im Einzelnen vor und erläuterte ihren Nutzen anhand von Use Cases und Live Demos. ---- Weitere Infos: https://jax.de/wjax2014/sessions/vagrant-puppet-docker-fuer-entwickler-und-architekten ---- Über uns: Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.---- Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10 ---- Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874 ---- Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Apex Meetup Dresden 09/19 - Testing mit utPLSQL v3Samuel Nitsche
Aber das hat gestern noch funktioniert!
Die Slides zum Vortrag am 4.9.2019 beim APEX Meetup in Dresden.
https://www.meetup.com/de-DE/Oracle-APEX-JET-ORDS-Gruppe-Dresden-Sachsen/events/263476476/
DOAG Regionaltreffen KA 01/19 - Testing mit utPLSQLSamuel Nitsche
"Aber das hat gestern noch funktioniert!" - Testing mit utPLSQL
Präsentation beim DAOG Regionaltreffen KA am 30.1.19:
https://www.doag.org/de/eventdetails?tx_doagevents_single[id]=573706
Live-Demo Scripte:
https://github.com/pesse/sith-demo-db/tree/doag2018/presentation_stages/
utPLSQL:
http://utplsql.org
Apex NRW Meetup 10/2019 - Testing mit utPLSQL v3Samuel Nitsche
Es herrscht Krieg in der Galaxis und du hast als Entwickler der Imperialen Armee die Verantwortung für eine Datenbankapplikation übernommen. Die Dinge beginnen aus dem Ruder zu laufen, als ein mächtiger Sith-Lord eine Last-Minute Änderung einfordert…
Einführung in die Thematik automatisierter Selbst-Tests anhand eines konkreten Demo-Projekts im Star-Wars Universum mit Hilfe des Open-Source Frameworks utPLSQL v3.
Unter anderem wird auf die folgenden Fragen und Themen eingegangen:
- Was sind automatisierte Selbst-Tests und wozu sind sie gut?
- Warum sollte ich Zeit und Energie in die Entwicklung automatisierter Selbst-Tests für meine Datenbank investieren?
- Was gewinne ich dadurch und wie profitiert mein Projekt/Produkt?
- Demonstration von Techniken und Strategien zur Einführung von Selbst-Testing in bestehende (Legacy-)Projekte
- Beispiele, wie aussagekräftige, sinnvolle Tests aussehen können und welche Fallstricke man vermeiden sollte
- Einfaches Beispiel zur Entwicklung neuer Funktionen mittels Test-Driven-Development (TDD)
- Anregungen zum “Mindset” für Selbst-Tests
- Präsentation von Features, mit denen utPLSQL bei der Entwicklung zuverlässiger und automatisierbarer Tests helfen kann
http://www.opitz-consulting.com/go/3-6-11 --- Softwareentwicklung, -test und -betrieb können durch Virtualisierung viele Vorteile erzielen. In diesem Zusammenhang werden häufig Werkzeuge für die Bereitstellung von Umgebungen eingesetzt. Verschiedene Werkzeuge adressieren aber unterschiedliche Einsatzszenarien. Wo im Applikationslebenszyklus können diese Werkzeuge sinnvoll eingesetzt werden und wie sieht es mit Kosten und Nutzen aus? ---- Unser Senior Software Architect Richard Attermeyer stellte bei der W Jax am 5.11.2014 in München die Tools Vagrant, Puppet und Docker im Einzelnen vor und erläuterte ihren Nutzen anhand von Use Cases und Live Demos. ---- Weitere Infos: https://jax.de/wjax2014/sessions/vagrant-puppet-docker-fuer-entwickler-und-architekten ---- Über uns: Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.---- Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10 ---- Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874 ---- Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Continuous Integration wird längst in vielen Projekten praktiziert. Kein Wunder, steht für das Tooling doch in vielen Fällen ein Jenkins oder Travis zur Verfügung. Mit GitLab CI ist dies jedoch nicht mehr nötig. Schritt für Schritt wird in dieser Session eine Pipeline mit verschiedenen Test- und Analysetools aufgesetzt -- zur Integration in neue und bestehende Projekte.
Production-ready Infrastruktur in 3 WochenAndré Goliath
Es gibt sie doch noch: Projekte die man auf der grünen Wiese starten darf - incl. Infrastruktur. Nur AWS als Cloud Provider ist gesetzt. In dieser Session gebe ich nach den ersten Wochen Einblicke und Lessons Learned, wie wir vom Zustand eines weißen Blatt Papiers auf ein Account- und Infrastruktur-Setup gekommen sind, mit dem wir zumindest mal sofort loslegen können ohne die üblichen „Abkürzungen“ bei Qualität und Featureumfang zu gehen. Ein wesentlicher Teil davon ist das Tooling von gruntwork.io, welches in diesem Kontext kurz vorgestellt wird. [Disclaimer: Wir sind auch nur normale Kunden mit einer gruntworks-Subscription ohne weitere Connections dorthin – diese Session wird also explizit keine gruntwork.io Werbeveranstaltung, auch wenn sich das inhaltlich nicht 100%ig vermeiden lässt]
CloudLand 2023, Juni 2023, Sascha Böhme, QAware
Ein System wird heutzutage üblicherweise in Microservices geschnitten, die jedes für sich genommen ein alleinstehendes Projekt bilden.
Wie schafft man es, dass sich ein Entwickler in einem Microservice sofort zuhause fühlt, ohne ihn vorher je gesehen zu haben? Wie schafft man es, dass alle Microservices die gleiche Grundstruktur behalten und warum sollte man das überhaupt wollen? Wie vermeidet man Divergenzen in Setup und Struktur, während unterschiedliche Teams an den Microservices arbeiten? Wie setzt man schnell einen neuen Microservice auf, der in seinem Aufbau den bestehenden ähnelt?Wir wollen zeigen, welche Vorteile Templates für die Entwicklung von Microservices haben und welche Methoden in diesem Kontext nützlich sind. Dies ergänzen wir mit weiteren Tools, um das Setup für alle Entwickler gleichermaßen zu erleichtern und zu beschleunigen.
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...NETWAYS
OpenStack ist eine IaaS (Infrastructure as a service) Plattform für Cloud Lösungen. Initial wurde das OpenStack Projekt von Rackspace und der NASA gegründet, inzwischen haben sich aber auch viele weitere Firmen, wie Citrix, DELL, RightScale und sogar INTEL und AMD angeschlossen. Das Projekt besteht aus zwei verchiedenen Teilbereichen: OpenStack Compute, einem Cloud Computing Controller, der alle Aktivitäten, wie beispielsweise das Starten und Stoppen von Maschinen in der Cloud koordiniert. Sowie OpenStack Object Storage einem verteilten Speichersystem für VM Images, Bilder, E-Mails und weitere Objekte innerhalb einer Cloud.
Der Vortrag schildert die ersten praktischen Erfahrungen mit OpenStack aus konkreten Evaluationsprojekten: Warum entscheiden sich große Firmen für OpenStack, wie wird evaluiert, packetiert und getestet?
Der ultimative PHP Framework Vergleich 2023 EditionRalf Eggert
Auch im Jahr 2023 gibt es immer noch unzählige PHP Frameworks, die mehr oder minder viele Nutzer hinter sich vereinen können. Neben den beiden aktuellen Platzhirschen Symfony und Laravel stehen mit Laminas (ehemals Zend Framework) auch weitere beliebte Frameworks in der zweiten Reihe. Doch wie vergleicht man so unterschiedliche Frameworks wirklich objektiv?
GPM Vortrag: Modernes Management von SoftwareprojektenFrank Düsterbeck
Softwareprojekte werden immer komplexer. Die Ursachen hierfür sind zum einen in der immer höheren IT-technischen Abdeckung der Geschäftsprozesse, bei steigender Anforderungsdynamik zu suchen. Zum anderen werden die Softwareproduktionsumgebungen, Technologien und Infrastrukturen und somit auch die Anforderungen an die Qualifikation aller Projektbeteiligter immer umfassender.
Das Management von Projekten muss der Komplexität gerecht werden. Dies bedeutet, Komplexität zu minimieren und über geeignete Prozessrahmen, Praktiken, Methoden und Technologien beherrschbarer zu machen. Dies bedeutet aber auch Risiken zu reduzieren durch Fokussierung auf das Wesentliche, insbesondere im Bereich der Planung, des Anforderungs- und Qualitätsmanagements.
Dieser Vortrag stellt die Herausforderungen der modernen Softwareentwicklung dar und gibt Antworten auf die Fragen, wie Komplexität z.B. durch agile Prozessrahmen und Methoden beherrschbarer gemacht werden kann und mit welchen Mitteln und Wegen eine hohe Qualität, sowohl in den Prozessen als auch im Produkt, trotz der Risiken, erreicht werden kann.
Continuous Integration wird längst in vielen Projekten praktiziert. Kein Wunder, steht für das Tooling doch in vielen Fällen ein Jenkins oder Travis zur Verfügung. Mit GitLab CI ist dies jedoch nicht mehr nötig. Schritt für Schritt wird in dieser Session eine Pipeline mit verschiedenen Test- und Analysetools aufgesetzt -- zur Integration in neue und bestehende Projekte.
Production-ready Infrastruktur in 3 WochenAndré Goliath
Es gibt sie doch noch: Projekte die man auf der grünen Wiese starten darf - incl. Infrastruktur. Nur AWS als Cloud Provider ist gesetzt. In dieser Session gebe ich nach den ersten Wochen Einblicke und Lessons Learned, wie wir vom Zustand eines weißen Blatt Papiers auf ein Account- und Infrastruktur-Setup gekommen sind, mit dem wir zumindest mal sofort loslegen können ohne die üblichen „Abkürzungen“ bei Qualität und Featureumfang zu gehen. Ein wesentlicher Teil davon ist das Tooling von gruntwork.io, welches in diesem Kontext kurz vorgestellt wird. [Disclaimer: Wir sind auch nur normale Kunden mit einer gruntworks-Subscription ohne weitere Connections dorthin – diese Session wird also explizit keine gruntwork.io Werbeveranstaltung, auch wenn sich das inhaltlich nicht 100%ig vermeiden lässt]
CloudLand 2023, Juni 2023, Sascha Böhme, QAware
Ein System wird heutzutage üblicherweise in Microservices geschnitten, die jedes für sich genommen ein alleinstehendes Projekt bilden.
Wie schafft man es, dass sich ein Entwickler in einem Microservice sofort zuhause fühlt, ohne ihn vorher je gesehen zu haben? Wie schafft man es, dass alle Microservices die gleiche Grundstruktur behalten und warum sollte man das überhaupt wollen? Wie vermeidet man Divergenzen in Setup und Struktur, während unterschiedliche Teams an den Microservices arbeiten? Wie setzt man schnell einen neuen Microservice auf, der in seinem Aufbau den bestehenden ähnelt?Wir wollen zeigen, welche Vorteile Templates für die Entwicklung von Microservices haben und welche Methoden in diesem Kontext nützlich sind. Dies ergänzen wir mit weiteren Tools, um das Setup für alle Entwickler gleichermaßen zu erleichtern und zu beschleunigen.
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...NETWAYS
OpenStack ist eine IaaS (Infrastructure as a service) Plattform für Cloud Lösungen. Initial wurde das OpenStack Projekt von Rackspace und der NASA gegründet, inzwischen haben sich aber auch viele weitere Firmen, wie Citrix, DELL, RightScale und sogar INTEL und AMD angeschlossen. Das Projekt besteht aus zwei verchiedenen Teilbereichen: OpenStack Compute, einem Cloud Computing Controller, der alle Aktivitäten, wie beispielsweise das Starten und Stoppen von Maschinen in der Cloud koordiniert. Sowie OpenStack Object Storage einem verteilten Speichersystem für VM Images, Bilder, E-Mails und weitere Objekte innerhalb einer Cloud.
Der Vortrag schildert die ersten praktischen Erfahrungen mit OpenStack aus konkreten Evaluationsprojekten: Warum entscheiden sich große Firmen für OpenStack, wie wird evaluiert, packetiert und getestet?
Der ultimative PHP Framework Vergleich 2023 EditionRalf Eggert
Auch im Jahr 2023 gibt es immer noch unzählige PHP Frameworks, die mehr oder minder viele Nutzer hinter sich vereinen können. Neben den beiden aktuellen Platzhirschen Symfony und Laravel stehen mit Laminas (ehemals Zend Framework) auch weitere beliebte Frameworks in der zweiten Reihe. Doch wie vergleicht man so unterschiedliche Frameworks wirklich objektiv?
GPM Vortrag: Modernes Management von SoftwareprojektenFrank Düsterbeck
Softwareprojekte werden immer komplexer. Die Ursachen hierfür sind zum einen in der immer höheren IT-technischen Abdeckung der Geschäftsprozesse, bei steigender Anforderungsdynamik zu suchen. Zum anderen werden die Softwareproduktionsumgebungen, Technologien und Infrastrukturen und somit auch die Anforderungen an die Qualifikation aller Projektbeteiligter immer umfassender.
Das Management von Projekten muss der Komplexität gerecht werden. Dies bedeutet, Komplexität zu minimieren und über geeignete Prozessrahmen, Praktiken, Methoden und Technologien beherrschbarer zu machen. Dies bedeutet aber auch Risiken zu reduzieren durch Fokussierung auf das Wesentliche, insbesondere im Bereich der Planung, des Anforderungs- und Qualitätsmanagements.
Dieser Vortrag stellt die Herausforderungen der modernen Softwareentwicklung dar und gibt Antworten auf die Fragen, wie Komplexität z.B. durch agile Prozessrahmen und Methoden beherrschbarer gemacht werden kann und mit welchen Mitteln und Wegen eine hohe Qualität, sowohl in den Prozessen als auch im Produkt, trotz der Risiken, erreicht werden kann.
Aber das hat gestern noch funktioniert - Testing mit utPLSQL
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
14. 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
18. 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
19. 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
29. “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
30. Vorteile/Limit
s
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
31. 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