SlideShare ist ein Scribd-Unternehmen logo
1 von 23
|
APEX goes UNIT Testing
business by integration
Oliver Lemm
Nürnberg, 22.11.2012
||
MT AG
APEX goes UNIT Testing – Oliver Lemm2
Daten und Fakten
 Hamburg
 Dortmund
 Ratingen
 Frankfurt
Luxemburg 
Hauptsitz
Ratingen
Niederlassungen
Hamburg, Dortmund, Frankfurt,
Luxemburg
Tochtergesellschaften
MT-ifs GmbH, MT-ics GmbH
Beschäftigte (2012)
220 Festangestellte
80 Freiberufler
Als anerkannter Partner der führenden Technologiehersteller
verbinden wir die Agilität eines mittelständischen Unternehmens
mit der Lösungskompetenz internationaler Beratungshäuser.
|
Agenda
 Einleitung & Anforderungen
 Ziel
 Konzept
 Umsetzung
- APEX Repository / Views
- Prüfungen auf den Datenbankobjekte
- Prüfungen auf den Tabelleninhalten
 Livedemo
 Weitere Möglichkeiten
 Fazit
APEX goes UNIT Testing – Oliver Lemm3
|
Einleitung & Anforderungen
 APEX
 Layout
 Validierungen
 Benutzerführung
 Verarbeitung
APEX goes UNIT Testing – Oliver Lemm4
|
Ziel
 Entwicklung unterstützen
- Qualität
- Effektivität
- Anzeige zur Laufzeit/Entwicklung
- Automatisierung
 Metadaten
- APEX Repository / Views / API
- Datenbank
- Projektvorgaben
APEX goes UNIT Testing – Oliver Lemm5
|
Konzept
 Umsetzungskonzept als Grundlage
 Definition von Regeln
 Ansatz des UNIT Testing
 Seitenweise & Applikationsweit
 Integriert & unabhängig
APEX goes UNIT Testing – Oliver Lemm6
|
Umsetzung
 APEX Objekte
- APEX Repository / Views
 APEX_APPLICATION_...
 Datenbankobjekte
- Metadaten Views
 USER_...
 Dynamisches SQL
- Projektspezifische Tabelleninhalte
APEX goes UNIT Testing – Oliver Lemm7
|
Umsetzung
 Package
- für Logik
- für Regeln
 Funktion für
- Seite
- Anwendung
 Region auf Seite 0
- PLSQL Condition =>
APEX_APPLICATION.G_EDIT_COOKIE_SESSION_ID IS NOT NULL
APEX goes UNIT Testing – Oliver Lemm8
|
Umsetzung
 Allgemeine Parameter
- APP_ID
- PAGE_ID
- MIN_MSG_TYPE
 Weitere Parameter
- BOOLEAN
 für APEX Komponenten
 Datenbankobjekte
 Inhaltliche Tests
APEX goes UNIT Testing – Oliver Lemm9
|
Umsetzung
 APEX Objekte
- Page, Region, Button, Process, Item, Branch
 Eigenschaften
- Template
- Ausrichtung
- Condition
- Message
- Name
- Reihenfolge
- Label
APEX goes UNIT Testing – Oliver Lemm10
APEX Repository & Views
|
Umsetzung
 Datenbankobjekte
- Tabelle, Constraint, Packages, Views, Sequence, Trigger ….
 Eigenschaften
- Name
- Seitenobjekte
- PK & FK
- Index & Constraint
- Tablespace
APEX goes UNIT Testing – Oliver Lemm11
Datenbankobjekte
|
Umsetzung
 Objekte
- Tabelleninhalte
- Referenztabellen
 Eigenschaften
- Anzahl Einträge
- Fachliche Vorgaben
 Eindeutige Schlüssel
