26.11.2015, Christoph Menke
@christoph_hb
Selenium oder CBTA
Automatisierter Test von Weboberflächen im SAP Umfeld
1
Testautomatisierung
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 3
Verschiedene Arten der Testautomatisierung
› Unit Tests
 Testen der kleinsten Artefakte der Software (Methoden, Funktionen…)
 Augenmerk auf die funktionale Richtigkeit
› Servicetests
 Testen der technischen Services unterhalb der Oberfläche
 Augenmerk auf die richtige Funktionsweise der Services
› Funktionales Testen
 Testen der Benutzeroberfläche
 Augenmerk auf die fachliche Richtigkeit
› Nicht funktionales Testen
 Prüfen der nicht funktionalen Qualitätsmerkmale
 Performancetests, Sicherheitstests, statische Code-Analysen…
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 4
Pyramide automatisiertes Testen
Manuelles
Testen
Oberflächentests
Servicetests
Unit Tests70%
20%
10%
Nach
Bedarf
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 5
Capture & Replay
Adjust
ReportReplayCapture Save
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 6
Datengetriebene Testfalldarstellung
Ein Ablauf wird wiederholt
mit unterschiedlichen Daten
Eingabe ins Textfeld „Name“: X
X = „Max Mustermann“
X = „Martina Musterfrau“
X = „Manfred Baumgartner“
X = „Thomas Bucsics“
…
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 7
Schlüsselworte
Baukasten
Kunde anlegen
Produkt anlegen
Produkt löschen
Appl. starten
Appl. schließen
Kunde löschen
Testfälle
Schlüsselwortgetriebene Testfalldarstellung
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 8
Disclaimer
2
Selenium und CBTA
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 10
Selenium
• OpenSource Testautomatisierungwerzeug für Browser
• Basiert auf HTML und JavaScript
• Unterstützt die gängigsten Browser
› Internet Explorer
› Firefox
› .. weitere
• Unterstützt verschiedenen Programmiersprachen
› Java
› C#
› …weitere
• Unterstützt verschiedene Betriebssysteme
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 11
Wie Selenium funktioniert
Test der
Applikation
TESTSKRIPT SELENIUM
SERVER
SELENIUM
DRIVER
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 12
Ein Selenium-Beispiel für eine UI5 Anwendung
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 13
Fazit Selenium
+ Wissensaufbau schnell, da viel Know-How im
Internet und zudem Möglichkeiten der
Schulung
+ Multi-Browser Testen möglich
+ Selenium Know-How (Personen und Wissen)
gut verfügbar
+ Regelmäßige Weiterentwicklung des
Werkzeugs
+ Technisch sehr ausgereift
 Kein zugehöriges Testmanagement
 Kein angebundenes Reporting
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 14
CBTA (Component Based Test Automation)
• Testautomatisierungslösung von SAP und Ergänzung zu eCATT
• Verfügbar für Kunden mit Enterprise Support
• Eingebettet in das Testmanagement Workcenter im Solution Manager
• Ermöglicht die Automatisierung von vielen SAP Technologien
SAP GUI, SAP CRM Web Client, ABAP Web Dynpro (SP10), Java Web
Dynpro (SP10), SAP NetWeaver Portal (SP10) & SAP GUI for HTML (SP10)…
• Tests der Weboberflächen finden im Internet Explorer statt
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 15
Der Weg zu CBTA
› Einführen des Tools gestaltete sich als äußerst herausfordernd.
(Anfang August 2013 bis Ende Oktober 2013)
 OSS Calls dauerten, da CBTA keine hohe Priorität hat (kein
Produktivsystem)
 Installationsleitfäden waren sehr rudimentär vorhanden und
teilweise inkonsistent
 Kaum Erfahrungen mit CBTA in der SAP Community (drei
Einträge zu CBTA im SCN)
› Erste Tests für den Kunden brachten Ernüchterung
 Häufige Abstürze
 Keine Bildkomponenten für eigenentwickelte SAP GUI Lösung
 Damals unbrauchbarer Ansatz
