Im Zuge der Optimierung der Betriebssystemplattform von Windows 8 haben wir auch das in Visual Studio verfügbare Toolsortiment erweitert, damit Sie beim Testen Ihrer Windows 8-Apps noch produktiver sein können. Wenn die hohe Qualität Ihrer App in diesem modernen Betriebssystem mit durchdachter Entwicklung und Tests sichergestellt ist, wird auch Ihre App Erfolg haben. In einem früheren Blogbeitrag zum Testen von Windows 8-Apps im Metro-Stil haben wir einige der wichtigen Aspekte beleuchtet, die Sie beim Entwickeln einer qualitativ hochwertigen Windows 8-App berücksichtigen müssen. In diesem Beitrag erläutern wir einige Funktionen in Visual Studio 12, die die Tests und Überprüfungen Ihrer App erleichtern.

Wie sieht meine App auf Windows 8-Geräten aus?

Der Erfolg jeder App hängt von ihrem Nutzungswert ab, aber eine nach den Windows 8-Entwurfsrichtlinien gestaltete App wird die Endbenutzer auch durch ihr makelloses Aussehen und ausgefeiltes Verhalten erfreuen. Damit Sie beim Prüfen der Benutzerfreundlichkeit der App unabhängiger von physischen Geräten sind und während der Entwicklung nicht ständig ein Tablet anschließen müssen, verfügt Visual Studio 12 über einen Simulator. Mit dem Simulator sind Sie auch bei allen anderen Formfaktoren weniger abhängig von Tests auf physischen Geräten. Ihre Tests profitieren besonders in den Bereichen, in denen der Simulator es Ihnen ermöglicht, mit nur wenigen Mausklicks schnell und bequem zu überprüfen, wie Ihre App aussieht und sich anfühlt:

Visual Studio-Simulator zeigt den Windows 8-Startbildschirm anAbbildung 1. Visual Studio-Simulator zeigt den Windows 8-Startbildschirm an.

Windows 8-Apps können auf Geräten verschiedener Formfaktoren ausgeführt werden. Um Ihnen die Überprüfung des Verhaltens Ihrer App auf unterschiedlichen Bildschirmgrößen und mit unterschiedlicher Auflösung zu erleichtern, bietet der Visual Studio-Simulator sieben besonders verbreitete Kombinationen dieser beiden Faktoren an, die zwischen der geringsten unterstützten Auflösung und einem 27-Zoll-Desktopbildschirm rangieren. Abbildung 1 zeigt ein Beispiel eines Windows 8-Startbildschirms im Simulator mit der Standardauflösung von 1366x768 und einer Bildschirmgröße von 10,6 Zoll. Zunächst müssen Sie sicherstellen, dass das Layout Ihrer App bei niedrigerer Auflösung nicht abgeschnitten oder vertikal oder horizontal falsch ausgerichtet wird. Andererseits soll die App bei höheren Auflösungen nicht zu viel leere Fläche anzeigen. Wenn das Layout der App über den Bildschirm hinausragt und der Benutzer die Maus zur Interaktion mit der App verwendet, sollte die Bildlaufleiste eingeblendet werden. Diese Beispiele zeigen, welche Überprüfungsarten Sie leicht durchführen können, indem Sie im Simulator die simulierten Auflösungen zwischendurch ändern und das Verhalten der App visuell begutachten.

Wenn Ihre App ein festes Layout verwendet, müssen Sie überprüfen, ob es korrekt skaliert wird, sodass es großformatige Bildschirme füllt, und ob auch alle visuellen Elemente proportional skaliert werden. Wenn Ihre App ein adaptives Layout verwendet, können Sie mit dem Simulator schnell überprüfen, ob die visuellen Elemente der App dynamisch wie vorgesehen neu angeordnet werden, wenn Bildschirmgröße oder -auflösung sich ändern.