APEX goes UNIT Testing – Oliver Lemm12
projektspezifische Prüfungen
|
Livedemo
APEX goes UNIT Testing – Oliver Lemm13
|
Livedemo – EMP – Interactive Report
APEX goes UNIT Testing – Oliver Lemm14
|
Livedemo – EMP - Form
APEX goes UNIT Testing – Oliver Lemm15
|
Livedemo - Screenshots
APEX goes UNIT Testing – Oliver Lemm16
|
Livedemo - Screenshots
APEX goes UNIT Testing – Oliver Lemm17
|
Weitere Möglichkeiten
 Einsatz eines Metamodells
 Tabelle der Seitenitems (Seite, Item-Name, Bezeichner, …)
 Tabelle für Ausprägung der Elemente (Verknüpfung von Item und Datenmodell)
 Tabelle der Datenmodelleigenschaften (Datentyp, Tabelle, Spalte, …)
 Tabelle für Eigenschaften für fachliche Vorgaben (Pflicht, Bereich, Flags für weitere
Mechaniken (Schnittstellen / Kopie), fachlicher Bezeichner)
APEX goes UNIT Testing – Oliver Lemm18
|
Weitere Möglichkeiten
 Kapselung als Region-Plugin
 Integration von Mailversandt
 Integration des DBMS_Scheduler
APEX goes UNIT Testing – Oliver Lemm19
|
Weitere Möglichkeiten
 Regeldefinition in Tabelle
 Export & Import von vorgefertigten Regeln
 Integration/Prüfung von Theme Standards
 Bugs & Fehler in Anwendung oder APEX anzeigen
APEX goes UNIT Testing – Oliver Lemm20
|
Fazit
 Sehr gute Kombination von APEX & UNIT Testing
 Anwendungsqualität steigern
 Einarbeitung für neue Entwickler
 Jederzeit Prüfung möglich
 Transparenz
APEX goes UNIT Testing – Oliver Lemm21
||
Besuchen Sie auch unsere weiteren Vorträge auf
der DOAG 2012
APEX goes UNIT Testing – Oliver Lemm22
Dienstag, 12 Uhr, Raum Riga
Dienstag, 13 Uhr, Raum Seoul
Dienstag, 14 Uhr, Raum Stockholm
Dienstag, 15 Uhr, Raum Kopenhagen
Dienstag, 16 Uhr, Raum Stockholm
Mittwoch, 13 Uhr, Raum Riga
Mittwoch, 15 Uhr, Raum Riga
Mittwoch, 16 Uhr, Raum Seoul
Donnerstag, 09 Uhr, Raum Istanbul
Donnerstag, 14 Uhr, Raum Konf. EG
Donnerstag, 15 Uhr, Raum Istanbul
Donnerstag, 16 Uhr, Raum Oslo
Dynamisch Unterschiede in Datensätzen auf Feldebene finden by S.O. Kelbert
Route to ASM by Ernst Leber
Automatische Generierung der ETL-Prozesse OWB vs. ODI by Irina Gotlibovych
Wiederverwendung von bestehendem PL/SQL Code in ADF Anwendungen by
Hendrik Gossens
„Managed Code“ mit OWB – Methoden und Wege by Bernhard Rosenberger
Dateizugriff mit new I/O 2 by Wolfgang Nast
WebServices in Java SE und EE by Wolfgang Nast
Das Mysterium OPatch by Volker Mach
Das größte APEX Projekt der Welt @ Union Investment by Niels de Bruijn
Testen mit Pfefferminzgeschmack by Birgit Kratz
APEX goes UNIT Testing by Oliver Lemm
SOA verspielt – rekursive BPEL Prozesse by Guido Neander
|
MT AG
Balcke-Dürr-Allee 9
40882 Ratingen
Telefon: +49 (0) 21 02 309 61-0
Telefax: +49 (0) 21 02 309 61-10
E-Mail: info@mt-ag.com
www.mt-ag.com
Vielen Dank.

Weitere ähnliche Inhalte

Andere mochten auch

Why Developers Dig DevOps
Why Developers Dig DevOpsWhy Developers Dig DevOps
Why Developers Dig DevOpsBMC_DSM
 
Os fósseis
Os fósseisOs fósseis
Os fósseisMINEDU
 
The contribution of typing methods to risk assessment
The contribution of typing methods to risk assessmentThe contribution of typing methods to risk assessment
The contribution of typing methods to risk assessmentEFSA EU
 
Data visualisations: drawing actionable insights from science and technology ...
Data visualisations: drawing actionable insights from science and technology ...Data visualisations: drawing actionable insights from science and technology ...
Data visualisations: drawing actionable insights from science and technology ...EFSA EU
 
