UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) •...

32
UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

Transcript of UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) •...

Page 1: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

UI-Testing mit Microsoft Test Manager (MTM)

Philip Gossweiler / 2013-04-18

Page 2: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Software Testing

Philip Gossweiler, 2013-04-18

Manuell

Automatisiert

0%

70%1

100%

1 Quelle: Brian Keller, Microsoft TechEd 2012

Überwiegender Teil der

Testing Tools fokusiert auf

automatisiertes Testen

Microsoft Word, Excel, etc.

Page 3: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Manuelles Testen von Software (1)

• Typischerweise wird beim manuellen Testen direkt mit der

Benutzeroberfläche der Software interagiert

Häufig wird manuell getestet weil keine passende

Toolunterstützung vorhanden ist

• Mögliche Reduktion der manuellen Testfälle durch den Einsatz

von Microsoft Coded User Interface Tests

Philip Gossweiler, 2013-04-18

Page 4: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Manuelles Testen von Software (2)

• Es ist nicht immer sinnvoll alle manuellen Tests zu automatisieren

In einer frühen Entwicklungsphase macht es evt. noch keinen Sinn in Automatisierung zu investieren da der Wartungsaufwand dafür zu gross sein kann

Menschen eignen sich für manche Tests besser, z.B. Look & Feel einer Applikation, Überprüfung von Übersetzungen

Gewisse Tests werden manuell durchgeführt

Wie sollen solche Tests verwaltet werden?

Philip Gossweiler, 2013-04-18

Page 5: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Microsoft Test Manager (MTM)

• Microsoft Test Manager ist das von Microsoft verfügbare Testing Tool für manuelle Tests

• Ermöglicht die Erstellung, Verwaltung und Ausführung von Test Cases

• Basiert auf dem Microsoft Team Foundation Server (TFS) und kann nicht ohne TFS betrieben werden

• Ist für den Tester was Visual Studio für den Entwickler darstellt

Philip Gossweiler, 2013-04-18

Page 6: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Microsoft Test Manager (MTM)

Philip Gossweiler, 2013-04-18

MTM ist ein Bestandteil von:

• Visual Studio 2012 Premium

• Visual Studio 2012 Ultimate

• Visual Studio Test Professional 2012

Page 7: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Cases und Bugs

• Test Cases und Bugs welche von MTM bearbeitet werden sind Work

Items welche auf dem Team Foundation Server gespeichert werden

• Work Items sind generische, von TFS zur Verfügung gestellte

Objekte um die Arbeit zu organisieren und den Projektstand zu

überwachen

• Vollständige Bearbeitung und Ausführung von Test Cases wird nur

in MTM unterstützt, Visual Studio bietet diese Funktionalität nicht

Philip Gossweiler, 2013-04-18

Page 8: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Verbinden von MTM mit TFS

Philip Gossweiler, 2013-04-18

Angabe eines Team Foundation

Servers ist Pflicht

Team Project1 muss ausgewählt

werden

1Team Projects beinhalten den

Quellcode und alle Work Items

einer Applikation

Gewünschten Test Plan

auswählen oder neuen Test

Plan anlegen

Page 9: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Plan

• Ein Test Plan definiert was getestet werden und beinhaltet die dafür notwendigen Test Cases und deren Resultate

• Ein Test Plan ist zeitlich begrenzt, d.h. hat ein definiertes Anfangs- und Enddatum

• In der Regel wird ein Test Plan für einen Release angelegt Bespiel: Ein Test Plan für „MyApp 2.1“

• Wenn Team Foundation Build verwendet wird, kann einem Test Plan direkt ein von Team Foundation Build erzeugter Build zugewiesen werden („MyApp 2.1.0.0“, „MyApp 2.1.1.0“, etc.)

Philip Gossweiler, 2013-04-18

Page 10: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Plan

Philip Gossweiler, 2013-04-18

Name des Test Plans

Start- und End-

datum

Area Path zur

Identifikation welcher

Bereich getestet wird

Iteration zur zeitlichen

