Automatisiertes Testen mit CodedUI (ohne Frust)

948 views

Published on

Presentation from Microsoft Testing Info Days 2012 in Germany
Speaker: Nico Orschel (MVP VS ALM), AIT

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
948
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Automatisiertes Testen mit CodedUI (ohne Frust)

  1. 1. Automatisiertes Testen mit CodedUI (ohne Frust) Nico Orschel| AIT GmbH & Co. KGVorsprung AIT GmbH & Co. KG durch Individualität
  2. 2. Agenda  Einführung  Diagnose von Problemen  WinForms Anwendungen  WPF Anwendungen  Web mit CUITe  Ausblick: Support für eigene ControlsVorsprung AIT GmbH & Co. KG durch Individualität
  3. 3. Visual Studio Testing LandschaftVorsprung AIT GmbH & Co. KG durch Individualität
  4. 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 ReportingVorsprung AIT GmbH & Co. KG 4 durch Individualität
  5. 5. Testing mit der Visual Studio IDEVorsprung AIT GmbH & Co. KG durch Individualität
  6. 6. Unterstützte PlattformenVorsprung AIT GmbH & Co. KG durch Individualität
  7. 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 ReflectionVorsprung AIT GmbH & Co. KG durch Individualität
  8. 8. CodedUI Test mit Visual Studio DemoIhre Software effizienter entwickelt AIT GmbH & Co. KG
  9. 9. WinForms / Diagnose demo…Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  10. 10. MSAA / UIA Control-HierarchieVorsprung AIT GmbH & Co. KG durch Individualität
  11. 11. MSAA Standard  MSAA = Microsoft Assessabilty Automation  Standard zur Ansteuerung von Anwendungen für Screenreader  Wichtige Properties  AccessibleName  AccessibleDescriptionVorsprung AIT GmbH & Co. KG 12 durch Individualität
  12. 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. 13. MSAA: AccessibleName und AccessibleDescription Tip 1Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  14. 14. ACChecker - dein Freund und Helfer (bei MSAA / UIA Problemen) Tip 2Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  15. 15. UIA Standard  UIA = User Interface Automation  Nachfolger des Standards MSAA  UIA Properties  AutomationId und  Name  Definition kann implizit oder explizit erfolgenVorsprung AIT GmbH & Co. KG durch Individualität
  16. 16. WPF demo…Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  17. 17. UIA: AutomationName und AutomationID zuweisen Tip 3Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  18. 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 TestschrittenVorsprung AIT GmbH & Co. KG durch Individualität
  19. 19. Web demo…Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  20. 20. Wartbarer Testautomation-Code mit CUITe Tip 4Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  21. 21. Erweiterungen AusblickIhre Software effizienter entwickelt AIT GmbH & Co. KG
  22. 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. 23. 4 Phasen Optimierung Intent Aware Code Actions Generation Rich Property Validation Basic Record and ReplayVorsprung AIT GmbH & Co. KG durch Individualität
  24. 24. Beispiel WinForms ControlIhre Software effizienter entwickelt AIT GmbH & Co. KG
  25. 25. Phase 1 - ZielVorsprung AIT GmbH & Co. KG durch Individualität
  26. 26. Phase 1 - Basic Record and PlaybackVorsprung AIT GmbH & Co. KG durch Individualität
  27. 27. GetChild ÜberladungVorsprung AIT GmbH & Co. KG durch Individualität
  28. 28. Phase 2 - ZielVorsprung AIT GmbH & Co. KG durch Individualität
  29. 29. Phase 2 – Rich PropertiesVorsprung AIT GmbH & Co. KG durch Individualität
  30. 30. Custom Property ProviderVorsprung AIT GmbH & Co. KG durch Individualität
  31. 31. Property DictionaryVorsprung AIT GmbH & Co. KG durch Individualität
  32. 32. GetPropertyDescriptorVorsprung AIT GmbH & Co. KG durch Individualität
  33. 33. GetProperyNamesVorsprung AIT GmbH & Co. KG durch Individualität
  34. 34. GetControlSupportLevelVorsprung AIT GmbH & Co. KG durch Individualität
  35. 35. Extension Package / DeploymentVorsprung AIT GmbH & Co. KG durch Individualität
  36. 36. Phase 3 - Ziel Ziel:Vorsprung AIT GmbH & Co. KG durch Individualität
  37. 37. Phase 3 – Code GenerationVorsprung AIT GmbH & Co. KG durch Individualität
  38. 38. GetSpecializedClass / GetPropertyMamesClassTypeVorsprung AIT GmbH & Co. KG durch Individualität
  39. 39. Phase 4 - IstzustandVorsprung AIT GmbH & Co. KG durch Individualität
  40. 40. Phase 4 - ZielzustandVorsprung AIT GmbH & Co. KG durch Individualität
  41. 41. Phase 4 - Intent Aware ActionsVorsprung AIT GmbH & Co. KG durch Individualität
  42. 42. SetPropertyValueVorsprung AIT GmbH & Co. KG durch Individualität
  43. 43. GetPropertyForActionVorsprung AIT GmbH & Co. KG durch Individualität
  44. 44. Extension Package / DeploymentVorsprung AIT GmbH & Co. KG durch Individualität
  45. 45. Phase 4 – Beispiel JQueryVorsprung AIT GmbH & Co. KG durch Individualität
  46. 46. “If you don’t know what you want tested, how are you going to automate it?” Tip 6Ihre Software effizienter entwickelt AIT GmbH & Co. KG
  47. 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 TestautomatisierungVorsprung AIT GmbH & Co. KG durch Individualität
  48. 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ückVorsprung AIT GmbH & Co. KG durch Individualität
  49. 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/602Vorsprung AIT GmbH & Co. KG durch Individualität
  50. 50. Jetzt bewerben unter http://www.AITGmbH.de/Jobs
  51. 51. Freie Positionen:Application Lifecycle Management mitMicrosoft Visual Studio Team Foundation ServerBerater | Diplomand | PraktikantJetzt bewerben unter http://www.AITGmbH.de/Jobs
  52. 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

×