+ All Categories
Home > Documents > Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework...

Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework...

Date post: 24-Oct-2019
Category:
Upload: others
View: 1 times
Download: 1 times
Share this document with a friend
28
06.07.2007 Testen von Weboberflächen mit Selenium 1 Giftige Akzeptanztests? Webanwendungen mit Selenium testen Björn Eilers 04.07.2007
Transcript
Page 1: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 1

Giftige Akzeptanztests?

Webanwendungen mit Selenium testen

Björn Eilers

04.07.2007

Page 2: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 2

viadee Unternehmensberatung GmbH

Gründung 1994

Firmenstandorte Münster und Köln (seit Mai 2007)

Über 70 Mitarbeiter (Informatiker, Mathematiker, Betriebswirtschaftler,…)

ca. 7,7 Mio. EUR Umsatz im Jahr 2006

qualitatives, kontrolliertes Wachstum

Durchgängige Beratung von Konzeption über Entwicklung bis zu Schulungen sowie Projektmanagement

Kunden der Branchen Handel, Banken, Versicherungen, Logistik, Kommunikation, Energie und IT

Page 3: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 3

Agenda

Testen von Weboberflächen

Was ist Selenium

Selenium Core

Selenium RC

Selenium IDE

Fazit

Page 4: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 4

Testen von Weboberflächen

Testen ist aufwändig und bindet wertvolle Projektzeit und –kosten

Manuelles Testen nicht ideal:

Hohe Fehleranfälligkeit

Zeitaufwändig, Personenbedarf

Wachsende Komplexität bei Regressiontests

Oberflächentests stellen hohe Anforderungen an Testsoftware:

Unterstützung verschiedener Plattformen (Browser / Betriebssysteme, insb. bei Projekten mit großem Anwenderkreis)

Dynamische Aspekte (AJAX, JavaScript, DHTML)

Page 5: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 5

Testen von Weboberflächen

Vielzahl von Testtools am Markt (httpUnit, jWebUnit, SilkTest, Rational Robot, …), aber viele Einschränkungen

Beschränkung auf wenige Plattformen (z. B. Windows/Internet Explorer)

Z. T. nur Unterstützung einfacher Grundfunktionalitäten

Alternativ hohe Lernkurve

Nur für IT-Professionals, dadurch keine Integration der Fachabteilung in Testdesign und Testfallerstellung

Open Source: Akzeptanzprobleme

Closed-Source: hohe Lizenzkosten

Page 6: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 6

Testen von Weboberflächen

Notwendigkeit

einfaches, aber mächtiges Framework

Schnelle Erstellung von Oberflächentests

Einfache Integration der Fachabteilung möglich

SELENIUM

Page 7: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 7

Agenda

Testen von Weboberflächen

Was ist Selenium

Selenium Core

Selenium RC

Selenium IDE

Fazit

Page 8: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 8

Was ist Selenium

Framework und Tools zur Erstellung und Durchführung von automatisierten Tests von Weboberflächen

Download und Dokumentation: www.openqa.org

Page 9: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 9

Was ist Selenium

Drei Komponenten

Selenium Core:Im Browser laufendes JavaScript-Framework zur Ausführung von Oberflächentests direkt im Browser

Selenium IDE:IDE für Testerstellung und Durchführung, die als Firefox-Addonbereitgestellt wird

Selenium RC:Java-Server und APIs für diverse Programmier- und Skriptsprachen, um Browser zu kontrollieren und Selenium-Testsdarin auszuführen

Page 10: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 10

Agenda

Testen von Weboberflächen

Was ist Selenium

Selenium Core

Selenium RC

Selenium IDE

Fazit

Page 11: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 11

Selenium Core

JavaScript-Framework, das mithilfe von IFrames und DOM Testfälle direkt im Browser ausführt.

Testaufbau nach FIT-Prinzip: Testsuiten und Testfälle in Tabellenform abgelegt

Testsuiten:

einspaltige HTML-Tabellen

Pro Zelle Link auf HTML-Datei mit Testfall oder Kommentar

Testfälle:

Dreispaltige HTML-Tabellen

Enthält Selenese-Anweisungen und Kommentare

Page 12: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 12

Selenium Core

Selenese-Anweisungen

Drei Klassen: Actions, Accessors und Assertions

Actions: Verändern den Zustand der Anwendung unter Test [AUT]

Z. B. Öffnen von Seiten, Klicken von Links

Accessors: Zustand der AUT untersuchen und Ergebnis in Variablen sichern

Z. B. Werte aus Tabellen auslesen

Assertions: Prüfen, ob Zustand der AUT dem erwarteten Verhalten entspricht

Z. B. prüfen, ob eine Seite einen bestimmten Titel hat

Page 13: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 13

Selenium Core