Fazit 2013: Wir setzen CBTA erstmal wieder auf die Bank und schauen
uns es in einer neueren Version wieder an.
Foto evama53 CC BY-NC-SA 2.0
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 16
Aktueller Eindruck
› SAP CRM und SAP UI5 Entwicklungen
‒ Weiterhin keine zuverlässige Erstellung von Bildkomponenten
‒ Zweifel an der Wartbarkeit der erstellten Skripte
‒ Hoher Aufwand beim Automatisieren, da dieses nicht schrittweise passieren
kann.
‒ Viele Einschränkungen in der Nutzung (z.B. Drag & Drop, Hover Effekte
etc.)
› Einrichtung und Usability
‒ Nur durch trial and error möglich die Systemdatencontainer so einzurichten,
dass alle Technologien getestet werden konnten.
‒ Oberflächenwechsel zwischen SAPGUI, Workcenter, Internet-Explorer,
.NET Anwendung und wieder SAPGUI sind umständlich.
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 17
Beispiel Aufzeichnung SAP CRM mit CBTA
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 18
Beispiel Zusammenspiel CBTA und eCATT
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 19
Fazit CBTA
+ Gute Übersicht im TCE
+ Möglichkeiten den BPCA zu nutzen
+ Vermutlich schneller Ansatz, wenn die
Bildkomponenten funktionieren
 Bildkomponenten werden für
(Eigen)entwicklungen nicht zuverlässig
erstellt
 Kein schrittweises Aufzeichnen möglich
 Komplizierte Bedienung
 Geringe Stabilität
 Viele Einschränkungen (SAP Note
1835958)
 Kleine Community
 Keine Schulungen
 Keine hohe Priorität durch SAP Support
