Professional UI Testing - noser.com · Eine klassische Applikations Architektur Mark Allibone,...

Post on 03-Sep-2019

3 views 0 download

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

mark.allibone@noser.com

www.noser.com