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

24
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

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

Page 1: 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

Page 2: Trivadis TechEvent 2016 Testen wird überschätzt von 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?

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

FAAT – TE Sept. 20163 22.09.2016

Testen

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

Was?

FAAT – TE Sept. 20164 22.09.2016

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

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?

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

…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?“

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

FAAT – TE Sept. 20167 22.09.2016

Vereinfachen

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

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 ?

– …

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

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

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

FAAT – TE Sept. 201610 22.09.2016

„FAAT“

(Framework for Automated APEX-Testing)

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

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

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

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

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

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!

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

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….

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

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

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

FAAT – TE Sept. 201616 22.09.2016

Das Tool „FAAT“

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

„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

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

Wie funktioniert FAAT?

FAAT – TE Sept. 201618 22.09.2016

TestScripts

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

Wie funktioniert FAAT?

19 22.09.2016

Jenkins

TestScripts

FAAT – TE Sept. 2016

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

Demo

FAAT – TE Sept. 201620 22.09.2016

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

FAAT – TE Sept. 201621 22.09.2016

Das Tool „FAAT“

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

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

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

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

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

Fragen ? … oder Ideen ?

FAAT – TE Sept. 201624 22.09.2016