dwx 2014 - coded ui in der praxis: von lokalisierung bis nachhaltigkeit

24
CodedUI in der Praxis Von Lokalisierung bis Nachhaltigkeit [email protected] #dwx14 #dwx14 Nico Orschel Consultant, MVP for VS ALM AIT GmbH & Co. KG

Upload: nico-orschel

Post on 29-Nov-2014

195 views

Category:

Documents


1 download

DESCRIPTION

Talk about CodedUI Basics & Best Practices @ DWX 2014

TRANSCRIPT

Page 1: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

CodedUI in der Praxis

Von Lokalisierung bis Nachhaltigkeit

feed

bac

k@d

evel

op

er-w

eek.

de

#dw

x14

#dwx14

Nico OrschelConsultant, MVP for VS ALMAIT GmbH & Co. KG

Page 2: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Wie ordnet sich TCM in die TFS/VS Welt ein?

Microsoft Testmanager (MTM)

•Testmanagement

•Man. Testausführung (Formal+Agile)

•Testumgebungsmanagement

Visual Studio (Testautomatisierung)

•Code

•Autom. Testausführung (DefaultLabTemplate.XAML)*

Lab Management (Testumgebungen)

•SCVMM

•Standard

#dw

x14

Page 3: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Wie ordnet sich CodedUI in die TFS/VS Welt ein?

Microsoft Testmanager (MTM)

•Testmanagement

•Man. Testausführung (Formal+Agile)

•Testumgebungsmanagement

Visual Studio (Testautomatisierung)

•Code

•Autom. Testausführung (DefaultLabTemplate.XAML)*

Lab Management (Testumgebungen)

•SCVMM

•Standard

#dw

x14

Page 4: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Agenda

Probleme in der Praxis

CodedUI BasicsWorkflow

UI Optimierung

Diagnose

Large Scale

Wartbarkeit

Nachhaltigkeit

Performance

Lokalisierung

Einführung

#dw

x14

Page 5: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

PPT-Prinzip

5

Process

Tools

People

#dw

x14

Page 6: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Menschen und Prozesse

QS

Welche Aufgaben im Team übernehmen die Tester?

Welche Aufgaben im Team übernimmt der Entwickler?

Entwickler

Zusammenspiel

Wer ist eigentlich verantwortlich für die Qualität?

#dw

x14

Page 7: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Technologie

Testautomatisierung

Wie ist CodedUI einzuordnen?

Welche Werkzeuge stehen mir zur Verfügung?

Welche Technologien werden unterstützt?

UI Testing

Framework

Wie werden die Technologien eingebunden?

#dw

x14

Page 8: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Warum CodedUI

10

• CodedUI ist eine Testautomatisierungsplattform

• CodedUI unterstützt die meisten Windows UI Technologien

• Gleiche API für Rich Client und Web Applikationen

#dw

x14

Page 9: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Isolation

#dw

x14

Page 10: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

CodedUI in kleinen Projekten

#dw

x14

Page 11: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Unterstützte PlattformenTechnology Support Comment

IE 8-11 Yes Older IEs are not supportedanymore

WinForms 2.0, WPF 3 Yes 3rd party controls could be a problem

Win 8.1 Store Apps,Windows Phone 8.1 Apps

Yes VS 2013, VS 2013 Update 2 (Phone)

Chrome, Firefox Yes Latest version via Selenium Adapter, (> VS 2012 Update 1, VS 2013)

Silverlight No Unofficial support forSilverlight v4/v5

Flash, Java, Mobile No e.g. Ranorex, Squish

Windows Win32 / MFC

Partially May work with known issues

SharePoint Yes > SP 2007, > VS 2012 Update 1, VS 2013

Vollständige Listesiehehttp://msdn.microsoft.com/en-us/library/vstudio/dd380742.aspx

#dw

x14

Page 12: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

UITest Architektur

Web Plug-ins(MSHTML/DOM)

Interpreter

Coded UI Test

Code Generation