European Commission's Open Data Strategy and the EU Open Data Portal
European Commission's Open Data Strategy and the EU Open Data PortalEuropean Commission's Open Data Strategy and the EU Open Data Portal
European Commission's Open Data Strategy and the EU Open Data PortalEFSA EU
 
BAFCO Company Profile Mini 2016
BAFCO Company Profile Mini 2016BAFCO Company Profile Mini 2016
BAFCO Company Profile Mini 2016Neeraj Bhatia
 
Presentation: Launch of the Knowledge Hub on Health and Migration
Presentation: Launch of the Knowledge Hub on Health and MigrationPresentation: Launch of the Knowledge Hub on Health and Migration
Presentation: Launch of the Knowledge Hub on Health and MigrationWHO Regional Office for Europe
 
Aprendizaje por-proyectos-1202497640884177-5 (8)
Aprendizaje por-proyectos-1202497640884177-5 (8)Aprendizaje por-proyectos-1202497640884177-5 (8)
Aprendizaje por-proyectos-1202497640884177-5 (8)angelronco93
 
Three dangerous sins
Three dangerous sinsThree dangerous sins
Three dangerous sinsAdrian Buban
 

Andere mochten auch (9)

Why Developers Dig DevOps
Why Developers Dig DevOpsWhy Developers Dig DevOps
Why Developers Dig DevOps
 
Os fósseis
Os fósseisOs fósseis
Os fósseis
 
The contribution of typing methods to risk assessment
The contribution of typing methods to risk assessmentThe contribution of typing methods to risk assessment
The contribution of typing methods to risk assessment
 
Data visualisations: drawing actionable insights from science and technology ...
Data visualisations: drawing actionable insights from science and technology ...Data visualisations: drawing actionable insights from science and technology ...
Data visualisations: drawing actionable insights from science and technology ...
 
European Commission's Open Data Strategy and the EU Open Data Portal
European Commission's Open Data Strategy and the EU Open Data PortalEuropean Commission's Open Data Strategy and the EU Open Data Portal
European Commission's Open Data Strategy and the EU Open Data Portal
 
BAFCO Company Profile Mini 2016
BAFCO Company Profile Mini 2016BAFCO Company Profile Mini 2016
BAFCO Company Profile Mini 2016
 
Presentation: Launch of the Knowledge Hub on Health and Migration
Presentation: Launch of the Knowledge Hub on Health and MigrationPresentation: Launch of the Knowledge Hub on Health and Migration
Presentation: Launch of the Knowledge Hub on Health and Migration
 
Aprendizaje por-proyectos-1202497640884177-5 (8)
Aprendizaje por-proyectos-1202497640884177-5 (8)Aprendizaje por-proyectos-1202497640884177-5 (8)
Aprendizaje por-proyectos-1202497640884177-5 (8)
 
Three dangerous sins
Three dangerous sinsThree dangerous sins
Three dangerous sins
 

Ähnlich wie APEX goes Unit testing

Tune up your APEX
Tune up your APEXTune up your APEX
Tune up your APEXMT AG
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?enpit GmbH & Co. KG
 
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftTest-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftChristian Drumm
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsMarc Müller
 
Koordination innerhalb großer APEX Projekte
Koordination innerhalb großer APEX ProjekteKoordination innerhalb großer APEX Projekte
Koordination innerhalb großer APEX ProjekteOliver Lemm
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...Niels de Bruijn
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBANiels de Bruijn
 
REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1Oliver Lemm
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemachtNico Orschel
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“hpaustria
 
FMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinFMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinVerein FM Konferenz
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemachtDWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemachtMarc Müller
 
APEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex Version
APEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex VersionAPEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex Version
APEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex VersionOliver Lemm
 
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …Verein FM Konferenz
 

Ähnlich wie APEX goes Unit testing (20)

Tune up your APEX
Tune up your APEXTune up your APEX
Tune up your APEX
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
 
Enterprise APEX
Enterprise APEXEnterprise APEX
Enterprise APEX
 
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftTest-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Koordination innerhalb großer APEX Projekte
Koordination innerhalb großer APEX ProjekteKoordination innerhalb großer APEX Projekte
Koordination innerhalb großer APEX Projekte
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBA
 