Einordnung

Test Setting definieren

welche Informationen

während ein Test

ausgeführt wird

Tests können auf einem via

Lab Management

verwalteten Computer

automatisch ausgeführt

werden sofern die Tests

automatisiert wurden

Coded UI Tests Dem Test Plan

zugewiesener Build der

Applikation welche mit

diesem Plan getestet wird

Page 11: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Case

• Ein Test Case besteht immer aus einer Reihe von Schritten

welche ausgeführt werden müssen und einem oder mehreren

zugehörigen Resultaten

• Der Tester entscheidet ob ein Test Case erfolgreich oder

fehlgeschlagen ist

• Sind auf dem Team Foundation Server gespeicherte Work Items

Philip Gossweiler, 2013-04-18

Page 12: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Case

Philip Gossweiler, 2013-04-18

Test Steps

Die auszuführenden Schritte

Erwartetes Resultat

Stimmt das erwartete Resultat

nicht mit dem tatsächlichen

Resultat überein, ist der Test

fehlgeschlagen

Tester

Derjenige Tester der den

Test Case ausführen soll

Product Backlog Items

welche durch den Test Case

getestet werden Dateien welche an den Test

Case angehängt wurden

Associated Automation

Test Cases können

automatisiert werden

(Coded UI Tests)

Page 13: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Suite

• Test Plans und Test Cases lassen sich mit Hilfe von Test Suites hierarchisch organisieren

• Typen

1. Static Test Suite Beliebige Test Cases und Test Suites lassen sich hinzufügen Static Test Suites können andere Test Suites und Test Cases beinhalten

2. Query based Test Suite Test Cases werden aufgrund einer Query automatisch hinzugefügt

3. Requirement Verlinkt Test Cases direkt mit Requirements (Scrum: Product Backlog Items)

Philip Gossweiler, 2013-04-18

Page 14: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Configuration

• Beschreibt die Umgebung die für das Ausführen von Test Cases

benötigt wird, bzw. verwendet wurde

• Beispiele:

Betriebssystem

Browser (für Web Applikationen)

Einstellungen einer Applikation

Philip Gossweiler, 2013-04-18

Page 15: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Configuration

Philip Gossweiler, 2013-04-18

Einzelne Test Configurations

werden aus Test Configuration

Variables zusammengebaut

Page 16: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Point

• Jede Kombination eines Test Cases mit einer Test Configuration ergibt einen sogenannten Test Point

Aus einem Test Case kann somit eine ganze Reihe von Test Points entstehen

• Sinnvoll wenn z.B. derselbe Test Case auf verschiedenen Betriebs- systemen ausgeführt werden muss

• Test Points können ausgeführt werden

Philip Gossweiler, 2013-04-18

Page 17: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Ausführen von Tests

Philip Gossweiler, 2013-04-18

Test Configuration mit

welcher der Test

durchgeführt wird Test Steps mit

zugehörigem Status

(vom Tester gesetzt) Fehlgeschlagener Test Step mit der

Möglichkeit eine Fehlerbeschreibung

anzugeben

Status des gesamten Tests

Neuen Bug anlegen Test Run stoppen / pausieren

Test Run beenden

Test Result speichern

Screenshot generieren

Snapshot generieren

(Lab Management)

Kommentar zum aktiven

Test Step hinzufügen

Datei an den aktiven

Test Step anhängen

Für die Ausführung des

Tests benötigte Zeit

Page 18: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Action Recording

Philip Gossweiler, 2013-04-18

Die vom Benutzer ausgeführten

Schritte können vom Test Manager

aufgezeichnet werden

Mittels Wiedergabe kann der Test

erneut abgespielt werden

Page 19: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Result

Philip Gossweiler, 2013-04-18

Bugs die mit dem Test

Case assoziiert sind Alle Test Results die durch

das Ausführen des Test

Cases entstanden sind

Test Steps mit zugehörigen

Resultaten

Weitere Bugs können

erfasst werden

Page 20: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Bugs erfassen

