professional ui testing - noser.com · eine klassische applikations architektur mark allibone,...
TRANSCRIPT
Coded UI Testing
Automatisiertes UI Testing
Mark Allibone, 18.04.2013, #2
Eine klassische Applikations Architektur
Mark Allibone, 18.04.2013, #3
Business Logik
Grafische Oberfläche
Datenzugriff (Datenbank, Cloud, etc)
Testarten
Mark Allibone, 18.04.2013, #4
Business Logik
Grafische Oberfläche
Datenzugriff (Datenbank, Cloud, etc)
Automatisiertes Testen im Vergleich
• X / Y Koordinaten Aufnahme
«Recorded UI Testing» «Coded UI Testing»
Mark Allibone, 18.04.2013, #5
• Erkennung von UI Control Typen
• Namenserkennung von UI Elements
• X / Y Koordinaten Aufnahme inkl. Skalierung und Ebenen
Coded UI Test – Einsatzmöglichkeiten
Funktionale Anforderungen
Darstellungsparameter
Performance
× UX/Design Testen
Mark Allibone, 18.04.2013, #6
Fokusierung rein auf UI bei UI Tests
• Lange Initialisierung von Business Logik
• Lange Datenzugriffe via Netzwerk, Festplatte, etc.
• Komplexe Business Logik Alghorithmen
• Redundanz mit Integrationstests
Mark Allibone, 18.04.2013, #7
Fokussierter Automated UI Test
Mark Allibone, 18.04.2013, #8
Business Logik
Grafische Oberfläche
Datenzugriff (Datenbank, Cloud, etc)
Automated UI Test
Fake Business Logik
Vorteile von Coded UI Tests
• Regressionstests
• Reduzierung manueller Tests
• Erhöhung der Testabdeckung
• Automatische Testausführung
• Softwareverhalten auf unterschiedlichen Plattformen und Browser
• Wiederverwendbarkeit für Performancetests
• Langzeittests
• …
Mark Allibone, 18.04.2013, #9
Microsoft Coded UI Test
Mark Allibone, 18.04.2013, #10
Continuous value
delivery
Was wird unterstützt
1 2 3 Knowhow / Skills
• Welche Frameworks und Plattformen werden unterstützt.
• Welche Anforderungen müssen in der Architektur berücksichtigt werden.
• Skills, Development und Technologie
• Software Anforderungen und Empfehlungen
Tools
Was wird unterstützt – Plattform & Frameworks
• Plattformunterstützung
http://msdn.microsoft.com/en-us/library/dd380742.aspx
Windows 7, Windows 8, …
× Windows XP, …
WPF, Windows Forms 2.0, …
× Windows Store, …
Mark Allibone, 18.04.2013, #11
Was wird unterstützt – Architekturaufbau
• Custom controls
• Animationen
Mark Allibone, 18.04.2013, #12
Knowhow/ Skills
• Skills in C# .Net oder VB .Net inkl. dem MS Test Framework
• Programmierkenntnisse bei Testern von Vorteil
Mark Allibone, 18.04.2013, #13
Tools
• Visual Studio 2010/2012
Premium
Ultimate
• TFS 2010/2012 (nicht zwingend, jedoch von Vorteil)
Mark Allibone, 18.04.2013, #14
Coded UI Test – Zahlenrechner Demo
• Wie erstellt man ein Coded UI Test Projekt
• Was macht das Coded UI Framework
• Wiederverwendbarkeit von erstellten Coded UI Tests
Mark Allibone, 18.04.2013, #15
Fazit Demo
• Ergänzung Unit Tests / Integration Tests
• Möglichkeit der Wiederverwendbarkeit
• Coded UI Tests müssen in Visual Studio implementiert werden
• Continous Integration inklusive UI Layer mit TFS möglich
Mark Allibone, 18.04.2013, #16
Weitere Testszenarien
• Komplexe Algorithmen
• Edgecases
• Hohe Anzahl unterschiedlicher Parameter
Mark Allibone, 18.04.2013, #17
Parametrisiertes Coded UI Testing
• Keine Anpassung des bestehenden generierten Testcodes
Zusätzliche Parameter durch externe Datenquelle
• Testparameter via Import
CSV, Excel, XML, Test Cases TFS, SQL Express
Mark Allibone, 18.04.2013, #18
Parametrisiertes Coded UI Test - Demo
• Verwenden von externen Daten in Test
• Zugriff auf einzelne Parameter in Test
• Einfache Erweiterung der Parameter
• Durchführung des Tests für alle gegebenen Parameter
Mark Allibone, 18.04.2013, #19
Fazit Demo
• Einfache Erweiterung bestehender Tests
• Fehlerreport bezieht sich auf die einzelnen Parameter und nicht auf die Testmethode
• Kein Visual Studio oder Programmiererfahrung für die Erweiterung nötig
Mark Allibone, 18.04.2013, #20
Automatisierungen im Vergleich
• Modularisierung der Testabläufe
• Wiederverwendbarkeit von Modulen
• Änderungen können an einzelnen Modulen vorgenommen werden
• Vollständig automatisierbar
• Keine Modularität gegeben
• Keine Wiederverwendbarkeit der einzelnen Schritte möglich
• Änderungen bedeuten komplette Neuaufnahme
• Manuelle Resultatverifizierung
«Recorded UI Testing» (MTM Action Recordings)
«Coded UI Tests»
Mark Allibone, 18.04.2013, #21
Action Recording Modularisieren - Demo
• Wiederverwenden von MTM Action Recordings auf TFS
• Konvertierung eines MTM Action Recordings in einen Coded UI Test
• Ergänzung des konvertierten Action Recordings mit Coded UI Test Validierung
• Auswertung des Tests
Mark Allibone, 18.04.2013, #22
Fazit Demo
Mark Allibone, 18.04.2013, #23
• Einfacher Import von MTM Action Recordings
• Testschritte können modularisiert werden
• Einzelne Testschritte (Module) können in anderen Coded UI Tests wiederverwendet werden
• Einfache Integration in den Continous Integration Zyklus möglich
Weitere Punkte…
Mark Allibone, 18.04.2013, #24
• Anpassen von Coded UI Tests wegen UI Änderungen
• Import von Coded UI Tests in den Microsoft Test Manager
• Integration Custom Controls
• Test von Web UIs (z.B. HTML5)
Ausblick - Mobile Solutions
Mark Allibone, 18.04.2013, #25
noser engineering ag
rudolf-diesel-strasse 3, 8404 winterthur
+41 52 234 56 11 phone
www.noser.com