Entwicklung von effizienten UI-basierten Akzeptanztests ... · Page Object Pattern: WIE? •...

Preview:

Citation preview

Entwicklung von effizienten UI-basiertenAkzeptanztests für Webanwendungen

Präsentation bei den Stuttgarter Testtagen21.März 2013

NovaTec - Ingenieure für neue Informationstechnologien GmbHLeinfelden-Echterdingen, München, Frankfurt am Main, Jeddah / Saudi-Arabien

© NovaTec 20.03.2013 2

Annahita Oswald-Röhrig

Studium Bioinformatik (gemeinsamer Studiengang zwischen Ludwig-Maximilians-Universität und Technische Universität München)Promotion am Institut für Informatik der Ludwig-Maximilians-Universität München Seit 2011 bei der NovaTec GmbH in der Competence Group Agile Quality Engineering

© NovaTec 20.03.2013 3

Fach-experten

Entwickler

Test & QA

Architekt

Anforderungen Anforderungen

Bug-ReportDesign /

Architecture

Deliverables

Traditionelle Rollen

© NovaTec 20.03.2013 4

Kein gemeinsames Verständnis

http://misterirrelevant.com/wp-content/uploads/2009/10/telephone-game-girls.jpg

© NovaTec 20.03.2013 5

Redundanz

Fach-experten

EntwicklerTest & QA

RequirementManagement Tool

RequirementManagement Tool

Architekt

ModelsModelsDeliverablesDeliverables

Source CodeSource Code

Test scriptsTest scripts

Bug reports

Bug reports

Documentation

Documentation

Test Specification

Test Specification

© NovaTec 20.03.2013 6

Lösung? Ein funktionsübergreifendes TEAM

Fach-experten

EntwicklerTest & QAArchitekt

© NovaTec 20.03.2013 7

Specification Workshops

FachbereichAnwenderProduct Owner

EntwicklerArchitekten

Test & QA

Single source of

truth

Single source of

truth

© NovaTec 20.03.2013 8

Schlüsselbeispiele definieren

Sind Grundlage fSind Grundlage fSind Grundlage fSind Grundlage füüüürrrrSind Grundlage fSind Grundlage fSind Grundlage fSind Grundlage füüüürrrr

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren prprprprüüüüf

enfen

fen

fen

prprprprüüüüf

enfen

fen

fen

Sind Grundlage fSind Grundlage fSind Grundlage fSind Grundlage füüüürrrrSind Grundlage fSind Grundlage fSind Grundlage fSind Grundlage füüüürrrr

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren

konkretisieren prprprprüüüüf

enfen

fen

fen

prprprprüüüüf

enfen

fen

fen

© NovaTec 20.03.2013 9

Ergebnis : Spezifikation durch Beispiele

User story

Scenarios, Akzeptanzkriterien

Schlüsselbeispiele

© NovaTec 20.03.2013 10

Automatisierung der Validierung

Die Spezifikation inkl. Beispiele & Szenarien

Die FixtureFixture als Glue-Code

Das System Under Test

© NovaTec 20.03.2013 11

GreenPepper

http://www.greenpeppersoftware.com/confluence/display/GPW/Home

•afaik Java, C++/.net•Spezifikation in Confluence•Mächtige Interpreter•Versionierungskontrolle•Hierarchische Testsuiten•Einfach zu bedienen

© NovaTec 20.03.2013 12

1. Strukturierung der ausführbaren Spezifikationen

2. Einbindung in die CI-Umgebung

Regelmässige Validierung

Für alle zugänglich!Für alle verständlich!Abbildung des aktuellen Stands der Software

© NovaTec 20.03.2013 13

Technik

Fachlichkeit

Detail

Komplexität / Aufwand

ManuelleTests

Automat.UI-Tests

Integrationstests(API-Ebene)

Unit Tests

Anzahl

Agile Testing Pyramide

By Mike Cohn

© NovaTec 20.03.2013 14

Selenium

Testautomatisierung für WebanwendungenSelenium WebDriverOpen SourceInternet Explorer, Firefox, Chrome, Opera, iOS , AndroidJava, C, PHP, Pyhton, RubyWebDriver API

http://seleniumhq.org/http://code.google.com/p/selenium/

Selenium 2

© NovaTec 20.03.2013 15

Ein einfaches Beispiel

© NovaTec 20.03.2013 16

Was testen?

WorkflowsSessionsUI-Logik

© NovaTec 20.03.2013 17

Page Object Pattern: WIE?

• Methoden repräsentieren Services, die eine Seiteanbietet.

• Die interne Struktur der Seite wird versteckt• Kapselt das WIE soll der Browser etwas machen• Eine PageObject kann auch nur Teile einer Seite

repräsentieren.• Methoden geben PageObjects zurück

© NovaTec 20.03.2013 18

PageFactory

© NovaTec 20.03.2013 19

PageObject

© NovaTec 20.03.2013 20

Page Object Pattern: WARUM?

Leicht verständlicher TestcodeVermeidung von mehrfachen API Aufrufen

Wiederverwendbarer CodeBessere WartbarkeitAustauschen des Testframeworks? => nur die Page Base Klasse müsste erneuert werden

© NovaTec 20.03.2013 21

GreenPepper und Selenium

- Wir führen IT-Projekte zum Erfolg -

Vielen Dank für Ihre Aufmerksamkeit!

NovaTec - Ingenieure für neue Informationstechnologi en GmbH

HauptniederlassungDieselstr. 18/1D-70771 Leinfelden-Echterdingen

Telefon: +49 711 22040-700Fax: +49 711 22040-899

Niederlassung FrankfurtFriedrich-Ebert-Anlage 36D-60325 Frankfurt am Main

Niederlassung MünchenLandsberger Straße 439D-81241 München

E-Mail: info@novatec-gmbh.deInternet: www.novatec-gmbh.de

NiederlassungMittlerer OstenP.O. Box 140611Jeddah 21333Saudi-Arabien

Recommended