Nach der Session Clean Code Developer und einem weiteren leckeren Mittagessen, folgte die letzte Session, die ich noch besuchen konnte: Christian Binder informierte darin über Neuheiten zur kommenden Version der Entwicklungsumgebung aus dem Hause Microsoft. Da wir im Unternehmen "nur" Visual Studio und kein Team System einsetzen, war es für mich stellenweise ein wenig schwer, den Ausführungen zu folgen. Hier sind die Punkte, die ich (zumindest ansatzweise) verstanden habe und die mir notierenswert erschienen:
- UI-Automation-Testing (Coded UI-Test/ Test Edition)
- Elemente aus UI greifen und automatisieren
- unterstützt werden sollen Win32, WinForms, WPF und Document Object Model von Internet Explorer und Firefox
- später auch Silverlight (Community Technology Preview nach RTM von VSTS 2010)
- nutzt Accessabillty-Frameworks wie UIA von Anwendungen zur Barrierefreiheit (Screen Reader etc.)
- Controls von Drittanbietern müssen gewisse Schnittstellen implementieren, damit auch sie erfasst werden
- Tools für manuelles Testen
- Anlegen eines Work-Items "Testcase", das an Requirement/UserStory hängt
- spezielle UI für Tester, die keine Entwickler sind (Manual Test Runner/Test Edition oder Test Essentials)
- Tester klickt durch und nimmt dies ggf. per Rekorder auf
- Screenshots und Videoaufzeichnung des manuellen Tests möglich
- Bugs können direkt aus dem Manual Test Runner erzeugt werden
- Integration mit Team Test Lab
- Umwandlung in einen kodierten Test (C#) möglich
- Team Test Lab
- Environment (derzeit als Hyper-V evtl. später auch als virtuelle Maschine per vmWare-Schnittstelle) aus Buildprozess heraus erzeugen und Build nach dort deployen
- Verbindung mit Requirements
- kann in Verbindung mit dem Manual Test Runner verwendet werden, um Tests gegen diese Test Environments auszuführen
- Screenshot bei Verletzung eines Requirements
- ggf. Erzeugung eines neuen Bugs mit der virtuellen Umgebung im Anhang (sehr schnelle Reproduktion möglich)
- Test Impact Collector
- feststellen, welche Tests überhaupt von einer Änderung betroffen sind und durchlaufen werden sollten
- Unit-Tests und manuelle Tests
- Oberfläche der neuen IDE ist komplett in WPF geschrieben
- bei Microsoft intern von über 3000 Anwenden genutzt
- durch Extensibility API stark auf Erweiterbarkeit ausgelegt
- UML/DSL-Designer in Architect Edition (Arc Edition)
- Kommunikationslinien zwischen den einzelnen Architekturschichten können mit Code verglichen werden -> unzulässige Kommunikationen im Code finden (oder auch zwischen Namespaces)
- keine veralteten Architektur-Flipcharts mehr
- erlaubt Reverse Engineering: Methodenaufrufe -> Sequenzdiagramm
- Analyse von Codeabhängigkeiten
- Profiler (Developer Edition)
- besonders hilfreich bei Threading-Problemen
- während der Entwicklung von Windows 7 genutzt, um Performace-Probleme zu lösen
- Hotpath zeigt an, wo meiste Rechenzeit liegen gelassen wird
- Testcase-Profiler kann Auswirkungen von Änderungen auf die Rechenzeit zeigen
- komfortableres Reporting, daher können Entscheider sich zukünftig selbst ihre Zahlen ziehen und entlasten damit die Entwickler
- langsame Anwendungen können bald nicht mehr durch neue Rechner beschleunigt werden, wenn sie Single-Threaded arbeiten und nur wenige der Multiprozessoren dadurch belastet sind
- Verfolgen von Veränderungen in (Changesets) in Branches
Fazit: Es scheint ein sehr umfangreiches Entwicklungssystem zu werden, das den Entwickler und alle restlichen Beteiligten eines Softwareprojektes in großem Maße unterstützen wird. Da solche Qualität ihren Preis hat, bleibt jedoch fraglich, welche Unternehmen sich das leisten können, leisten wollen und leisten werden ...
Update: Dank geht an Christian Binder für das Feedback. Bitte schaut euch seine kurzen Videos zur Beta 1 an.