UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) •...
Transcript of UI-Testing mit Microsoft Test Manager (MTM) - noser.com · Manuelles Testen von Software (1) •...
UI-Testing mit Microsoft Test Manager (MTM)
Philip Gossweiler / 2013-04-18
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.
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
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
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
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
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
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
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
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
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
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)
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
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
Test Configuration
Philip Gossweiler, 2013-04-18
Einzelne Test Configurations
werden aus Test Configuration
Variables zusammengebaut
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
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
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
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
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
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
Demo
Philip Gossweiler, 2013-04-18
Reporting
Philip Gossweiler, 2013-04-18
Jeder Test Plan hat eine
integrierte Übersichtsseite
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:
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
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
Parametrierte Test Cases (4)
Philip Gossweiler, 2013-04-18
Ein Test Result eines
parametrierten Test Cases
verfügt über Details jeder
einzelnen Iteration
Exploratives Testen
Philip Gossweiler, 2013-04-18
Test Case kann aus der
Aufzeichnung automatisch
generiert werden
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
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
Fragen
Philip Gossweiler, 2013-04-18
www.noser.com