Test Runner

PlaybackRecorder

Rich Client Plug-ins(UIA/MSAA)

Filter/ Aggregation

Rules

APIProperty Provider

3rd Party Plug-ins

Action Invoker

My UI

Technology Abstraction Layer

#dw

x14

Page 13: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

15

Multiple ways to create UI testsR

eco

rdan

dP

layb

ack • Default

Approach

• Poor Code Generation

• Poor Maintainability

Rec

ord

UI M

aps • Better

Maintainability

• Supports large testrepositories

Han

d C

od

e Te

sts • Expert Mode

• CleanestAutomation Model

#dw

x14

Page 14: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

DEMO 1Multiple UIMaps

#dw

x14

Page 15: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Testerstellung

19

Was ist für die verschiedenen UI Technologien zu beachten?

UI Technology

UIA MSAA

#dw

x14

Page 16: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

DEMO 2

MSAA + UIA Schnittstellen

Diagnose

#dw

x14

Page 17: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Page object pattern

Within your web app's UI there are areas that your tests interact with. A Page

Object simply models these as objects within the test code. This reduces the amount of duplicated code and means that if the UI changes, the fix need only

be applied in one place.https://code.google.com/p/selenium/wiki/PageObjects

#dw

x14

Page 18: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Dutch way of testing

Within your web app's UI there are areas that your tests interact with. A Page

Object simply models these as objects within the test code. This reduces the amount of duplicated code and means that if the UI changes, the fix need only

be applied in one place.https://code.google.com/p/selenium/wiki/PageObjects

#dw

x14

Page 19: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

DEMO 3Holland Methode

#dw

x14

Page 20: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

DEMO 4Lokalisierung ist kein Hexenwerk

#dw

x14

Page 21: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

OPTIONAL: DEMO 5Performance

#dw

x14

Page 22: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

© AIT GmbH & Co. KGIhre Software effizienter entwickelt © AIT GmbH & Co. KGIhre Software effizienter entwickelt

Wir unterstützen Sie

[email protected]

+49 151 55052624

AIT GmbH & Co. KGLeitzstr. 45, 70469 Stuttgart

www.aitgmbh.de

BERATUNGAgile ALM und TFS

.NET und Architektur

ENTWICKLUNGDienstleister für individuelle

Lösungen mit .NET und Azure

© AIT GmbH & Co. KG – Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der

Kennzeichnung kann nicht geschlossen werden, daß es sich bei einem Begriff oder einem Bild nicht um eine eingetragene Marke oder ein eingetragenes Warenzeichen handelt.

Page 23: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

© AIT GmbH & Co. KGIhre Software effizienter entwickelt © AIT GmbH & Co. KGIhre Software effizienter entwickelt

2

…zu gewinnen !

Visitenkarte einwerfen und an der Verlosung teilnehmen.

Verlosung auf der Developer Week

Page 24: DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit

Weiterführende Informationen

Testing Workshops von AIT (Standard / Inhouse)http://www.aitgmbh.de/aktuelles/aktuelle-meldungen/detail/article/workshops-testautomatisierung-mit-codedui-und-visual-studio-lab-management.html

Internethttp://blog.aitgmbh.de/2011/01/07/codedui-diagnose-von-msaa-oder-uia-problemen-in-anwendungen-teil-1/

http://blog.aitgmbh.de/2011/01/20/codedui-wpf-anwendungen-fr-codedui-vorbereiten-teil-2/

http://blog.aitgmbh.de/2011/01/28/codedui-winforms-anwendungen-fr-uitest-vorbereiten-teil-3/

http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility

http://en.wikipedia.org/wiki/Microsoft_UI_Automation

http://acccheck.codeplex.com/

http://blogs.msdn.com/b/mathew_aniyan/archive/2010/02/11/content-index-for-coded-ui-test.aspx

http://www.microsoft.com/en-us/download/details.aspx?id=8442

Twitterhttp://www.twitter.com/nicoorschel

#dw

x14