APEX 5.0, und sonst?
APEX 5.0, und sonst?APEX 5.0, und sonst?
APEX 5.0, und sonst?
 
REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
 
FMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinFMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold Kegebein
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum Apex
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Daten analyseqd
Daten analyseqdDaten analyseqd
Daten analyseqd
 
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemachtDWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
 
APEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex Version
APEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex VersionAPEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex Version
APEX 5.0 - Ein Ausblick auf kommende Features der nächsten Apex Version
 
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
 

Mehr von Oliver Lemm

Qualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfQualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfOliver Lemm
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfOliver Lemm
 
APEX Page Items in detail
APEX Page Items in detailAPEX Page Items in detail
APEX Page Items in detailOliver Lemm
 
APEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenAPEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenOliver Lemm
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines AdvancedOliver Lemm
 
Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Oliver Lemm
 
Jenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleJenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleOliver Lemm
 
Schritt für Schritt ins Grid
Schritt für Schritt ins GridSchritt für Schritt ins Grid
Schritt für Schritt ins GridOliver Lemm
 
Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Oliver Lemm
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentOliver Lemm
 
Mastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentMastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentOliver Lemm
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentOliver Lemm
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoOliver Lemm
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?Oliver Lemm
 
The APEX QA Plugin
The APEX QA PluginThe APEX QA Plugin
The APEX QA PluginOliver Lemm
 
Das APEX QS-Plugin
Das APEX QS-PluginDas APEX QS-Plugin
Das APEX QS-PluginOliver Lemm
 

Mehr von Oliver Lemm (20)

Qualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfQualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdf
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdf
 
APEX Page Items in detail
APEX Page Items in detailAPEX Page Items in detail
APEX Page Items in detail
 
confirm & alert
confirm & alertconfirm & alert
confirm & alert
 
APEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenAPEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurieren
 
APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines Advanced
 
From Dev to Ops
From Dev to OpsFrom Dev to Ops
From Dev to Ops
 
Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Das Universal Theme in APEX 19
Das Universal Theme in APEX 19
 
Jenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleJenkins Pipeline meets Oracle
Jenkins Pipeline meets Oracle
 
Schritt für Schritt ins Grid
Schritt für Schritt ins GridSchritt für Schritt ins Grid
Schritt für Schritt ins Grid
 
Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Mastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentMastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investment
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & Co
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?
 
The APEX QA Plugin
The APEX QA PluginThe APEX QA Plugin
The APEX QA Plugin
 
Der Schnitt
Der SchnittDer Schnitt
Der Schnitt
 
Das APEX QS-Plugin
Das APEX QS-PluginDas APEX QS-Plugin
Das APEX QS-Plugin
 