Best Practices

Test-First Programming:

Fachabteilung erstellt Testfälle aufgrund von ApplicationDesigns

Entwickler nutzen Testfälle als weitere Grundlage für Entwicklung

� Testfälle als Anforderungsspezifikation / „Vertrag“ zwischen Fachabteilung und Entwicklung

Automatische Regressionstests:

Nutzung der Testfälle zur Verifikation von Codeänderungen

Page 14: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 14

Selenium Core

Probleme

Selenium Core gemeinsam mit AUT auf Server deployen

XSS-Problematik:

Es kann nicht über Domain-Grenze getesten werden

Wechsel von unsicheren auf sichere Bereiche und umgekehrt gilt als Domainwechsel

Einige JavaScript-Events nicht unterstützt

Z. B. Dialogöffnung in onLoad()-Event

File-Upload nur in Firefox möglich

Keine Verschachtelung von Testsuiten

Page 15: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 15

Selenium Core

Demonstration

TestsuiteTimesheet-Anwendung Selenium-Testrunner

Page 16: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 16

Agenda

Testen von Weboberflächen

Was ist Selenium

Selenium Core

Selenium RC

Selenium IDE

Fazit

Page 17: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 17

Selenium RC

Erstellen von automatisierten Tests aus beliebigen Programmiersprachen gegen beliebige Webseiten

Middleware: Selenium Server

Java-Anwendung

kommuniziert mit Selenium Core

Kontrolliert unterstützte Browser Firefox, Internet Explorer, Opera, Safari, Camino, SeaMonkey

Fungiert als Proxy, um XSS-Problematik zu lösen

Bindungen für Java, .net, PHP, Perl, Ruby mitgeliefert

Eigene Bindungen möglich: HTTP-GET/POST-Request an SeleniumServer

Page 18: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 18

Selenium RC

Ermöglicht Einsatz in Unit-Tests

Regressionstest-Automatisierung

Einsatz in Continuous Integration-Tools möglich

Page 19: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 19

Selenium RC

jUnit-TestS/RC-

Wrapper Selenium Server

Browser

1. HTTP-Anfrage

2. Browser starten und als Proxy anmelden

3. Nächste Testanweisung

4. Anweisung über Proxy gesendet.

5. Anfrage weitergereicht

AUT

Page 20: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 20

Selenium RC

Demonstration

JUnit-TestsuiteSelenium-Server starten JUnit-Testlauf

Page 21: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 21

Agenda

Testen von Weboberflächen

Was ist Selenium

Selenium Core

Selenium RC

Selenium IDE

Fazit

Page 22: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 22

Selenium IDE

Firefox-Addon zum Aufnehmen, Durchführen und Debuggen von Tests

Schnelle Testfallerstellung per „Durchklicken“ der AUT und Anlegen von Assertions über kontextsensitive Menüs direkt im Browser

Testnachbereitung in IDE möglich (und auch notwendig)

Keine XSS-Problematik, da Addon in speziellem Firefox-Namensraum(chrome://)

Tests können als HTML gesichert/geladen oder in die von SeleniumRC unterstützten Sprachen exportiert werden

Ausführen von in IDE aufgenommenen Tests auch in anderen Browsern möglich

Page 23: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 23

Selenium IDE

Demonstration

Timesheet-Anwendung

Page 24: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 24

Agenda

Testen von Weboberflächen

Was ist Selenium

Selenium Core

Selenium RC

Selenium IDE

Fazit

Page 25: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 25

Fazit

Vorteile

Unterstützung diverser Browser- und Betriebssystemplattformen

Kostengünstig, da Open Source

Geringe Lernkurve, dadurch auch von Fachabteilung nutzbar

Schnelle Erstellung von Tests über Selenium-IDE

Selenium-RC für automatische Regressionstests und ContinuousIntegration

Page 26: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 26

Fazit

Nachteile

XSS-Problematik beim Einsatz von Selenium Core

IDE nur für Firefox verfügbar

Keine vollständige Unterstützung aller Browserfeatures

Mit RC z. T. Probleme bei Einsatz von Internet Explorer und Opera

Evtl. Akzeptanzprobleme, da Open Source

Page 27: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 27

Diskussion

Page 28: Webanwendungen mit Selenium testen - alt.java-forum ... fileeinfaches, aber mächtiges Framework Schnelle Erstellung von Oberflächentests Einfache Integration der Fachabteilung möglich

06.07.2007 Testen von Weboberflächen mit Selenium 28

Herzlichen Dank

für Ihre Aufmerksamkeit.

viadee Unternehmensberatung GmbHAnton-Bruchausen-Straße 848147 MünsterTelefon +49 251 7 77 77 0Telefax +49 251 7 77 77 [email protected]


Recommended