1. Automatisiertes Testen mit CodedUI
(ohne Frust)
Nico Orschel| AIT GmbH & Co. KG
Vorsprung AIT GmbH & Co. KG
durch Individualität
2. Agenda
Einführung
Diagnose von Problemen
WinForms Anwendungen
WPF Anwendungen
Web mit CUITe
Ausblick: Support für eigene Controls
Vorsprung AIT GmbH & Co. KG
durch Individualität
4. Testing features in 2010?
Generalist Specialist
Manual Testing Some scripting Strong scripting skills Strong coding Expert
coding skills
Creates scripts to set up Some Develops fully
lab, create data coding skills automated testing
procedures
Other
Automation
Tools
Team Foundation Server Reporting
Vorsprung AIT GmbH & Co. KG 4
durch Individualität
5. Testing mit der Visual Studio IDE
Vorsprung AIT GmbH & Co. KG
durch Individualität
7. Tracking Technologien
Technologie UI Test Ansteuerung
Windows Forms Microsoft Active
Accessibility (MSAA)
Windows Presentation User Interface
Foundation Automation (UIA)
Internet Explorer MSHTML
Firefox JavaScript und Firefox
DOM
Silverlight Code Injection und
Reflection
Vorsprung AIT GmbH & Co. KG
durch Individualität
8. CodedUI Test mit Visual Studio
Demo
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
9. WinForms / Diagnose
demo…
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
10. MSAA / UIA Control-Hierarchie
Vorsprung AIT GmbH & Co. KG
durch Individualität
11. MSAA Standard
MSAA = Microsoft Assessabilty
Automation
Standard zur Ansteuerung von
Anwendungen für Screenreader
Wichtige Properties
AccessibleName
AccessibleDescription
Vorsprung AIT GmbH & Co. KG 12
durch Individualität
12. Accessibility Problem-Diagnose
Probleme mit den Standards MSAA und
UIA ohne Hilfsmittel schwierig zu
identifizieren
Diagnose mit folgenden Programmen
möglich
Custom Tool*
UISpy (nur MSAA, Windows SDK)
AccChecker (UIA und MSAA Best Practice
Scan)
Download unter https://acccheck.codeplex.com/
Vorsprung AIT GmbH & Co. KG
durch Individualität
13. MSAA: AccessibleName und
AccessibleDescription
Tip 1
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
14. ACChecker - dein Freund und Helfer
(bei MSAA / UIA Problemen)
Tip 2
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
15. UIA Standard
UIA = User Interface Automation
Nachfolger des Standards MSAA
UIA Properties
AutomationId und
Name
Definition kann implizit oder explizit
erfolgen
Vorsprung AIT GmbH & Co. KG
durch Individualität
16. WPF
demo…
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
17. UIA: AutomationName und
AutomationID zuweisen
Tip 3
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
18. Web
Erweiterung für das CodedUI Framework
Ursprung: Microsoft Product Group
Vereinfacht die Entwicklung und
Wartung von automatischen Tests durch
Trennung von ObjectRepository und
Testschritten
Vorsprung AIT GmbH & Co. KG
durch Individualität
19. Web
demo…
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
22. UITest Architecture
Write a client that does
something else!
Test Runner Coded UI Test My UI
Action
Interpreter Code Generation
Invoker
Customize recording Add/Modify API Custom properties & code
Filter/ API
Property
Aggregation
Provider
Recorder Rules Playback
Technology Abstraction Layer
Write technology adapters
Web Plug-ins Rich Client Plug-ins
3rd Party Plug-ins
(MSHTML/DOM) (UIA/MSAA)
Vorsprung AIT GmbH & Co. KG
durch Individualität
23. 4 Phasen Optimierung
Intent
Aware
Code Actions
Generation
Rich
Property
Validation
Basic
Record
and Replay
Vorsprung AIT GmbH & Co. KG
durch Individualität
44. Extension Package / Deployment
Vorsprung AIT GmbH & Co. KG
durch Individualität
45. Phase 4 – Beispiel JQuery
Vorsprung AIT GmbH & Co. KG
durch Individualität
46. “If you don’t know what you want tested,
how are you going to automate it?”
Tip 6
Ihre Software effizienter entwickelt AIT GmbH & Co. KG
47. Zusammenfassung ( 1/2 )
• Konfiguriere Assessabilty Eigenschaften
von Controls
• Implementiere Assessabilty Support für
(eigene) Controls
• Prüfe Assessabilty Kompatiblität schon
in frühen Projektphasen
• Benutze den Codeui Builder für die
Testautomatisierung
Vorsprung AIT GmbH & Co. KG
durch Individualität
48. Zusammenfassung ( 2/2 )
• Wähle die UIMap Struktur mit Bedacht
• Wähle verständliche Methodennamen
• Erstelle keine abhängigen Tests
• Setze Anwendungen in den
Ursprungszustand zurück
Vorsprung AIT GmbH & Co. KG
durch Individualität
49. Stay in Contact
Nico.Orschel@aitgmbh.de
AIT TeamSystemPro Team
AIT GmbH & Co. KG
http://www.aitgmbh.de
http://www.tfsblog.de
http://www.xing.com/profile/Nico_Orschel
http://www.linkedin.com/pub/nico-orschel/25/484/602
Vorsprung AIT GmbH & Co. KG
durch Individualität
51. Freie Positionen:
Application Lifecycle Management mit
Microsoft Visual Studio Team Foundation Server
Berater | Diplomand | Praktikant
Jetzt bewerben unter http://www.AITGmbH.de/Jobs
52. Links und weiterführende Informationen
AIT GmbH & Co. KG
http://www.aitgmbh.de/teamsystempro
TFSBlog.de
http://blog.aitgmbh.de/category/tester
Coded UI Test Extension for 3rd party controls - the basics explained
http://blogs.msdn.com/b/visualstudioalm/archive/2011/10/28/coded-ui-test-
extension-for-3rd-party-controls-the-basics-explained.aspx
Coded UI Test Extension for 3rd party Windows Forms controls–How to?
http://blogs.msdn.com/b/visualstudioalm/archive/2011/10/28/coded-ui-test-
extension-for-3rd-party-windows-forms-controls-how-to.aspx
Useful set of utility functions for Coded UI Test!
http://blogs.msdn.com/b/gautamg/archive/2010/02/19/useful-set-of-utility-
functions-for-coded-ui-test.aspx
TestApi - a library of Test APIs
http://testapi.codeplex.com/
UI Accessibility Checker
http://acccheck.codeplex.com/
CUITe
http://cuite.codeplex.com/
Vorsprung AIT GmbH & Co. KG
durch Individualität