3
Selenium Integration in den Solution
Manager
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 21
Integration zwischen Solution Manager und Selenium
eCATT
Metaskript für die
Ansteuerung von Selenium
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 22
Funktionsweise des eCATT Metaskripts
• Das eCATT Skript führt ein Java-Seleniumskript aus
• Gibt das Ergebnis zurück (PASS bzw. FAIL mit Fehlertext)
• Gibt (falls vorhanden) alle Exportparameter zurück
• Die Übergabe der Ergebnisse und Parameter erfolgt über die Zwischenablage
› Bewusste Entscheidung um Zugriffe auf das Dateisystem zu vermeiden
› Sehr stabil und performant
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 23
Testfallskript
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 24
Einsatz des eCATT Metaskripts
eCATT
Wareneingang Palettentransport
eCATT
Metaskript
Lagereinheit
Lagereinheit
Selenium Skript
Transportnummer
Transportnummer
inkl.
Fehlerbehandlung
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 25
Selenium Schlüsselwort
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 26
Fehlermeldungen aus dem Selenium Skript
© 2015 ANECON | Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 27
Fazit der Integration
+ Ansteuern von Selenium aus dem Solution
Manager heraus funktioniert gut
+ Gleiche Ansteuerung von Testschritten
zwischen eCATT, Selenium und anderen
eventuell vorhanden Testwerkzeugen im
Solution Manager
- Austausch der Ergebnisse über die
Zwischenablage riskant
- Unterschiedliche Entwicklungsumgebungen
zur Testautomatisierung
- Unterschiedliche Technologien
ANECON. Weil A vor B kommt.
ANECON Software Design und Beratung GmbH
Bautzner Str. 147a, 01099 Dresden | www.anecon.com
office@anecon.com | Tel.: +49 351 207 497 20
christoph.menke@anecon.com @christoph_hb
Christoph Menke
ANECON Software Design und Beratung GmbH
Bautzner Str. 147a, 01099 Dresden | www.anecon.com
office@anecon.com | Tel.: +49 351 207 497 20

Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld

  • 1.
    26.11.2015, Christoph Menke @christoph_hb Seleniumoder CBTA Automatisierter Test von Weboberflächen im SAP Umfeld
  • 2.
  • 3.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 3 Verschiedene Arten der Testautomatisierung › Unit Tests  Testen der kleinsten Artefakte der Software (Methoden, Funktionen…)  Augenmerk auf die funktionale Richtigkeit › Servicetests  Testen der technischen Services unterhalb der Oberfläche  Augenmerk auf die richtige Funktionsweise der Services › Funktionales Testen  Testen der Benutzeroberfläche  Augenmerk auf die fachliche Richtigkeit › Nicht funktionales Testen  Prüfen der nicht funktionalen Qualitätsmerkmale  Performancetests, Sicherheitstests, statische Code-Analysen…
  • 4.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 4 Pyramide automatisiertes Testen Manuelles Testen Oberflächentests Servicetests Unit Tests70% 20% 10% Nach Bedarf
  • 5.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 5 Capture & Replay Adjust ReportReplayCapture Save
  • 6.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 6 Datengetriebene Testfalldarstellung Ein Ablauf wird wiederholt mit unterschiedlichen Daten Eingabe ins Textfeld „Name“: X X = „Max Mustermann“ X = „Martina Musterfrau“ X = „Manfred Baumgartner“ X = „Thomas Bucsics“ …
  • 7.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 7 Schlüsselworte Baukasten Kunde anlegen Produkt anlegen Produkt löschen Appl. starten Appl. schließen Kunde löschen Testfälle Schlüsselwortgetriebene Testfalldarstellung
  • 8.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 8 Disclaimer
  • 9.
  • 10.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 10 Selenium • OpenSource Testautomatisierungwerzeug für Browser • Basiert auf HTML und JavaScript • Unterstützt die gängigsten Browser › Internet Explorer › Firefox › .. weitere • Unterstützt verschiedenen Programmiersprachen › Java › C# › …weitere • Unterstützt verschiedene Betriebssysteme
  • 11.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 11 Wie Selenium funktioniert Test der Applikation TESTSKRIPT SELENIUM SERVER SELENIUM DRIVER
  • 12.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 12 Ein Selenium-Beispiel für eine UI5 Anwendung
  • 13.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 13 Fazit Selenium + Wissensaufbau schnell, da viel Know-How im Internet und zudem Möglichkeiten der Schulung + Multi-Browser Testen möglich + Selenium Know-How (Personen und Wissen) gut verfügbar + Regelmäßige Weiterentwicklung des Werkzeugs + Technisch sehr ausgereift  Kein zugehöriges Testmanagement  Kein angebundenes Reporting
  • 14.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 14 CBTA (Component Based Test Automation) • Testautomatisierungslösung von SAP und Ergänzung zu eCATT • Verfügbar für Kunden mit Enterprise Support • Eingebettet in das Testmanagement Workcenter im Solution Manager • Ermöglicht die Automatisierung von vielen SAP Technologien SAP GUI, SAP CRM Web Client, ABAP Web Dynpro (SP10), Java Web Dynpro (SP10), SAP NetWeaver Portal (SP10) & SAP GUI for HTML (SP10)… • Tests der Weboberflächen finden im Internet Explorer statt
  • 15.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 15 Der Weg zu CBTA › Einführen des Tools gestaltete sich als äußerst herausfordernd. (Anfang August 2013 bis Ende Oktober 2013)  OSS Calls dauerten, da CBTA keine hohe Priorität hat (kein Produktivsystem)  Installationsleitfäden waren sehr rudimentär vorhanden und teilweise inkonsistent  Kaum Erfahrungen mit CBTA in der SAP Community (drei Einträge zu CBTA im SCN) › Erste Tests für den Kunden brachten Ernüchterung  Häufige Abstürze  Keine Bildkomponenten für eigenentwickelte SAP GUI Lösung  Damals unbrauchbarer Ansatz Fazit 2013: Wir setzen CBTA erstmal wieder auf die Bank und schauen uns es in einer neueren Version wieder an. Foto evama53 CC BY-NC-SA 2.0
  • 16.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 16 Aktueller Eindruck › SAP CRM und SAP UI5 Entwicklungen ‒ Weiterhin keine zuverlässige Erstellung von Bildkomponenten ‒ Zweifel an der Wartbarkeit der erstellten Skripte ‒ Hoher Aufwand beim Automatisieren, da dieses nicht schrittweise passieren kann. ‒ Viele Einschränkungen in der Nutzung (z.B. Drag & Drop, Hover Effekte etc.) › Einrichtung und Usability ‒ Nur durch trial and error möglich die Systemdatencontainer so einzurichten, dass alle Technologien getestet werden konnten. ‒ Oberflächenwechsel zwischen SAPGUI, Workcenter, Internet-Explorer, .NET Anwendung und wieder SAPGUI sind umständlich.
  • 17.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 17 Beispiel Aufzeichnung SAP CRM mit CBTA
  • 18.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 18 Beispiel Zusammenspiel CBTA und eCATT
  • 19.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 19 Fazit CBTA + Gute Übersicht im TCE + Möglichkeiten den BPCA zu nutzen + Vermutlich schneller Ansatz, wenn die Bildkomponenten funktionieren  Bildkomponenten werden für (Eigen)entwicklungen nicht zuverlässig erstellt  Kein schrittweises Aufzeichnen möglich  Komplizierte Bedienung  Geringe Stabilität  Viele Einschränkungen (SAP Note 1835958)  Kleine Community  Keine Schulungen  Keine hohe Priorität durch SAP Support
  • 20.
    3 Selenium Integration inden Solution Manager
  • 21.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 21 Integration zwischen Solution Manager und Selenium eCATT Metaskript für die Ansteuerung von Selenium
  • 22.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 22 Funktionsweise des eCATT Metaskripts • Das eCATT Skript führt ein Java-Seleniumskript aus • Gibt das Ergebnis zurück (PASS bzw. FAIL mit Fehlertext) • Gibt (falls vorhanden) alle Exportparameter zurück • Die Übergabe der Ergebnisse und Parameter erfolgt über die Zwischenablage › Bewusste Entscheidung um Zugriffe auf das Dateisystem zu vermeiden › Sehr stabil und performant
  • 23.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 23 Testfallskript
  • 24.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 24 Einsatz des eCATT Metaskripts eCATT Wareneingang Palettentransport eCATT Metaskript Lagereinheit Lagereinheit Selenium Skript Transportnummer Transportnummer inkl. Fehlerbehandlung
  • 25.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 25 Selenium Schlüsselwort
  • 26.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 26 Fehlermeldungen aus dem Selenium Skript
  • 27.
    © 2015 ANECON| Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld 27 Fazit der Integration + Ansteuern von Selenium aus dem Solution Manager heraus funktioniert gut + Gleiche Ansteuerung von Testschritten zwischen eCATT, Selenium und anderen eventuell vorhanden Testwerkzeugen im Solution Manager - Austausch der Ergebnisse über die Zwischenablage riskant - Unterschiedliche Entwicklungsumgebungen zur Testautomatisierung - Unterschiedliche Technologien
  • 29.
    ANECON. Weil Avor B kommt. ANECON Software Design und Beratung GmbH Bautzner Str. 147a, 01099 Dresden | www.anecon.com office@anecon.com | Tel.: +49 351 207 497 20 christoph.menke@anecon.com @christoph_hb Christoph Menke ANECON Software Design und Beratung GmbH Bautzner Str. 147a, 01099 Dresden | www.anecon.com office@anecon.com | Tel.: +49 351 207 497 20

Hinweis der Redaktion

  • #2 * Bremen, 7 Jahre Erfahrung im Bereich Softwaretest, Rollen Testmanager, Testautomatisierer, Trainer ISTQB * Fragen zum Verständnis gerne Zwischendurch -> Andere Fragen am Ende * Einführung, Betrachtung der beiden Werkzeuge, Unser Ansatz bei einem Kunden
  • #3 Auf Foto eingehen: Plakativ -> Warum macht man eigentlich Testautomatisierung?