CodedUI in der Praxis
Von Lokalisierung bis Nachhaltigkeit
feedback@developer-week.de#dwx14
#dwx14
Nico Orschel
Consultant, MVP for VS ALM
AIT GmbH & Co. KG
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
#dwx14
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
#dwx14
Agenda
Probleme in der Praxis
CodedUI Basics
Workflow
UI Optimierung
Diagnose
Large Scale
Wartbarkeit
Nachhaltigkeit
Performance
Lokalisierung
Einführung
#dwx14
PPT-Prinzip
5
Process
Tools
People
#dwx14
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?
#dwx14
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?
#dwx14
Warum CodedUI
10
• CodedUI ist eine
Testautomatisierungsplattform
• CodedUI unterstützt die meisten Windows UI
Technologien
• Gleiche API für Rich Client und Web
Applikationen
#dwx14
Isolation
#dwx14
CodedUI in kleinen Projekten
#dwx14
Unterstützte Plattformen
Technology Support Comment
IE 8-11 Yes Older IEs are not supported
anymore
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 for
Silverlight 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 Liste
siehe
http://msdn.microsof
t.com/en-
us/library/vstudio/dd
380742.aspx
#dwx14
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
API
Property
Provider
3rd Party Plug-ins
Action
Invoker
My UI
Technology Abstraction Layer
#dwx14
15
Multiple ways to create UI tests
RecordandPlayback
• Default
Approach
• Poor Code
Generation
• Poor
Maintainability
RecordUIMaps
• Better
Maintainability
• Supports large
test
repositories
HandCodeTests
• Expert Mode
• Cleanest
Automation
Model
#dwx14
DEMO 1
Multiple UIMaps
#dwx14
Testerstellung
19
Was ist für die verschiedenen UI
Technologien zu beachten?
UI Technology
UIA MSAA
#dwx14
DEMO 2
MSAA + UIA Schnittstellen
Diagnose
#dwx14
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
#dwx14
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
#dwx14
DEMO 3
Holland Methode
#dwx14
DEMO 4
Lokalisierung ist kein Hexenwerk
#dwx14
OPTIONAL: DEMO 5
Performance
#dwx14
© AIT GmbH & Co. KGIhre Software effizienter entwickelt © AIT GmbH & Co. KGIhre Software effizienter entwickelt
Wir unterstützen Sie
KONTAKT
Nico.Orschel@aitgmbh.de
+49 151 55052624
AIT GmbH & Co. KG
Leitzstr. 45, 70469 Stuttgart
www.aitgmbh.de
BERATUNG
Agile ALM und TFS
.NET und Architektur
ENTWICKLUNG
Dienstleister 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.
© 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
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
Internet
http://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
Twitter
http://www.twitter.com/nicoorschel
#dwx14

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

  • 1.
    CodedUI in derPraxis Von Lokalisierung bis Nachhaltigkeit feedback@developer-week.de#dwx14 #dwx14 Nico Orschel Consultant, MVP for VS ALM AIT GmbH & Co. KG
  • 2.
    Wie ordnet sichTCM 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 #dwx14
  • 3.
    Wie ordnet sichCodedUI 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 #dwx14
  • 4.
    Agenda Probleme in derPraxis CodedUI Basics Workflow UI Optimierung Diagnose Large Scale Wartbarkeit Nachhaltigkeit Performance Lokalisierung Einführung #dwx14
  • 5.
  • 6.
    Menschen und Prozesse QS WelcheAufgaben im Team übernehmen die Tester? Welche Aufgaben im Team übernimmt der Entwickler? Entwickler Zusammenspiel Wer ist eigentlich verantwortlich für die Qualität? #dwx14
  • 7.
    Technologie Testautomatisierung Wie ist CodedUIeinzuordnen? Welche Werkzeuge stehen mir zur Verfügung? Welche Technologien werden unterstützt? UI Testing Framework Wie werden die Technologien eingebunden? #dwx14
  • 8.
    Warum CodedUI 10 • CodedUIist eine Testautomatisierungsplattform • CodedUI unterstützt die meisten Windows UI Technologien • Gleiche API für Rich Client und Web Applikationen #dwx14
  • 9.
  • 10.
    CodedUI in kleinenProjekten #dwx14
  • 11.
    Unterstützte Plattformen Technology SupportComment IE 8-11 Yes Older IEs are not supported anymore 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 for Silverlight 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 Liste siehe http://msdn.microsof t.com/en- us/library/vstudio/dd 380742.aspx #dwx14
  • 12.
    UITest Architektur Web Plug-ins (MSHTML/DOM) Interpreter CodedUI Test Code Generation Test Runner PlaybackRecorder Rich Client Plug-ins (UIA/MSAA) Filter/ Aggregation Rules API Property Provider 3rd Party Plug-ins Action Invoker My UI Technology Abstraction Layer #dwx14
  • 13.
    15 Multiple ways tocreate UI tests RecordandPlayback • Default Approach • Poor Code Generation • Poor Maintainability RecordUIMaps • Better Maintainability • Supports large test repositories HandCodeTests • Expert Mode • Cleanest Automation Model #dwx14
  • 14.
  • 15.
    Testerstellung 19 Was ist fürdie verschiedenen UI Technologien zu beachten? UI Technology UIA MSAA #dwx14
  • 16.
    DEMO 2 MSAA +UIA Schnittstellen Diagnose #dwx14
  • 17.
    Page object pattern Withinyour 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 #dwx14
  • 18.
    Dutch way oftesting 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 #dwx14
  • 19.
  • 20.
    DEMO 4 Lokalisierung istkein Hexenwerk #dwx14
  • 21.
  • 22.
    © AIT GmbH& Co. KGIhre Software effizienter entwickelt © AIT GmbH & Co. KGIhre Software effizienter entwickelt Wir unterstützen Sie KONTAKT Nico.Orschel@aitgmbh.de +49 151 55052624 AIT GmbH & Co. KG Leitzstr. 45, 70469 Stuttgart www.aitgmbh.de BERATUNG Agile ALM und TFS .NET und Architektur ENTWICKLUNG Dienstleister 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.
  • 23.
    © 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
  • 24.
    Weiterführende Informationen Testing Workshopsvon AIT (Standard / Inhouse) http://www.aitgmbh.de/aktuelles/aktuelle-meldungen/detail/article/workshops-testautomatisierung-mit-codedui-und- visual-studio-lab-management.html Internet http://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 Twitter http://www.twitter.com/nicoorschel #dwx14