Einige Benutzer des Microsoft Team Foundation Servers 2013 haben bereits in den vergangenen Wochen den Release Candidate des Update 3 installiert. Nachdem in dieser Woche die finale Version (RTM) des Update 3 veröffentlicht wurde, werfen wir einen Blick einige der Neuerungen. Außerdem berichten wir über unsere Erfahrungen mit den ersten Updateinstallationen.
Genauer gesagt sind gleich mehrere Updates von Microsoft veröffentlicht worden. In diesem Beitrag fokussieren wir uns auf den Team Foundation Server. Einen ersten Eindruck über das Visual Studio 2013.3 Update bietet der Beitrag von Christian Schlag im TFS-Blog.
Umfang der im Product Backlog eingeblendeten Elemente
Der erste Punkt, den auch wir in unseren Kundenprojekten immer wieder diskutiert haben, ist die Entscheidung, wann ein Backlog Item aus dem Product Backlog verschwindet. Die mit TFS 2012 eingeführten neuen Product Backlog Ansichten hatten ein Backlog Item aus dem Product Backlog ausgeblendet, sobald dieses einer konkreten Iteration zugeordnet worden ist und es den initialen Zustand verlassen hatte (z.B. von Zustand von New nach Approved verändert beim Product Backlog Item des Process Templates Microsoft Visual Studio Scrum). Mit der Version 2013 (RTM) des TFS hat Microsoft dieses Verhalten verändert, was bei einigen Anwendern für Verwirrung gesorgt hatte. Ab diesem Zeitpunkt wurden die Elemente solange im Product Backlog verblieben, bis sie ihren finalen Zustand (z.B. Done).
Wichtige Erkenntnis aus den Diskussionen: Beide Verhaltensweisen haben ihre Existenzberechtigung. Es gibt für beide Spielarten Pro- und Contra-Argumente. Diese wollen wir hier nicht diskutieren. Jedoch hat auch Microsoft dieses Feedback aufgenommen und dieses Verhalten in der TFS Version 2013.3 konfigurierbar gestaltet.
Wie in nachfolgend dargestellt kann man in der Backlogansicht mittels der Einstellung “In progress items” entscheiden, ob man diese noch im Product Backlog sehen möchte (Abbildung 1, “Show”) …
Abbildung 1: Show in progress items
… oder ob man die Elemente, die bereits in Bearbeitung sind aus dem Product Backlog ausgeblendet haben möchte (Abbildung 2, “Hide”).
Abbildung 2: Hide in progress items
Die Standardeinstellung entspricht dem Verhalten, welches mit TFS 2013 RTM eingeführt wurde: “Show”. Ändert man diese Einstellung, so ist dies eine benutzerbezogene Änderung, die für den aktuell angemeldeten User und für die spezifische Backlogansicht im aktuellen Team gültig ist. Die verschiedenen Backlogebenen (Feature, Backlog Items) werden ebenso getrennt behandelt wie auch die Backlogansichten anderer Teams.
Konfigurierbarkeit von Test Plan und Test Suite
Eine weitere lang ersehnte Änderung ist die Konfigurierbarkeit der Objekttypen Test Plan und Test Suite. Hierfür hat Microsoft unter der Motorhaube einen größeren Umbau durchgeführt und die beiden Delinquenten auf den rechten Weg der Work Items geführt. Dadurch ergeben sich viele nützliche Möglichkeiten. Neben der Anpassung über die gewohnten Mechanismen z.B. mittels des Kommandozeilenwerkzeuges witadmin lassen sich Test Plans und Test Suites nun auch mittels Work Item Query erreichen.
Ein Blick in die Datei WorkItems.xml des Process Templates gibt letztlich Gewissheit, dass die beiden Typen nun tatsächlich als Work Item implementiert sind (siehe Abbildung 3).
Abbildung 3: Auszug der Datei WorkItems.xml
Aus Anwendersicht äußert sich die Änderung wie folgt. Im Test Manager ist neben dem Properties-Menü des Test Plans noch ein scheinbar neues Menü namens Run Settings dazugekommen. Außerdem ist das Kontextmenü einer Test Suite um den Menüpunkt Open test suite reicher geworden (siehe Abbildung 4). Aber eins nach dem anderen…
Abbildung 4: Veränderte Menüs im MTM
Öffnet man die Properties eines Test Plans erhält man eine deutlich andere Ansicht als vor dem Update. Hier ist es jedoch entscheidend, auch den Client (MTM, Microsoft Test Manager) auf Update 3 zu aktualisieren. Zum Vergleich sind in Abbildung 5 beide Ansichten vor und nach dem Update dargestellt.
Abbildung 5: Test Plan Properties im MTM
Auf der linken Seite sieht man die Test Plan Properties vor dem Update 3, auf der rechten Seite danach. Die Ähnlichkeit zu all den anderen Work Item Ansichten ist hierbei auf der rechten Seite deutlich erkennbar. Dies erklärt nun auch den neuen Menüpunkt Run Settings. Diese mit ihren Einstellungen für Diagnoseadapter & Co. waren bislang in den Test Plan Properties angezeigt. In dem Menü Run Settings haben diese Einstellungen nun eine neue Heimat gefunden.
Die Test Suite lässt sich nun ebenfalls einzeln mit ihren Metadaten anzeigen. Dafür ist der neue Kontextmenüeintrag Open test suite aus Abbildung 4 zuständig. Auch hierbei lässt sich die neu gewonnene Verwandtschaft zu den Work Items nicht mehr leugnen (siehe Abbildung 6).
Abbildung 6: Test Suite im MTM geöffnet
Auch wenn sich die clientseitigen Ansichten massiv verändert haben, so kann man jedoch immer noch mit der “alten” Test Manager Version arbeiten, auch wenn der TFS bereits das Update 3 erhalten hat. Ändert man beispielsweise in einem Test Manager der Version 2013 RTM den Namen eines Test Plans, so funktioniert dies nach wie vor und im Hintergrund ändert sich das Title-Attribut des Test Plan Work Items. Es besteht also trotz der größeren Änderung an dieser Stelle nicht die Notwendigkeit auf einmal mit allen Clients umzusteigen. Detaillierte Informationen zur Kompatibilität zwischen Client- und Serverversionen sind in der MSDN dokumentiert. Aus der Erfahrung heraus ist es jedoch ratsam die Clients nach Möglichkeit mit der Serverversion einigermaßen synchron zu halten.
Man kann nun die Test Suite mit weiteren Attributen ausstatten und so z.B. für nachfolgende Bearbeitungsschritte verwenden. Ein möglicher Anwendungsfall ist dabei die Dokumentengenerierung mit dem kostenfreien Werkzeug WordToTFS bzw. die damit möglichen Test Reports. In wieweit man den Zustandsautomaten der Test Suites sinnvoll einsetzen kann, wird die Praxis zeigen. Aktuell hat das Test Suite Work Item in allen drei mit dem TFS ausgelieferten Process Templates die Zustände In Planning, In Progress und Completed. Wir sind schon auf die ersten Anwendungsfälle gespannt, die sich in den Projekten ergeben.
Erste Erfahrungen mit der Durchführung des Updates
Wir haben mittlerweile eigene Testumgebungen sowie erste Kundeninstallationen mit dem Update TFS 2013.3 ausgestattet. Zeitlich hat es dabei keinen spürbaren Unterschied gemacht, ob man von TFS 2013 RTM oder TFS 2013.2 gestartet ist. Auf einer virtuellen Testumgebung, gehostet über Hyper-V auf einem einigermaßen aktuellen Notebook mit SSD hat das Update ca. 1h gedauert. In einer relativ jungen Produktivumgebung mit noch sehr geringem Datenbankinhalt auf einem extrem gut ausgestatteten TFS, bei dem bereits das App Tier einen Xeon Quad Core 2,8 GHz mit 128 GB hat, konnte das Update sogar in 30 min durchgeführt werden. Ein entscheidender Punkt bei der Dauer ist jedoch die Datenbankgröße. Die entstehenden Updatezeiten können also auch deutlich größer ausfallen.
Dazu kommt dann noch die evtl. erforderliche Konfiguration neuer Features. Dabei ist je nachdem, von welcher Version man das Update startet mehr oder weniger zu tun. Diese Arbeiten sind jedoch weniger kritisch, da sie nicht zu einer Downtime des Gesamtsystems führen. Solange dieser Schritt nicht durchgeführt ist, können jedoch manche Features noch nicht genutzt werden, wie im nachfolgenden Beispiel zu sehen ist (siehe Abbildung 7).
Abbildung 7: Funktion noch nicht verfügbar
Im Beispiel aus Abbildung 7 ist das Update 3 auf eine TFS 2013 RTM Instanz installiert worden. Die bereits mit dem Update 2 zur Verfügung gestellte Funktionalität der Shared Parameters ist direkt nach dem Update noch nicht verfügbar. Hierfür ist mittels des integrierten Wizards nachzuhelfen, der über den Link Funktion konfigurieren erreichbar ist. Je nachdem, wie stark die verwendeten Process Templates angepasst sind, kann der Wizard auch an seine Grenzen kommen, so dass man manuell nachhelfen muss.
Weitere Links
Hier noch eine Liste, welche die direkten Links zu den aktuellen Versionen der einzelnen Produkte in der Visual Studio ALM Landschaft zur Verfügung stellt:
- Agents for Visual Studio 2013
- Agents for Visual Studio 2013 Language Pack
- IntelliTrace Collector for Visual Studio
- Remote Tools for Visual Studio 2013
- Release Management for Visual Studio 2013
- Visual Studio Team Foundation Server 2013
- Visual Studio Team Foundation Server Express 2013
- Visual Studio Express 2013 for Windows (requires Windows 8.1)
- Visual Studio Express 2013 for Windows Desktop
- Visual Studio Express 2013 for Web
- Visual Studio Premium 2013
- Visual Studio Professional 2013
- Visual Studio Ultimate 2013
Ausführliche Beschreibungen weiterer Neuigkeiten sind unter anderem in den Blogs von S. Somasegar und Brian Harry sowie auf der Visual Studio Webseite zu lesen.