Das CIO-Magazin CIO.de hat kürzlich einen sehr informativen Artikel veröffentlicht, der sich ausgiebig mit dem Thema Qualitätssicherung in der Softwareentwicklung beschäftigt. Basierend auf dem Bericht „Seven Pragmatic Practices To Improve Software Quality“ von Forrester stellt CIO.de sieben Punkte auf, um die Qualität ihrer Anwendungs-Programme zu erhöhen. Diese sieben Kriterien -- und wie optimal die neuen Testwerkzeuge von Visual Studio 2010 für deren Umsetzung geeignet sind -- erfahren Sie jetzt in diesem Blogeintrag. Den Originalartikel auf CIO.de finden Sie hier.

(1) Qualität richtig definieren und (2) Qualitätsmetriken einfach halten: Die wichtigsten Code-Metriken für Softwareentwickler sind Bestandteil von Visual Studio ab der Premium-Variante (z. Bsp. Lines Of Code, Class Coupling, Cyclomatic Complexity). Wichtig ist, dass Sie die Metriken bereits während der Entwicklung erheben, nicht erst als nachgelagerten Schritt. Dabei kann Visual Studio Sie optimal unterstützen. Ebenfalls enorm hilfreich ist hier der Umstand, dass sich in Visual Studio 2010 Testergebnisse auf allen Ebenen den Anforderungen, Änderungsanträgen und Fehlern direkt zuordnen lassen. Das bedeutet eine Unterstützung für alle gängigen Testarten (Unit-Test, Integrationstest, Systemtest, Load-Stress-Tests, Security-Checks, Statische Code-Analyse, Code Coverage, Profiling etc.) und bietet den unschätzbaren Vorteil, dass Test und Qualitätssicherung direkt während der Entwicklung stattfinden können: Entwickler, Tester und Qualitätssicherung arbeiten immer mit denselben Daten auf einem einheitlichen Projektmanagementsystem (Team Foundation Server). Damit lassen sich selbst sehr komplexe Metriken schnell und transparent anrufen.

(3) Entwicklerteams richtig zusammenstellen: Entwicklungsteams bestehen aus mehr als nur Programmierern; üblicherweise gehören auch Program Manager, Projektmanager, Fachseite, Produktmanager, Qualitätssicherung (QS), Test, UI-Spezialisten oder Security-Experten dazu.

Die Visual Studio-Familie mit Team Foundation Server integriert alle diese Rollen und stellt sicher, dass alle Beteiligten mit denselben Daten arbeiten – nahtlos und ohne lästige Sollbruchstellen in Form der sonst notwendigen Schnittstellen zwischen verschiedenen Systemen. Alle Beteiligten arbeiten dennoch mit den Werkzeugen, die ihnen vertraut sind, beispielsweise verfügen alle folgenden Werkzeuge über eine nahtlose Integration in den Team Foundation Server und Visual Studio:

  • Visual Studio und Eclipse für Softwareentwickler (Jede Eclipse-basierte Entwicklungsumgebung kann seit Visual Studio 2010 direkt in Team Foundation Server integriert werden)
  • Visual Studio Test Professional für Tester
  • Expression Studio für Interfacedesign
  • SketchFlow für schnelles und effizientes Prototyping direkt in der Zielumgebung
  • Project für Projektmanager erlaubt den Zugriff auf Team Foundation Server und eine Integration des Project Servers
  • Excel als beliebtestes Planungswerkzeug der Welt kann direkt als komfortables Frontend für Team Foundation Server verwendet werden
  • Projektmanager können Charts und Fortschrittsgrafiken direkt aus Team Foundation Server in PowerPoint übernehmen
  • Fachseite, Kunden und die Chefetage können sich über einen komfortablen Webzugriff über den aktuellen Stand informieren und nötigenfalls mitwirken, in individuellen Dashboards und ohne dafür Software installieren zu müssen

(4) Anforderungen genau bestimmen: Team Foundation Server als Lösung für integriertes Anforderungsmanagement (engl. „Requirements Management“) bietet die Möglichkeit, Anforderungen an die Qualität zu definieren, zu überprüfen und passende Aktionen abzuleiten. Dabei unterstützen den Anwender neben dem durchgängig transparenten Anforderungsmanagement weitere hilfreiche Innovationen, wie beispielsweise hierarchische Anforderungskataloge. Die Fachseite wird problemlos über die hervorragende Anbindung an Office mit einbezogen. Das bedeutet Qualitätsanforderungen und deren Umsetzung werden vom Stiefkind der Softwareentwicklung zu einem vollwertigen Mitglied im Application Lifecycle und können jederzeit nahtlos und transparent überwacht und ausgewertet werden.

