Integrierte und automatisierte GUI-Tests in Java



Ähnliche Dokumente
Anleitung zum GUI Version 2.x

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Lehrer: Einschreibemethoden

Anbindung des eibport an das Internet

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

So wird s gemacht - Nr. 24

Statuten in leichter Sprache

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Konzentration auf das. Wesentliche.

Datenexport aus JS - Software

In dem unterem Feld können Sie Ihre eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt.

Serienbrief mit Works 7.0

Etikettendruck mit Works 7.0

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

Aktivierung von Makros in den Erfassungshilfen

3 Wie bekommen Sie Passwortlevel 3 und einen Installateurscode?

3. Die tägliche -Flut effizient verwalten

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

So funktioniert das online-bestellsystem GIMA-direkt

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Professionelle Seminare im Bereich MS-Office

Hilfe zum Warenkorb des Elektronischen Katalogs 2007 Version 1.0

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Einrichtung eines -konto mit Thunderbird

Gambio GX2 FAQ. Inhaltsverzeichnis

s aus -Programm sichern Wählen Sie auf der "Startseite" die Option " s archivieren" und dann die entsprechende Anwendung aus.

Viele Bilder auf der FA-Homepage

Programmierkurs Java

QTrade GmbH Landshuter Allee München Seite 1

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Internet online Update (Mozilla Firefox)

Tipps & Tricks - Neuerungen Nr. 6/ 2015

teamsync Kurzanleitung

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

User Manual Data 24. Login und Layout

COMPUTERIA VOM SERIENBRIEFE UND ETIKETTENDRUCK

ebanking Business: Beitragseinzug per SEPA-Lastschrift

Zur drittletzten Zeile scrollen

Electronic Systems GmbH & Co. KG

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

SMS-Dienst SMS-Dienst procar informatik AG Stand: FS 04/2011 Eschenweg Weiterstadt 1

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

Welches Übersetzungsbüro passt zu mir?

Der SAP BW-BPS Web Interface Builder

epostfach / Konto registrieren

Affiliate-Marketing. Kapitel 6. Copyright by Worldsoft AG, 2014, Pfäffikon SZ, Switzerland. Version: Seite 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Datenbank LAP - Chefexperten Detailhandel

Zahlen auf einen Blick

ecaros2 - Accountmanager

Hilfedatei der Oden$-Börse Stand Juni 2014

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Erstellen der Barcode-Etiketten:

Enigmail Konfiguration

Nutzungsbroschüre für Vereine

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Österreichische Trachtenjugend

Software- und Druckerzuweisung Selbstlernmaterialien

Anzeige von eingescannten Rechnungen

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Datenbanken Microsoft Access 2010

Anleitung: Terminverwaltung (Eigene Veranstaltungen auf der BM-Website bewerben)

Biogena IMK. Individuelle Mikronährstoff Komponenten. Benutzerhandbuch. Natürlich so individuell wie Ihr Patient

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Leitfaden zur Moduleinschreibung

Was kann ich im Online-Portal alles tun?

EINFACHES HAUSHALT- KASSABUCH

Abwesenheitsnotiz im Exchange Server 2010

Workflows verwalten. Tipps & Tricks

Zählen von Objekten einer bestimmten Klasse

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Erstellen von x-y-diagrammen in OpenOffice.calc

So gehts Schritt-für-Schritt-Anleitung

MARCANT - File Delivery System

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Kurzeinführung Excel2App. Version 1.0.0

Anleitung Administration Spitex-Organisationen

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Webalizer HOWTO. Stand:

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Aufklappelemente anlegen

Lizenzierung von StarMoney 10 bzw. StarMoney Business 7 durchführen

ecommerce Deshalb ist es für Unternehmen jeder Grösse wichtig, den Schritt in den Online-Verkauf nicht zu verpassen.

Klicksparen. Einrichtung und Nutzung von Klicksparen am Beispiel vom iphone Hamburg,

WPF Steuerelemente Listbox, ComboBox, ListView,

Bedienung des Web-Portales der Sportbergbetriebe

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Vorabversion. Schulung am Homepage Administration und Pflege

Synchronisations- Assistent

Transkript:

Integrierte und automatisierte GUI-Tests in Java

Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests) Praxisbeispiel Gliederung

"Kein Produkt menschlicher Intelligenz kommt fehlerfrei zur Welt. Wir formulieren Sätze um, trennen Nähte wieder auf, setzen Pflanzen um, planen Häuser neu und reparieren Brücken. Warum sollte es uns mit Software anders gehen?" Testen ist effektiv und wichtig Vorteile: GUI-Tests... agieren aus der Sicht des Endanwenders und nicht aus der Sicht des Programms testen nicht nur die GUI (Graphical User Interface), sondern auch das System als Ganzes Die Idee hinter GUI-Tests

