stabile gui-tests durch modulare testarchitektur · (borland/microfocus), testpartner, qarun...

21
Stabile GUI-Tests durch modulare Testarchitektur Martin Moser [email protected] +49 8174 386 48 0

Upload: others

Post on 19-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

Stabile GUI-Tests durch modulare Testarchitektur

Martin Moser

[email protected]

+49 8174 386 48 0

Page 2: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

2 / 21© 2010 Quality First Software GmbH, www.qfs.de

Überblick

• Quality First Software GmbH• Testziele• GUI Testautomatisierung

Page 3: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

3 / 21© 2010 Quality First Software GmbH, www.qfs.de

Quality First Software GmbH

• Gegründet 2001

• Hauptprodukt: QF-Test – Professionelles GUI-Testen für Java und Web

• Sitz südlich von München

• Fokus auf GUI Testautomatisierung für Java und Web

• Mehr als 500 Kunden weltweit in allen Wirtschaftszweigen

Page 4: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

4 / 21© 2010 Quality First Software GmbH, www.qfs.de

Überblick

• Quality First Software GmbH• Testziele• GUI Testautomatisierung

Page 5: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

5 / 21© 2010 Quality First Software GmbH, www.qfs.de

Testziele

• Fehler so früh wie möglich finden◦ Kosten◦ Image

• Vertrauen in Software aufbauen

• Erfüllung funktionaler Anforderungen

• Erfüllung nicht funktionaler Anforderungen◦ Verhalten unter Stress/Last, Usability etc.

Page 6: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

6 / 21© 2010 Quality First Software GmbH, www.qfs.de

Überblick

• Quality First Software GmbH• Testziele• GUI Testautomatisierung

Page 7: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

7 / 21© 2010 Quality First Software GmbH, www.qfs.de

• Unit-Tests◦ sehr wichtig, aber isolierte Subsysteme◦ auf Klassenebene

• Integrationstests◦ testen das Zusammenspiel von Subsystemen◦ oftmals schwierig aufzusetzen

• Systemtests◦ testen das System als Ganzes

• GUI-Tests◦ testen nicht nur das GUI, sondern das System als Ganzes über das GUI

ein häufiges Missverständnis◦ werden aus Sicht des Endanwenders an einem „lebenden“ System

ausgeführt

Testarten

Page 8: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

8 / 21© 2010 Quality First Software GmbH, www.qfs.de

Vorteile der Testautomatisierung

• Häufigere und schnellere Testausführung kürzere Entwicklungszyklen

• Höhere Zuverlässigkeit (menschlicher Faktor)• Reproduzierbare Ergebnisse• Kostenreduktion

Page 9: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

9 / 21© 2010 Quality First Software GmbH, www.qfs.de

Vorteile der Testautomatisierung

• Häufigere und schnellere Testausführung kürzere Entwicklungszyklen

• Höhere Zuverlässigkeit (menschlicher Faktor)• Reproduzierbare Ergebnisse• Kostenreduktion

früher

besser

billiger

Page 10: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

10 / 21© 2010 Quality First Software GmbH, www.qfs.de

Knackpunkte für GUI Testautomatisierung

• Wiedererkennung der grafischen Komponenten

• Modularisierung / Wiederverwendbarkeit

• Wartungsaufwand

• Reporting

• Erweiterbarkeit

Page 11: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

11 / 21© 2010 Quality First Software GmbH, www.qfs.de

Knackpunkte für GUI Testautomatisierung

Beispiele ...

Page 12: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

12 / 21© 2010 Quality First Software GmbH, www.qfs.de

Modularisierung

Page 13: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

13 / 21© 2010 Quality First Software GmbH, www.qfs.de

Modularisierung

• Gliederung in technische und fachliche Schicht

• Die fachliche Schicht kann im Testtool selbst oder in einem anderen Tool, z.B. Testmanagementtool erstellt werden.

Page 14: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

14 / 21© 2010 Quality First Software GmbH, www.qfs.de

Erfolgsfaktoren für Testautomatisierung

• Kommunikation zwischen Testern und Entwicklern

• Erstellung wiederverwendbarer Testprozeduren

• Erstellung spezifischer Testbibliotheken

• Trennung von Testablauf und Testdaten

• Definierte Testumgebung

• Auswahl des geeigneten Tools

Page 15: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

15 / 21© 2010 Quality First Software GmbH, www.qfs.de

Deklarative/generische Programmierung

• Testtool spricht durch Setzen von Variablen unterschiedliche grafische Komponenten an.

• Vermeidung von Aufzeichnung gleicher Testschritte.

• Aktionen, wie Klick oder Texteingabe, können auch variablisiert werden.

• Ermöglicht Keyword-driven Testing

Page 16: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

16 / 21© 2010 Quality First Software GmbH, www.qfs.de

Entwicklung testbarer GUIs

• Eindeutige Erkennung der grafischen Komponenten durch das Testtool

• Vergabe von Bezeichnern für Komponenten:◦ Component.setName() bei Swing

◦ Widget.setData(„name“) bei SWT

◦ „id“ o.ä. bei Web

Page 17: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

17 / 21© 2010 Quality First Software GmbH, www.qfs.de

Komponentenerkennung – Wahl des Bezeichners

• Eindeutig

• Sprechend

• Langfristig stabil

• Können u.a. auch verwendet werden für◦ Accessibility Interfaces / Screen Reader

◦ Hilfefunktionen

• Achtung bei dynamischer Generierung !

• Testtool muss Möglichkeiten bieten damit umzugehen!

Page 18: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

18 / 21© 2010 Quality First Software GmbH, www.qfs.de

Was sollen SIE sich merken?

Page 19: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

19 / 21© 2010 Quality First Software GmbH, www.qfs.de

Was sollen SIE sich merken?

• Testbare Software

• Modularisierung und Wiederverwendbarkeit der Tests

• Gliederung in technische und fachliche Schicht

• Einsatz des geeigneten Tools

Page 20: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

20 / 21© 2010 Quality First Software GmbH, www.qfs.de

Verfügbare Automatisierungstools• Open Source: Abbot, JFCUnit, Marathon – sehr entwicklerlastig• QuickTest Professional und WinRunner (HP), XDE Functional Tester (IBM

Rational), Silktest (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis)

• QF-Test (Quality First Software GmbH)

• Open-Source: Abbot• Open-Source: TPTP für Eclipse Plugins.• QuickTest Professional (HP), XDE Functional Tester (IBM), Silktest

(Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis)

• QF-Test (Quality First Software GmbH)

• Diverse kommerzielle Capture/Replay Tools in allen Preiskategorien, ebenso diverse Open Source Tools

• QF-Test (Quality First Software GmbH)

Java/SWT

Java/Swing

Web

Page 21: Stabile GUI-Tests durch modulare Testarchitektur · (Borland/MicroFocus), TestPartner, QARun (MicroFocus), Squish (Froglogic), GuiDancer (Bredex), Tosca (Tricentis) • QF-Test (Quality

21 / 21© 2010 Quality First Software GmbH, www.qfs.de

Überblick

• Quality First Software GmbH• Testziele• GUI Testautomatisierung