Sie können den Simulator drehen oder spiegeln, um zu überprüfen, wie die App sich verhält, wenn ein Benutzer die Bildschirmausrichtung ändert. Das ist nützlich, wenn Sie überprüfen möchten, ob eine App korrekt für Hoch- und Querformat optimiert wurde. Der Simulator ersetzt nicht vollständig die Überprüfung der App auf physischen Geräten, da er nicht alle Beschleunigungsmesser-Funktionen wie Kippen simulieren kann, er kann Ihnen jedoch beim Auffinden potenzieller Probleme Ihrer App bei einer Änderung der Ausrichtung des Anzeigegeräts viel Zeit sparen.

Wie spricht meine App auf Windows 8-Geräten auf die Fingereingabe an?

Mit dem Simulator können Sie sowohl mit der Maus als auch mittels simulierter Fingereingabe auf Ihrem Entwicklungscomputer mit der App interagieren. Letzteres ist besonders praktisch, wenn Sie kein Gerät mit Fingereingabe zum Testen zur Hand haben. Streifen, Zusammenführen der Finger zum Zoomen und Drehen sind Gesten, die alle unterstützt werden.

Sie starten die App in Visual Studio mittels Debuggen direkt im Simulator. Nach dem Start der App wird der Simulator weiter ausgeführt, sodass Sie die App auch außerhalb des Debugging-Kontexts testen können. Sie können zum Beispiel das Aktivierungsverhalten beobachten, wenn ein Benutzer auf die App-Kachel tippt, oder das Verhalten beim Beenden, wenn ein Benutzer auf dem Bildschirm von oben nach unten streift. Die vom Simulator zur Verfügung gestellten Fingergesten lassen sich verwenden, um diese und alle anderen Aktionen durchzuführen, die Sie im Zusammenhang mit Fingereingabe testen und verifizieren möchten. Unter Testen von Windows 8-Apps im Metro-Stil finden Sie eine detaillierte Aufstellung von Überlegungen beim Testen im Zusammenhang mit Fingereingabe. Lesen Sie in diesem Blogbeitrag im Abschnitt Fingereingabe nach. Wenn Sie mehr über den Visual Studio-Simulator erfahren möchten, etwa zur Verwendung der Emulation für die Fingereingabe, rufen Sie die Seite Ausführen von Windows-Apps im Metro-Stil im Simulator auf.

Komponententest Ihrer Windows 8-Apps

Die Möglichkeit, Komponententests am Code vorzunehmen, ist ein wichtiger Aspekt bei jedem Entwicklungszyklus. Schon seit mehreren Versionen werden Komponententests in Visual Studio unterstützt. In Visual Studio 2012 haben wir die Benutzeroberfläche mit einem neuen Komponententest-Explorer optimiert und einen erweiterbaren Test Runner entwickelt, der unabhängig vom zugrundeliegenden Komponententest-Framework ist. Jetzt können Sie Ihr bevorzugtes Komponententest-Framework, z. B. NUnit, XUnit oder MbUnit, einbinden oder weiterhin MSTest verwenden.

Dialogfeld "Neues Projekt" in Visual Studio 2012  Abbildung 2. Das Dialogfeld "Neues Projekt" in Visual Studio 2012 zeigt die Vorlage für das
Projekt Komponententestbibliothek für in C# geschriebene Apps.

Für Windows 8-Apps, die in C#, VB.net oder C++ geschrieben wurden, stellt Visual Studio nun ein Komponententestbibliotheks-Projekt bereit, das Ihrem Workflow bei der Entwicklung einer Desktop-App folgt (siehe Abbildung 2). Sie werden die Verbesserungen und die vielen vertrauten Funktionen lieben. Die Komponententestunterstützung sorgt im Hintergrund dafür, dass Ihre Tests im App-Container-Modell ausgeführt werden und die ganze Komplexität verborgen bleibt. Das Komponententestprojekt hat eine eigene appxmanifest-Datei. Das ist oftmals hilfreich, etwa beim Testen von Code für Positionsdienste oder Internetzugriff, da in diesen Fällen eine Bearbeitung der Manifestdatei für die Durchführung der Tests erforderlich ist, um die Funktionen entsprechend der Anforderungen der App anzugeben, wie in Abbildung 3 dargestellt. Wenn der getestete Teil des Codepfads eine Funktion nicht benötigt, können solche Testfälle auch als Gruppe zu einem gesonderten Komponententestprojekt zusammengefasst werden, bei dem eine Funktion ausdrücklich ausgeschlossen wird, um die Modularisierung des Codes zu verbessern.

