BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Testen? Wird überschätzt! Schneller zu Testfällen in APEX Andreas Fend
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
Testen? Wird überschätzt! Schneller zu Testfällen in APEX
Andreas Fend
Agenda
FAAT – TE Sept. 20162 22.09.2016
1. Testen
2. Vereinfachen
3. „FAAT“ - Framework for Automated APEX-Testing
5. Das Tool => Demo
6. Ausblick
7. Fragen?
FAAT – TE Sept. 20163 22.09.2016
Testen
Was?
FAAT – TE Sept. 20164 22.09.2016
FAAT – TE Sept. 20165 22.09.2016
Wie?
Lokaler Entwicklertest
Manuell erstellte Testdaten und Skripte
Kundentest auf Integrationssystem
Evtl. Testskript mit „Use-Cases“
„umfassende Test“ in Produktion
Wie sieht Testen oft aus?
…wie es sein sollte
FAAT – TE Sept. 20166 22.09.2016
Entwicklertest
– umfangreicher Satz Testdaten, angemessene Hardware, …
Testdaten
– Realitätsnah, Rollback-Konzept, …
Integrationstest
Akzeptanztest durch Endanwender
Produktionsfehler : „Kann man die Buttonfarbe anpassen?“
FAAT – TE Sept. 20167 22.09.2016
Vereinfachen
Kann man die Tests nicht vereinfachen?
FAAT – TE Sept. 20168 22.09.2016
Also z.B.
…weniger Tests
– Nur die Hauptbereiche der Applikation testen… die sog. „kritischen“ Bereiche
– Nur mit Realdaten testen „Das sind ja schließlich auch die, die dann vorkommen“
– Oder einfach einmal durchgeführte Tests im nächsten Durchgang überspringen ?
– …
was kann man risikoarm vereinfachen / reduzieren?
FAAT – TE Sept. 20169 22.09.2016
Die Aufwände bei Erstellung der Tests und der Durchführung !
Testdaten Erstellung
– Durch Tools die aus Realdaten Testdaten erstellen (für das Volumen)
– Durch Testdatengeneratoren die ggf. auch „unsinnige“ Daten erstellen
Testscript Erstellung (technisch)
– Recorder zum Erstellen der Skripte (zur Wiederverwendung) (z.B. Selenium)
– Generische Testskripte (wiederverwendbar)
Automatisierte Abarbeitung der erzeugten technischen Testskripte
FAAT – TE Sept. 201610 22.09.2016
„FAAT“
(Framework for Automated APEX-Testing)
APEX
FAAT – TE Sept. 201611 22.09.2016
Eckpunkte
APEX ist deklarativ und prinzipiell einfach aufgebaut!
Alle Deklarationen liegen in Tabellen in der Datenbank
Mit entsprechenden Berechtigungen ist der Zugriff kein Problem
Die Struktur einer APEX-Applikation lässt sich also analysieren
APEX
FAAT – TE Sept. 201612 22.09.2016
Schwierigkeiten
Die Variationen bei der Deklaration sind ziemlich unübersichtlich
Die zu analysierende Datenmenge ist je nach Applikation sehr groß
Konventionen bei der Anwendung der Möglichkeiten von APEX oft unzureichend
Die Entwicklung von APEX bleibt nicht stehen
Wie können wir das nutzen?
FAAT – TE Sept. 201613 22.09.2016
Anhand des Repositorys lassen sich automatisch Skripte zum Testen der fertigen Oberfläche erstellen!
Was gibt es zu tun?
FAAT – TE Sept. 201614 22.09.2016
Die Hauptaufgabe
Automatische Analyse der Applikation
– Seiten auslesen
– Elemente ermitteln (Buttons, Select Listen, Text-Boxen, Popup-LOV‘s….)
– Links analysieren (Navigationslisten, Branches, Buttonlinks….)
– Validations analysieren
– Datentypen hinter Elementen checken (Datenbankfelder, sofern keine Info am
Element hinterlegt)
– usw….
Selenium
FAAT – TE Sept. 201615 22.09.2016
- Test- / Browser- automatisierungs-Tool
- Apache 2.0 License
http://www.seleniumhq.org/
- bestehend aus
- IDE (Plugin für Firefox)
- Server (Standalone)
- Webdriver (Plugin für verschieden Testinglösungen)
Unsere Wahl fiel, der Einfachheit halber, vorerst auf die IDE zur Ausführung der
Testscripts
FAAT – TE Sept. 201616 22.09.2016
Das Tool „FAAT“
„FAAT“
FAAT – TE Sept. 201617 22.09.2016
Framework for Automated APEX-Testing
APEX-Applikation und Framework aus PL/SQL Packages
Was leistet FAAT?
– Analysieren von Anwendungen
– Erstellen von Testskripten
– Erstellen eines Seitennetzwerks (Grafische Übersicht über die Seiten einer Applikation sowie deren
Verknüpfungen zueinander)
– Weiterentwicklung App Anpassen der Tests
– Verwalten der Testdaten
Wie funktioniert FAAT?
FAAT – TE Sept. 201618 22.09.2016
TestScripts
Wie funktioniert FAAT?
19 22.09.2016
Jenkins
TestScripts
FAAT – TE Sept. 2016
Demo
FAAT – TE Sept. 201620 22.09.2016
FAAT – TE Sept. 201621 22.09.2016
Das Tool „FAAT“
Das war‘s?
FAAT – TE Sept. 201622 22.09.2016
Die Testdaten
Im ersten Schritt automatisiert erstellte Dummydaten / Manuelle Testdaten
Demnächst:
– Einlesen von Testdaten zur Befüllung der Skripte beim Erstellen
– Vorbereitung von Testdaten-Templates anhand der Analyse der Applikation
Auswertung (Testbericht/Log)
Am Ende eines Test müssen die Ergebnisse ausgewertet und visualisiert werden
Was ist noch geplant?
FAAT – TE Sept. 201623 22.09.2016
CI-Fähigkeit
Verwendbarkeit der Erstellten Scripte in einer CI-Umgebung bereits bestätigt.
Überlegung wie diese Nutzung ggf. Komfortabler gestaltet werden kann.
Cloud-Lösung
FAAT soll als „APP“ verfügbar gemacht werden so das der Endbenutzer keine
Installation in seinem Workspace benötigt. Und ein „Pay-per-Use“ oder vergleichbares
Lizenserungsmodell kostengünstig angeboten werden kann.
Interactive Reports
Reports
Java Script
Erweiterte Möglichkeiten zur Testerzeugung
Fragen ? … oder Ideen ?
FAAT – TE Sept. 201624 22.09.2016