Trivadis TechEvent 2016 Testen wird überschätzt von Andreas Fend

Post on 23-Jan-2017

30 views 0 download

Transcript of Trivadis TechEvent 2016 Testen wird überschätzt von 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