Upload
others
View
1
Download
0
Embed Size (px)
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: [email protected]: www.novatec-gmbh.de
NiederlassungMittlerer OstenP.O. Box 140611Jeddah 21333Saudi-Arabien