APEX goes Unit testing

  • 1. | APEX goes UNIT Testing business by integration Oliver Lemm Nürnberg, 22.11.2012
  • 2. || MT AG APEX goes UNIT Testing – Oliver Lemm2 Daten und Fakten  Hamburg  Dortmund  Ratingen  Frankfurt Luxemburg  Hauptsitz Ratingen Niederlassungen Hamburg, Dortmund, Frankfurt, Luxemburg Tochtergesellschaften MT-ifs GmbH, MT-ics GmbH Beschäftigte (2012) 220 Festangestellte 80 Freiberufler Als anerkannter Partner der führenden Technologiehersteller verbinden wir die Agilität eines mittelständischen Unternehmens mit der Lösungskompetenz internationaler Beratungshäuser.
  • 3. | Agenda  Einleitung & Anforderungen  Ziel  Konzept  Umsetzung - APEX Repository / Views - Prüfungen auf den Datenbankobjekte - Prüfungen auf den Tabelleninhalten  Livedemo  Weitere Möglichkeiten  Fazit APEX goes UNIT Testing – Oliver Lemm3
  • 4. | Einleitung & Anforderungen  APEX  Layout  Validierungen  Benutzerführung  Verarbeitung APEX goes UNIT Testing – Oliver Lemm4
  • 5. | Ziel  Entwicklung unterstützen - Qualität - Effektivität - Anzeige zur Laufzeit/Entwicklung - Automatisierung  Metadaten - APEX Repository / Views / API - Datenbank - Projektvorgaben APEX goes UNIT Testing – Oliver Lemm5
  • 6. | Konzept  Umsetzungskonzept als Grundlage  Definition von Regeln  Ansatz des UNIT Testing  Seitenweise & Applikationsweit  Integriert & unabhängig APEX goes UNIT Testing – Oliver Lemm6
  • 7. | Umsetzung  APEX Objekte - APEX Repository / Views  APEX_APPLICATION_...  Datenbankobjekte - Metadaten Views  USER_...  Dynamisches SQL - Projektspezifische Tabelleninhalte APEX goes UNIT Testing – Oliver Lemm7
  • 8. | Umsetzung  Package - für Logik - für Regeln  Funktion für - Seite - Anwendung  Region auf Seite 0 - PLSQL Condition => APEX_APPLICATION.G_EDIT_COOKIE_SESSION_ID IS NOT NULL APEX goes UNIT Testing – Oliver Lemm8
  • 9. | Umsetzung  Allgemeine Parameter - APP_ID - PAGE_ID - MIN_MSG_TYPE  Weitere Parameter - BOOLEAN  für APEX Komponenten  Datenbankobjekte  Inhaltliche Tests APEX goes UNIT Testing – Oliver Lemm9
  • 10. | Umsetzung  APEX Objekte - Page, Region, Button, Process, Item, Branch  Eigenschaften - Template - Ausrichtung - Condition - Message - Name - Reihenfolge - Label APEX goes UNIT Testing – Oliver Lemm10 APEX Repository & Views
  • 11. | Umsetzung  Datenbankobjekte - Tabelle, Constraint, Packages, Views, Sequence, Trigger ….  Eigenschaften - Name - Seitenobjekte - PK & FK - Index & Constraint - Tablespace APEX goes UNIT Testing – Oliver Lemm11 Datenbankobjekte
  • 12. | Umsetzung  Objekte - Tabelleninhalte - Referenztabellen  Eigenschaften - Anzahl Einträge - Fachliche Vorgaben  Eindeutige Schlüssel APEX goes UNIT Testing – Oliver Lemm12 projektspezifische Prüfungen
  • 13. | Livedemo APEX goes UNIT Testing – Oliver Lemm13
  • 14. | Livedemo – EMP – Interactive Report APEX goes UNIT Testing – Oliver Lemm14
  • 15. | Livedemo – EMP - Form APEX goes UNIT Testing – Oliver Lemm15
  • 16. | Livedemo - Screenshots APEX goes UNIT Testing – Oliver Lemm16
  • 17. | Livedemo - Screenshots APEX goes UNIT Testing – Oliver Lemm17
  • 18. | Weitere Möglichkeiten  Einsatz eines Metamodells  Tabelle der Seitenitems (Seite, Item-Name, Bezeichner, …)  Tabelle für Ausprägung der Elemente (Verknüpfung von Item und Datenmodell)  Tabelle der Datenmodelleigenschaften (Datentyp, Tabelle, Spalte, …)  Tabelle für Eigenschaften für fachliche Vorgaben (Pflicht, Bereich, Flags für weitere Mechaniken (Schnittstellen / Kopie), fachlicher Bezeichner) APEX goes UNIT Testing – Oliver Lemm18
  • 19. | Weitere Möglichkeiten  Kapselung als Region-Plugin  Integration von Mailversandt  Integration des DBMS_Scheduler APEX goes UNIT Testing – Oliver Lemm19
  • 20. | Weitere Möglichkeiten  Regeldefinition in Tabelle  Export & Import von vorgefertigten Regeln  Integration/Prüfung von Theme Standards  Bugs & Fehler in Anwendung oder APEX anzeigen APEX goes UNIT Testing – Oliver Lemm20
  • 21. | Fazit  Sehr gute Kombination von APEX & UNIT Testing  Anwendungsqualität steigern  Einarbeitung für neue Entwickler  Jederzeit Prüfung möglich  Transparenz APEX goes UNIT Testing – Oliver Lemm21
  • 22. || Besuchen Sie auch unsere weiteren Vorträge auf der DOAG 2012 APEX goes UNIT Testing – Oliver Lemm22 Dienstag, 12 Uhr, Raum Riga Dienstag, 13 Uhr, Raum Seoul Dienstag, 14 Uhr, Raum Stockholm Dienstag, 15 Uhr, Raum Kopenhagen Dienstag, 16 Uhr, Raum Stockholm Mittwoch, 13 Uhr, Raum Riga Mittwoch, 15 Uhr, Raum Riga Mittwoch, 16 Uhr, Raum Seoul Donnerstag, 09 Uhr, Raum Istanbul Donnerstag, 14 Uhr, Raum Konf. EG Donnerstag, 15 Uhr, Raum Istanbul Donnerstag, 16 Uhr, Raum Oslo Dynamisch Unterschiede in Datensätzen auf Feldebene finden by S.O. Kelbert Route to ASM by Ernst Leber Automatische Generierung der ETL-Prozesse OWB vs. ODI by Irina Gotlibovych Wiederverwendung von bestehendem PL/SQL Code in ADF Anwendungen by Hendrik Gossens „Managed Code“ mit OWB – Methoden und Wege by Bernhard Rosenberger Dateizugriff mit new I/O 2 by Wolfgang Nast WebServices in Java SE und EE by Wolfgang Nast Das Mysterium OPatch by Volker Mach Das größte APEX Projekt der Welt @ Union Investment by Niels de Bruijn Testen mit Pfefferminzgeschmack by Birgit Kratz APEX goes UNIT Testing by Oliver Lemm SOA verspielt – rekursive BPEL Prozesse by Guido Neander
  • 23. | MT AG Balcke-Dürr-Allee 9 40882 Ratingen Telefon: +49 (0) 21 02 309 61-0 Telefax: +49 (0) 21 02 309 61-10 E-Mail: info@mt-ag.com www.mt-ag.com Vielen Dank.