PaketmanifestAbbildung 3. Package.appxmanifest-Datei eines im Manifest-Designer geöffneten Komponententestprojekts 

Die Verbesserungen und neuen Funktionen für Komponententests sind natürlich in allen SKUs von Visual Studio 2012 verfügbar, einschließlich Visual Studio 2012 Express für Windows 8. Weitere Informationen sowie eine Anleitung für effektive Komponententests für Windows 8-Apps finden Sie unter Erstellen und Ausführen von Komponententests auf einer Windows-App im Metro-Stil und in diesem Vortrag zu Komponententests von der //build/-Konferenz.

Exploratives Testen Ihrer Windows 8-Apps

Windows 8-Apps sollen Endbenutzer und Unternehmen gleichermaßen begeistern. Wenn Sie innerhalb eines Unternehmens an einer App arbeiten und an einen strukturierteren Entwicklungs- und Testprozess gewöhnt sind, finden Sie in Visual Studio 2012 mit Microsoft Test Manager ein manuelles Testtool, das Ihnen in Kombination mit Remotetools für Visual Studio ermöglicht, explorative Tests und strukturierte manuelle Tests der Funktionen Ihrer App auf allen Typen von Windows 8-Geräten durchzuführen. Microsoft Test Manager ist Bestandteil von Visual Studio Premium und Ultimate SKU sowie von Test Professional SKU. Zusätzlich zur nahtlosen Integration in TFS zur einfachen Fehlerdokumentation und Testfallverwaltung erleichtert das manuelle Testtool in Visual Studio 2012 das Testen der App auf einem Remotegerät. Während des Testvorgangs kann das Tool Screenshots, Aktions- und Ereignisprotokolle vom Remotegerät erstellen, wenn Sie einen Fehler in Ihrer App entdecken. So erhalten Sie eine bidirektionale Kommunikation zwischen Ihrer Hauptarbeitsstation und dem angeschlossenen Gerät, die Sie durch die Schritte zur Bereitstellung Ihrer App-Pakete auf dem anvisierten Testgerät, zum Erwerb der Entwicklerlizenz auf dem Gerät und zur Durchführung von Testetappen leitet.

Durch die TFS-Integration ermöglicht das manuelle Testtool einen kontinuierlichen Workflow für Teams, die Ihre App testen und entwickeln. So helfen etwa die während der Explorationstests gewonnenen Informationen dabei, den Fehler zu reproduzieren und ihn zu verstehen. Wenn ein neues App-Paket mit Fehlerbehebungen oder Funktionsverbesserungen verfügbar gemacht wird, kann es problemlos aus dem manuellen Testtool heraus auch auf dem Windows 8-Testgerät für weitere Tests bereitgestellt werden.

Weitere Informationen finden Sie unter Visual Studio 11 Beta: Manuelles Testen von Windows-Apps im Metro-Stil. Unter Manuelles Testen von Windows 8-Anwendungen im Metro-Stil finden Sie eine exemplarische Vorgehensweise.

Fazit

Windows 8 ist eine faszinierende Plattform für Entwickler und Benutzer. Wir hoffen, dass dieser Blogbeitrag Ihnen als Einführung in die Tools von Visual Studio 2012 hilft und Sie diese Tools direkt zum Testen Ihrer aktuellen Windows 8-App verwenden können. Wir freuen uns auf Ihr Feedback, damit wir Ihnen die Entwicklung von Apps noch leichter machen können. Bitte schreiben Sie Kommentare zu diesem Beitrag und teilen Sie Ihre Tipps, Ideen und persönlichen Erfahrungen zum Testen von Apps mit uns und der Community.

- Rui Sun, Principal Test Manager, Visual Studio

- Andre Hamilton, SDET, Visual Studio

Besonderer Dank geht an Ashwin Needamangala, Mete Goktepe, Jake Sabulsky, Jason Olson, Art Becker, Raul Gonzalez Tovar, Peter Provost, Mathew Aniyan und Anutthara Bharadwaj für ihren Anteil an diesem Blogbeitrag.