Definition „Testing Environment“ Was ist eine Testumgebung?
Anbieter zum Thema
Die Testumgebung beschreibt die Gesamtheit der Soft- und Hardwarebestandteile, die dem Test von Anwendungen, Webseiten oder Applikationen dienen. Das Testing Environment beinhaltet sowohl physische Komponenten wie Client und Server als auch virtuelle Bestandteile wie Betriebssystem und Software.

Die Testumgebung (auch als Testing Environment bekannt) besteht aus Hardware, Software und Middleware. Auf diesen Komponenten werden Anwendungen oder Webseiten unter verschiedenen Voraussetzungen einem ausführlichen Test unterzogen.
Das Setup der Testumgebung stellt eine Art Kopie oder Replikation des tatsächlichen Systems dar. Es existiert getrennt vom angewandten System, um mögliche Fehler oder negative Auswirkungen rechtzeitig zu erkennen und das Auftreten dieser auf dem Produktivsystem zu vermeiden.
Die Testumgebung spielt in der Entwicklung von Software und anderen Anwendungen eine wichtige Rolle. Im Vorfeld des Releases eines Systems lassen sich durch exakte Tests mögliche Fehler von Vorneherein vermeiden. Testumgebungen sind je nach Anwendung auch als Test Bed bekannt.
Charakteristika und Voraussetzungen einer Testumgebung
Damit eine Testumgebung ihren Zweck erfüllen kann, ist sie auf bestimmte Grundprinzipien angewiesen. Insbesondere ist es von Relevanz, dass die Test- von der Produktionsumgebung soweit wie möglich getrennt ist. Unter keinen Umständen dürfen die Testumgebung oder die zu testenden Anwendungen an der Produktivumgebung Schaden anrichten.
Diese räumliche und funktionelle Trennung voneinander ist auch als Sandbox bekannt. Das Testing Environment wird damit komplett abgeschirmt von der Produktivumgebung: es existieren keine Netzwerkverbindungen zwischen der Produktivumgebung und den verschiedenen Bereichen und Entwicklungsschritten der Testumgebung.
Eine weitere Voraussetzung ist eine größtmögliche technische Identität der Test- und der Produktionsumgebung. Die beiden Umgebungen sollten einander so ähnlich wie möglich sein. Auf diese Weise sollen alle erdenklichen Anforderungen und Probleme im Rahmen der technischen Umsetzung bereits im Test erkannt und behoben werden. Damit soll ein Test unter möglichst realen Bedingungen möglich sein. De facto kommt es in der Praxis aus wirtschaftlichen Gründen nur selten vor, dass beide dieser Anforderungen vollumfänglich erfüllt werden.
Testumgebungen unterscheiden sich in Abhängigkeit der technischen Basis, der Anforderungen oder der Unternehmensgröße deutlich voneinander. So bedürfen einfache Office-Anwendungen auf PCs meist nur einer einfachen Test-Infrastruktur. Große Unternehmen mit komplexer IT-Infrastruktur stellen hingegen deutlich höhere Anforderungen an die Planung, Einrichtung und den Betrieb von Testumgebungen. Dies geht mit hohem organisatorischem Abstimmungsaufwand zwischen mehreren beteiligten Personen einher.
Ziele des Einsatzes einer Testumgebung
Der Test unter wirklichkeitsgetreuen Voraussetzungen verfolgt gleich mehrere verschiedene Ziele in der Entwicklung und Optimierung von Anwendungen oder Webseiten. Zum einen soll eine hohe Qualität der digitalen Produkte gewährleistet sein. Im Fokus stehen dabei Faktoren wie Sicherheit, Nutzerfreundlichkeit, Datenintegrität oder Design. Ein weiteres Ziel der Testumgebung besteht in der Abstimmung mit den speziellen Bedürfnissen der Kunden oder Anwender, speziell im B2B-Bereich.
Ebenso lässt sich mit Testumgebungen das Ziel der Kostenreduktion verfolgen. Bugs oder Systemabstürze können Kosten verursachen, die sich durch einen umfassenden Vorab-Test vermeiden lassen. Ist eine Testumgebung einmal eingerichtet, geht sie mit Vorteilen in der Kosteneffizienz einher, die den gesamten Lebenszyklus der Anwendungen betrifft. Der Aufwand sämtlicher am Entwicklungs- und Wartungsprozess Beteiligten kann durch den geschickten Einsatz einer Testumgebung erheblich sinken.
Funktionsweise und praktische Umsetzung der Testumgebung
Die konkret zur Anwendung kommenden Test-Methoden der Testing-Environment sind abhängig von den jeweiligen Entwicklungszielen. Beispielsweise ist der Aufgabenbereich der agilen Software-Entwicklung auf mehrere Sandboxes in der Testumgebung angewiesen, darunter eine Sandbox für die Qualitätssicherung, eine für die Tests und eine für Demonstrationen. Daneben gibt es weitere Test-Modelle, beispielsweise Prototyping, Scrum, das Spiralmodell oder das Wasserfallmodell.
Weiterhin unterscheidet sich die Umsetzung in Abhängigkeit der Anforderungen der Organisation oder anderer Kunden. Je größer das Unternehmen und je komplexer seine IT-Infrastruktur, desto anspruchsvoller ist die Aufgabe der Umsetzung einer Testumgebung. Da alle Beteiligten einer exakten Abstimmung bedürfen, ist gegebenenfalls die Einrichtung eines Test Environment Managements (TEM) erforderlich.
Oft ist es beispielsweise notwendig, eine Anwendung für gleich mehrere Betriebssysteme zu testen. Diese Systeme müssen entweder innerhalb eines Testing Environments simuliert werden oder es bedarf der Realisation mehrerer Testumgebungen, was mit weiterem Ressourcenbedarf verbunden ist.
Daher hat es sich in der Praxis durchgesetzt, Testing Environments meist über reduzierte Infrastrukturen umzusetzen. Diese beanspruchen weniger Speicher oder andere Ressourcen als die real eingesetzten Produktivsysteme. Beispielsweise kann an Stelle eines physischen Servers ein virtuelles System gehostet werden. Bei der Realisation von Testing Environments ist weiterhin der Einsatz von Emulations-Software verbreitet.
Geht es um das Testen von Webseiten, kommen oft Subdomains zum Einsatz. Diese sind geeignet, die erforderliche Trennung zwischen Produktiv- und Testumgebung zu gewährleisten. Auch hier gelten jedoch die Grundsätze, dass die Test- und die Produktivumgebung einander technisch so ähnlich sein sollten wie möglich. In Abhängigkeit der Testziele sind die Anforderungen an die Infrastruktur sehr verschieden. In der Praxis ist daher jede Testumgebung individuell und passgenau zu erstellen.
(ID:47430804)