• Bugs können direkt mit Test Cases verknüpft werden. Um einen

Bug zu reproduzieren bzw. einen Retest auszuführen kann direkt

der Test Case ausgeführt werden.

Präzise formulierte Test Cases vereinfachen die Reproduktion

von Bugs. Der Ablauf zur Reproduktion ist bereits durch die Test

Steps gegeben.

Philip Gossweiler, 2013-04-18

Page 21: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Bugs erfassen

Philip Gossweiler, 2013-04-18

Die Test Steps und ihr

Zustand wird automatisch

in den Bug eingefügt Der erzeugte Bug ist

direkt verknüpft mit

dem Test Case mit dem

er gefunden wurde

Page 22: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Demo

Philip Gossweiler, 2013-04-18

Page 23: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Reporting

Philip Gossweiler, 2013-04-18

Jeder Test Plan hat eine

integrierte Übersichtsseite

Page 24: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Parametrierte Test Cases (1)

Derselbe Test soll mit mehreren, verschiedenen Datensätzen

durchgeführt werden.

Beispiel: Ein Bestellungs-Dialog soll getestet werden.

Basierend auf der bestellten Menge wird automatisch der Preis berechnet.

Je nach Menge soll Rabatt gewährt werden können. Der automatisch gerechnete

Preis muss deshalb manuell angepasst werden können.

Philip Gossweiler, 2013-04-18

Quantität Preis Korrigierter Preis

3 15 14.00

7 35 30.00

1 5 4.90

Produkt bestellen

10

Äpfel

48

Quantität

Produkt

Preis in CHF

Preis überschreiben

Test Parameter:

Page 25: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Parametrierte Test Cases (2)

Philip Gossweiler, 2013-04-18

Parameter werden mit

einem vorangehenden

“@” angelegt

Eine Iteration pro Zeile,

d.h. der Test Point wird für

jede Zeile ausgeführt

Page 26: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Parametrierte Test Cases (3)

Philip Gossweiler, 2013-04-18

Der Test Point verfügt über 3

Iterationen die der Reihe nach

ausgeführt werden

Es wird nur die Iteration

beendet. Der Test endet

automatisch nach dem Ende

der letzten Iteration oder

wenn er manuell beendet wird

Die Werte der einzelnen

Parameter werden für

jede Iteration angezeigt

Page 27: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Parametrierte Test Cases (4)

Philip Gossweiler, 2013-04-18

Ein Test Result eines

parametrierten Test Cases

verfügt über Details jeder

einzelnen Iteration

Page 28: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Exploratives Testen

Philip Gossweiler, 2013-04-18

Test Case kann aus der

Aufzeichnung automatisch

generiert werden

Page 29: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Impact Analysis (TIA)

• Mittels Test Impact Analysis kann automatisch ermittelt werden, welche Test Cases erneut ausgeführt werden sollten, basierend den getätigten Änderungen am Quellcode

TIA ist nur nutzbar wenn Team Foundation Build genutzt wird um automatische Builds zu erzeugen

TIA funktioniert nur für managed Code (.NET)

Für obuscated binaries funktioniert TIA nicht

Philip Gossweiler, 2013-04-18

Page 30: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Test Impact Analysis – Funktionsweise

1. Wenn ein Test in Microsoft Test Manager ausgeführt wird, merkt sich das System welche Codezeilen durchlaufen werden

2. Team Foundation Build ermittelt automatisch welche Änderungen am Code seit dem letzten Build hinzugekommen sind

3. Aufgrund dieser hinzugekommenen Änderungen wird ermittelt welche Test Cases betroffen sind

4. Wird im Test Manager auf einen neuen Build gewechselt, werden die betroffenen Test Cases automatisch zur erneuten Durchführung empfohlen

Philip Gossweiler, 2013-04-18

Page 31: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

Fragen

Philip Gossweiler, 2013-04-18

Page 32: UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) • Typischerweise wird beim manuellen Testen direkt mit der Benutzeroberfläche der Software

[email protected]

www.noser.com