Neuerungen von Visual Studio 11 und Team Foundation Server 11

Seite 2: Qualitätssicherung & Feedback

Inhaltsverzeichnis

Beim Begriff Qualitätssicherung sträuben sich den meisten Entwicklern die Nackenhaare. Microsoft zeigt, dass das Sicherstellen der Qualität ein Schwerpunkt agiler Entwicklung ist. Code-Review stellt hier einen Bereich dar, den Microsoft bisher allerdings wenig unterstützte. Mit Visual Studio 11 landet der Code-Review-Workflow nun direkt in der Entwicklungsumgebung. Aus dem sogenannten Pending Changes Hub, der die offenen Änderungen des lokalen Workspace anzeigt, lässt sich eine Code-Review anfordern, über den Work-Item-Typ "Code Review Request" wiederum die Beurteilung der künftigen Benutzer.

Sobald der Entwickler eine Review öffnet, geht auch das Code Review Hub auf. Neben allgemeingültigen Kommentaren lassen sich direkt Kommentare an eine bestimmte Stelle im Quellcode (zum Beispiel einen Methodenaufruf) hinzufügen und so später leichter auswerten. Diese sind jedoch nicht in der Datei selbst hinterlegt und verändern auch nicht den Code, sondern sind als Work Item vom Typ "Code Review" mit dem "Code Review Request" verknüpft und liefern Metainformationen zum Code.

Die Code-Review ist für Konversationen auslegt. Ein Kommentar lässt sich beantworten. Der Vorteil liegt in der Aufzeichnung dieser Konversation, die man jederzeit öffnen und über eine einfache Work Item Query abfragen kann.

Selbstverständlich spielt Unit-Testing für die agile Qualitätssicherung eine essenzielle Rolle. Die Test-Engine von Visual Studio fand bis dato jedoch wenig Anklang in der Entwickler-Community. NUnit und xUnit sind wesentlich populärer. MSTest wurde zum Beispiel als langsam wahrgenommen. Microsoft hat das zur Kenntnis genommen und liefert neben einer komplett überarbeiteten MSTest-Engine ein neues Adapterkonzept zur Einbindung anderer Test-Frameworks in Visual Studio 11. Selbst MSTest ist nun ein Plug-in der sogenannten Visual Studio Test Platform.

Für diesen Zweck wurde der neue Unit Test Explorer geschaffen. Er dient der Ausführung aller Unit-Tests innerhalb der geöffneten Solution – egal ob NUnit oder MSTest. Entwickler können nun die Tests auf unterschiedliche Weise starten, etwa automatisch mit jedem lokalen Build. Ziel der veränderten Unit-Test-Funktionen war es, das agile Vorgehen "Test schreiben, Test rot, kodieren, Test grün" zu unterstützen. Dazu gehört die Überwachung der Codeabdeckung, um im Auge zu behalten, in welchen Code-Bereichen Tests fehlen. Mit dem neuen Adapterkonzept kann man auch mit anderen Testplattformen Code-Coverage-Daten für Managed Code aufzeichnen. Das funktioniert mit einem Klick im "Unit Test Explorer", der die Tests mit Code-Coverage-Aufzeichnung startet.

Die neue Ansicht ist mit einer Suche nach Namen und anderen Testeigenschaften ausgestattet, um Testläufe einzuschränken. Die Test-Impact-Analyse aus Visual Studio 2010 sucht man dagegen vergeblich. Diese wurde zunächst wegen zu geringer Nutzung entfernt. Inwieweit Tester sich auf ein Wiedersehen in künftigen Releases freuen können, ist noch unklar. Allerdings vermisst man die Impact-Analyse nicht, denn nach dem lokalen Build werden zum Beispiel nicht alle Tests automatisch ausgeführt, sondern zunächst nur die, die im letzten Lauf fehlgeschlagen sind oder neu hinzukamen. Die Testausführung ist schnell, und Visual Studio bleibt reaktionsfreudig, da die Testausführung in einem separaten Prozess stattfindet. Währenddessen lässt sich schon weiterimplementieren. MSTest selbst wurde um 64-Bit- und Async-Unterstützung für .NET 4.5 ergänzt.

Doch was bedeutet das für den zentralen Build? Die Plug-ins für Unit-Tests lassen sich manuell auf der Build-Maschine installieren. Mit TFS 11 kann man die Extension-Deployment-Datei (.vsix) in der "Source Control" einchecken und im Build-Prozess auf der Maschine ausrollen.

Neben der Test-Impact-Analyse fehlen die Testlisten und die automatische Generierung von Private-Accessor-Klassen mit MSTest, auch der Assistent zum Erzeugen von Unit-Tests ist der Verallgemeinerung für weitere Test-Frameworks zum Opfer gefallen.

Ein anderes Maß für Qualität ist die Redundanz von Code innerhalb eines Softwareprodukts. Visual Studio 11 überprüft mit der sogenannten Code-Clone-Analyse den Quellcode auf Duplikate, die keine genauen Kopien sein müssen. Beim Ausprobieren dieses Features ist sicherzustellen, dass man wenigstens acht Zeilen dupliziert. Bei einer geringeren Übereinstimmung schlägt die Analyse nicht an. Es bleibt abzuwarten, welche weiteren Einschränkungen die Analyse im eigentlichen Release mit sich bringt.

Visual Studio 11 und Team Foundation Server 11, Teil 2 (5 Bilder)

Pending Changes Hub

Eine Code-Review lässt sich direkt aus dem Pending Changes Hub heraus anfordern (Abb. 9).

Das bisher besprochene Feedback bezog sich rein auf die Entwicklerseite. Es wird aber zunehmend wichtiger und verbreiteter, schon während der Entwicklung andere wichtige Projektbeteiligte mit einzubinden. Bei Scrum wird der Product Owner zum Beispiel ständig in die Entwicklung einbezogen. Doch auch die Fachabteilung sollte schon vor dem Release Feedback geben und so Einfluss auf die Funktionen nehmen können.

TFS 11 enthält ein neues Feedback-Tool für eben diesen Zweck. Mit ihm lassen sich Feedback-Anfragen via Mail an Projektbeteiligte versenden. Diese enthalten einen Link auf die Installation des Feedback-Tools, mit dem der Benutzer unkompliziert Kommentare abgeben, Screenshots erstellen und nachbearbeiten sowie ein Video (natürlich mit Ton) aufzeichnen kann. Sämtliches Feedback wird in Form von Work Items gesammelt und lässt sich deswegen beispielsweise später mit den Product Backlog Items verknüpfen.

Microsoft hat angekündigt, auch den IT-Betrieb stärker in den Applikationslebenszyklus zu integrieren. Zum Zeitpunkt der Entstehung dieses Artikels lagen noch keine weiteren Informationen dazu vor, weshalb das Thema hier außen vorgelassen werden muss.

Ein überraschendes Feature ist die Integration – zumindest der Installation – der PreEmptive Analytics Tools in TFS. Mit ihnen kann man eine Fehlerberichterstattung in die eigene Software einbauen. Die Werkzeuge konfektioniert Microsoft als reduzierte "Community Edition". Mehr Features erhält man über den Zukauf der Vollversion.

Visual Studio 11 und Team Foundation Server 11, Teil 3 (3 Bilder)

Feedback Request Work Items

Eine Feedback-Anfrage wird geplant - daraus werden später "Feedback Request Work Items" (Abb 14).