Hinweis der Redaktion

  1. APEX - Datenbankzentrierte Entwicklung. Möglichst Standard Komponenten über deklarativen Ansatz Layout - Aufteilung der Seite, Navigation & Templates Validierungen- Anzeige von Fehler, Darstellung der Fehler, Verständlichkeit Benutzerführung - Unterseiten, Tabs, Symbole/Icons zur Bearbeitung Verarbeitung - dynamisch vs. Submit, zurück zur Vorseite, Informationen nach der Verarbeitung
  2. Qualität => Fehler passieren immer, diese direkt erkennen erhöht die Qualität enorm Effektivität => QS direkt beim Entwickeln Anzeige => Anzeige der Probleme/Fehler direkt beim Entwickeln, kein separater Schritt => Vorteil zum Advisor, aber kein Ersatz Automatisierung => Der Entwickler bekommt direkt Unterstützung und es wird vom System direkt unterstützt Repository / Views => Einfach und schnell Informationen Auslesen & Auswerten Datenbank => grundsätzliche Informationen auswerten Projektvorgaben => Vorgaben gegen alle Metadaten auswerten
  3. Umsetzungskonzept => Vorgaben bzgl. Verarbeitung, Layout, Validierungen und Benutzerführung ergeben sich daraus Regeln => Über Regeln werden die einzelnen Prüfungen definiert. Diese sollen über SQL-Anfragen definierbar sein. Bezeichnung, Beschreibung, Regeltyp (info, warning, critical) Unit Testing => Pro Bereich (Item, Button, …) Aussage über Erfolg Seitenweise & App => darüber nur Informationen zur aktuellen Seite möglich. Applikationsweit für Shared Components nötig. Integriert & unabhängig => Direkte Einbettung und Anzeige während der Entwicklung. Aufruf über Datenbank ohne Anwendung möglich.
  4. APEX Objekte => Workspace – Application Builder – Utilities – APEX Views SeitenViews => APEX_APPLICATION_PAGE_... Datenbankobjekte => Zentrale View USER_OBJECTS Dynamisches SQL => Problem der validen SQL Queries
  5. Package => Einzelnes Packages um dies einfach zu integrieren. Getrennt um die Anpassungen zu Erleichtern. Logik wird bei zukünftigen Projekten gleich bleiben nur Regeln unterscheiden. Packages größere Akzeptanz anstatt, Tabelle, Trigger & Sequenz Funktion für => Seite (direkte integration) nur zusammenhängende Objekte prüfen Region Seite 0 => Über Condition nur für Entwickler Ggf. spezielle Seiten ausklammern bzw. Testseiten
  6. Allgemeine Parameter => APP_ID => Default auf Entwicklungssystem als „IN“ Parameter PAGE_ID => APP_ID in Page 0 Aufruf MIN_MSG_TYPE => ggf. möglich als Entwickler anzupassen Weitere Parameter => Aktivierung / Deaktivierung von Teilprüfungen Regions, Buttons, Tables, Navigation ….
  7. APEX Objekte => Jedes Objekte was in APEX deklarativ erstellt werden kann und entsprechend als View zur Verfügung steht Eigenschaften => Template => Namenskürzel Ausrichtung => links für Komponenten für Textfield, Numberfield, oberhalb für große Elemente Textarea, Shuttle, rechts für Checkbox, Radiogroup Condition => „Objekte“ mit „never“, allgemein Berechtigungsmechaniken Message => APP_USER_MESSAGE Name => Von Template auf Name bzw. Vorgaben aus Konzept beachten. Reihenfolge => Zurück/Cancel, Speichern, Erstellen, Löschen (Sequenz Number) Label => mit Hilfe => dann auch mit Hilfetext, sonst ohne und nur Label wenn nicht hidden
  8. Datenbankobjekte => jegliche Objekte die per user_objcts bzw. all_objects zu prüfen sind Eigenschaften Name => Namenskonventionen pro Objekttyp _seq, _pkg, _id => PK …. Seitenobjekte => Layer für APEX Seite => Seite vorhanden? PK & FK => Jede Tabelle mit ID-Spalte und XXXX_XXXX_ID als FK? Index & Constraint => zu jedem Constraint auch in Index Tablespace => Indices im Indextablespace?
  9. Objekte => Referenztabellen nicht leer, fachliche Tabellen müssen leer sein Eigenschaften => Anzahl Einträge pro Tabelle Schlüssel nach bestimmter Kennung Eindeutigkeit über mehrere Tabellen hinweg
  10. Seitengruppe Ausrichtung Template Namen Optional (help/no help) Check_page Never Elemente
  11. Infomeldungen 1. Klick => Meldungen anzeigen 2. => Seitengruppe 3. Regiontemplate 4. Branch
  12. Metamodell - Extraktion der Informationen aus Umsetzungskonzept Seitenitems - Bezeichner, Kennzeichnung als Hilfsitem oder zur Verarbeitung Verknüpfung – mehrfache Benutzung eines Items in verschiedenen Kontexten DB Modell – für Reports und zur Einarbeitung ins Datenmodell, Datentyp != Datentyp im DB Modell Fachliche Vorgaben – Kapselung von mehreren Elementen und diversen fachlichen Eigenschaften für technische Mechaniken
  13. Region-Plugin => Integration über Seite 0 als optional Mailversandt => Auswertung von weiteren Systemen, Art und Inhalt der Mails klären => Zuordnung von Seiten zu Entwicklern => Unterschiedliche Auswertung je nach Aufgabe DBMS_Scheduler => Job-Steuerung für Projektteam => Anstoßen von Mailversandt
  14. Regeln in Tabelle => Eigenschaften bzw. Typ, etc. müssen abgebildet werden. Exp & Import => vorgefertigte Regeln als Import & Export zur Verfügung stellen. Theme Standards => Vorgaben der Templates - Bugs => Bei Bugs in APEX diese Auflisten. Probleme wie zum Beispiel Fehler in DA oder anderen Punkten die nicht als Fehler ausgegeben werden diese anzeigen.
  15. Kombination => Unit Testing lässt sich perfekt pro Themengebiet bzw. pro Seite definieren Anwendungsqualität => Vorgaben lassen sich durch Automatisierung stark verbessern und Fehler fallen direkt auf Einarbeitung => Vorgaben lassen sich direkt in der Anwendung als Prüfung anzeigen bzw. korrigieren lassen Prüfung => Es kann jederzeit die Anwendung geprüft werden. Eine Prüfung kann auch von nicht technisch versierten Personen gemacht werden. Transparenz => Innerhalb eines Packages lässt sich ein großteil der Vorgaben abbilden und wird immer aktualisiert durch Erweiterungen