Coded UI Testing Automatisiertes UI Testing Mark Allibone, 18.04.2013, #2 Eine klassische Applikations Architektur Grafische Oberfläche Business Logik Datenzugriff (Datenbank, Cloud, etc) Mark Allibone, 18.04.2013, #3 Testarten Grafische Oberfläche Business Logik Datenzugriff (Datenbank, Cloud, etc) Mark Allibone, 18.04.2013, #4 Automatisiertes Testen im Vergleich «Recorded UI Testing» «Coded UI Testing» • X / Y Koordinaten Aufnahme • Erkennung von UI Control Typen • Namenserkennung von UI Elements • X / Y Koordinaten Aufnahme inkl. Skalierung und Ebenen Mark Allibone, 18.04.2013, #5 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 Automated UI Test Grafische Oberfläche Fake Business Logik Business Logik Datenzugriff (Datenbank, Cloud, etc) Mark Allibone, 18.04.2013, #8 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 1 Was wird unterstützt 2 Knowhow / Skills • Welche Frameworks und Plattformen Continuous • value Skills, Development und Technologie delivery werden unterstützt. • Welche Anforderungen müssen in der Architektur berücksichtigt werden. Mark Allibone, 18.04.2013, #10 3 Tools • Software Anforderungen und Empfehlungen 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 «Recorded UI Testing» «Coded UI Tests» • Keine Modularität gegeben • Modularisierung der Testabläufe • Keine Wiederverwendbarkeit der einzelnen Schritte möglich • Wiederverwendbarkeit von Modulen • Änderungen bedeuten komplette Neuaufnahme • Änderungen können an einzelnen Modulen vorgenommen werden • Manuelle Resultatverifizierung • Vollständig automatisierbar (MTM Action Recordings) 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 • 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 Mark Allibone, 18.04.2013, #23 Weitere Punkte… • 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) Mark Allibone, 18.04.2013, #24 Ausblick - Mobile Solutions Mark Allibone, 18.04.2013, #25 noser engineering ag rudolf-diesel-strasse 3, 8404 winterthur +41 52 234 56 11 phone [email protected] www.noser.com