Ziele sind es... Kostengünstige und effektive Tests zu schreiben Stabile und generische Tests zu schreiben Effizienz hängt vom Testerzeuger ab er muss das Programm besser kennen als der Entwickler Probleme entstehen wenn... die Software regelmäßig ihre Struktur ändert Die Testmodule nur selten ausgeführt werden Die Ergebnisse nicht durch eine Maschine verifiziert werden können Eine physische Interaktion des Anwenders benötigt wird Diese Tests können nicht automatisiert werden! Herausforderungen und Probleme

Im Laufe der Zeit haben sich zwei Techniken durchgesetzt: Recording: Es werden Mausbewegungen, Klicks und Tastatureingaben aufgenommen und abgespeichert. Scripting: Die Mausbewegungen, Klicks und Tastatureingaben werden über eine Skriptsprache definiert Recording Anlegen eines Tests ist schneller Benötigt in den meisten Fällen ein eigenes Replay-Tool Scripting Einfachere Anpassung des Tests an Änderungen Läuft auf jedem System Techniken

Jemmy Library zur Erzeugung automatisierter Tests Enthält Methoden um alle User-Eingaben die auf Swing/AWT- Komponenten ausgeführt werden können zu simulieren Nutzt die Scripttechnik Basiert selber auf Java Plattformunabhängig (sofern eine VM vorhanden ist) Lässt sich per Junit-Tests auführen Einfachere Konfiguration (enthält nur eine Jar-Datei) Jemmy-Framework

Ablaufplan: Find: Das finden der Komponente wird durch ComponentChooser realisiert, welche alle in der Swing-Anwendungen befindlichen Komponenten auf vorher definierte Kriterien untersucht (Name, Id, uvm.) und die passende zurückliefert. Do: Actions die auf der gefundenen Komponente ausgeführt werden sollen, werden durch Operatoren realisiert. Dafür gibt es für jede Komponentenklasse einen Komponentenoperator, welcher als Adapter alle Methoden der Komponente bereitstellt Jemmy-Framework

Bei Änderungen an der Software sollte der GUI-Test mit möglichst geringem Aufwand angepasst werden. Jemmy benutzt dafür das Prinzip des konzeptorientiertes Testens. Entwicklung von Tests unter der Annahme, dass etwas existiert (egal wie) Entkopplung des Testcodes von der GUI UI-abhängiges Testen Konzeptorientiertes Testen class MyTest() { public void testsetgreencolor() { new CarRecordDialogOperator().enterColor("green "); } } CarRecordDialogOperator() hat eine Bindug zum UI. Dort wird bspw. Ein Textfeld gesucht und die Farbe eingegeben. class MyTest() { public void testsetgreencolor() { new CarRecord().setColor(CarColor.GREEN)); } } Es wird angenommen, dass es einen CarRecord gibt und jeder Record eine Farbe bekommen kann. Wie das passiert ist irrelevant. Konzeptorientiertes Testen

Framework für die Automatisierung von Akzeptanztests Daten kommen nicht aus dem Quellcode sondern von externen Quellen (HTML, Excel,..) => Autor benötigt keine Programmierkenntnisse, die Fachseite kann Tests anlegen FIT (Framework for Integrated Tests)

Die Eingabedaten Daten für FIT-Tests werden tabellarisch erstellt Jede Zeile entspricht einem Testdurchlauf Für jeden Einzeltest enthalten die Spalten den Namen des Tests, die Eingabewerte und das erwartete Resultat, welche von der sogenannten Fixture verarbeitet werden. Fixture, welche die Eingabe parsed de.bauerkirch.myfixture E-Mail Adresse hp@bauer-kirch.de hp.test.de isvalid() true false Parameter an die Fixture (setzt Felder in der Fixture) Erwartete Rückgabe der Fixture-Methode isvalid FIT (Framework for Integrated Tests)

Demonstration von FIT und Jemmy anhand der Software Deutsche Post Einlieferungslisten Demonstration

Fragen?

Vielen Dank für Ihre Aufmerksamkeit!

Genutzte Literatur [1] Lauren Ruth Wiener, Digitales Verhängnis, ISBN 3893196722 [2] Mark Fewster, Software Test Automation, ISBN 978-0201331400 [3] Christian Ullenboom, Java ist auch eine Insel, ISBN 978-3-8362-1371-4 [4] Elfriede Dustin, Automated Software Testing, ISBN 0-20143-287-0 [5] http://www.torsten-horn.de/techdocs/java-fit.htm [6] http://www2.hs-augsburg.de/informatik/projekte/testen/ss2006/gui_schumann.pdf [7] https://jemmy.dev.java.net/ [8] http://fit.c2.com/ [9] http://www.javaworld.com/javaworld/jw-11-2004/jw-1115-swing.html Literatur