Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Ein Turbo für die Testausführung

Mittwoch, 29. April 2015

Mit Hilfe von Unit-, Integrations- und Systemtests lässt sich die Funktionalität von einzelnen Methoden, Modulen oder der gesamten Anwendung automatisiert und kontinuierlich überprüfen. Mit zunehmender Komplexität einer Anwendung steigt die Anzahl der Tests sehr stark. Obwohl einzelne Tests zumeist sehr schnell ausgeführt werden, führt die schiere Masse häufig zu einer hohen Gesamtlaufzeit. In der Folge werden Tests lokal oft überhaupt nicht mehr und im Continuous Integration Build oft nur noch eine Teilmenge ausgeführt. Mögliche Fehler werden dann erst stark verzögert im Nightly-Build entdeckt. Gibt’s denn da keine Möglichkeit die Ausführung zu beschleunigen?

Das Visual Studio und der Team Foundation Server ermöglichen es die Ausführung von Tests an einen Test Controller zu delegieren. Dieser wiederum leitet die Anfragen an Test Agents weiter. Abhängig von deren Anzahl allerdings nur eine Teilmenge. Hierdurch kommt es zu einer Parallelisierung der Testausführung und damit zu einer stark verkürzten Gesamtlaufzeit.

Test Infrastruktur

Dabei gilt es zu berücksichtigen das die Test Assemblies sowie die zu testenden Bestandteile zunächst auf alle Agents verteilt und ggf. eingerichtet werden. Dies führt zu einem gewissen Overhead, so dass sich dieses Vorgehen erst ab einer gewissen Menge an Tests lohnt.

Die Umgebung in der die Tests ausgeführt werden wird über eine Test Settings Datei festgelegt. In dieser werden die Variante „Remote execution“ sowie der Test Controller ausgewählt.

Konfiguration der Test Settings

Welche Test Settings Datei wiederum zur Anwendung kommt wird bei einer Ausführung aus dem Visual Studio im Menü unter Test -> Test Settings konfiguriert. Achtung: Dies unterscheidet sich von der Auswahl der Test Settings für Lasttests. Diese werden über das Kontextmenü der Settings Datei ausgewählt.

Auswahl der Test Settings im Visual Studio

Für den Buildprozess wir die Einstellung in der Builddefinition konfiguriert.

Auswahl der Test Settings im Buildprozess

Durch eine Erhöhung der Test Agent Anzahl kann die Ausführungsgeschwindigkeit deutlich gesteigert werden. Dies setzt eine entsprechende Infrastruktur voraus. Wer diese in seiner lokalen Umgebung nicht zur Verfügung stellen möchte kann auf die Cloud ausweichen. Hier lässt sich sehr schnell eine große Anzahl an Test Agents einrichten. Wie eine solche Infrastruktur aufgebaut wird und was dabei zu beachten ist wird in einem der nachfolgenden Blogbeiträge näher beleuchtet.

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags: , , , , ,

Hinterlasse eine Antwort