(5) Schlau testen, Zeit (und Geld) sparen: Dank einer neuen und innovativen Technologie namens Intellitrace bringt Microsoft mit Visual Studio Ultimate und Visual Studio Test Professional Tester und Entwickler zusammen und erlaubt beiden, sich auf das zu konzentrieren, was sie am besten können: Testen und Entwickeln. Dank IntelliTrace müssen sich Tester nicht darum kümmern, wie sie ihre Erkenntnisse dokumentieren und an die Entwickler zurück kommunizieren, denn IntelliTrace zeichnet alle Abläufe in der Testmaschine zur Laufzeit auf und speichert sie, sodass sie später jederzeit von einem Entwickler untersucht werden können, gerade so als hätte der Entwickler bereits „zur Laufzeit direkt in die Maschine geschaut“. Das gibt Testern viel mehr Freiraum, beispielsweise für exploratives Testen – und stellt gleichzeitig sicher, dass keine Handlung des Testers undokumentiert bleibt. Dank ausgeklügelter Virtualisierungstechniken und vielen Automatismen ist das Aufsetzen und Warten von Testumgebungen mit Visual Studio Lab Management äußerst komfortabel und zeitsparend. Das bedeutet eine schnellere Fehlerbehebung, weniger Zeit beim Debugging, höhere Qualität, weniger Testaufwand und schlußendlich deutlich niedrigere Entwicklungskosten. Auch, weil die Testlösungen von Microsoft im Vergleich zu anderen Angeboten oft weniger als ein Fünftel kosten.

(6) Das Design (der Anwendung) muss stimmen: Ohne ein durchdachtes Design wird eine Anwendung zwangsweise scheitern, spätestens bei der ersten Revision. Visual Studio hilft Architekten und Analysten dabei, das Design ihrer Anwendungen zu optimieren und stringent umzusetzen, beispielsweise durch tief integrierte Funktionen für Forward- und Reverse Engineering des System-Designs sowie einer automatisierte Überprüfung von Designrichtlinien bei der Entwicklung. Modellierungswerkzeuge machen die Entwicklung übersichtlich, sei es nun der UML-Support, Template-basierte Code-Generierung, Generierung von Sequenzdiagrammen oder der Architekturexplorer und die Layer-Validierung. Das führt zu höherer Anwendungsqualität und dadurch zu kostengünstigerer Wartung durch automatische, ständige Überprüfung der Richtlinien der Architektur bereits während der Entwicklung.

(7) Tests optimieren und automatisieren: Beim Thema Automatisierung kann Visual Studio 2010 richtig glänzen. Integrierte Unterstützung für Test Driven Development und Unit-Tests, automatisierte UI-Tests, komfortable Lasttests und Stresstests oder die Einbindung der Tests in Continuous Integration über Team Foundation Server. Intelligente Testautomatisierung wird auf allen Ebenen unterstützt. Das bedeutet, Sie können durch die Automatisierung viele Routinetests schneller und billiger testen, das teure menschliche Testpersonal kann sich auf die wirklich kniffligen Testprobleme konzentrieren, die einfachen Sachen werden maschinell getestet.

Wollen Sie mehr erfahren?

Was Visual Studio im Bereich Test und Qualitätssicherung für Sie leisten kann erfahren Sie in aller Ausführlichkeit, mit White Papern und Kundenreferenzen auf dieser Website: www.microsoft.de/visualstudio/qs

Überzeugen Sie sich selbst vor Ort

Von Mitte Oktober bis Anfang Dezember ist Microsoft mit speziellen Informationstagen zum Softwaretesten und einer Roadshow speziell zum Thema Lasttest in ganz Deutschland unterwegs. Termine und Inhalte dieser Veranstaltungen finden Sie hier: http://www.event-team.com/events/InfoDays (Kleiner Tipp für freien Eintritt: Wenden Sie sich an den Visual Studio Produktmanager Steffen Ritter, er kann Ihnen eventuell einen Promocode geben, mit dem die 39,- Euro Teilnahmegebühr erlassen werden.)