<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Testumgebung</id>
	<title>Testumgebung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Testumgebung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Testumgebung&amp;action=history"/>
	<updated>2026-06-04T13:41:04Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Testumgebung&amp;diff=1504902&amp;oldid=prev</id>
		<title>imported&gt;Snookerado: Änderung 224730089 von 2A02:1210:16D2:8900:D0C1:F977:3731:9599 rückgängig gemacht; bitte  Wikipedia:Spielwiesenutzen</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Testumgebung&amp;diff=1504902&amp;oldid=prev"/>
		<updated>2022-07-22T18:20:06Z</updated>

		<summary type="html">&lt;p&gt;Änderung &lt;a href=&quot;/index.php/Spezial:Diff/224730089&quot; title=&quot;Spezial:Diff/224730089&quot;&gt;224730089&lt;/a&gt; von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/2A02:1210:16D2:8900:D0C1:F977:3731:9599&quot; title=&quot;Spezial:Beiträge/2A02:1210:16D2:8900:D0C1:F977:3731:9599&quot;&gt;2A02:1210:16D2:8900:D0C1:F977:3731:9599&lt;/a&gt; rückgängig gemacht; bitte  &lt;a href=&quot;/index.php?title=Wikipedia:Spielwiese&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Wikipedia:Spielwiese (Seite nicht vorhanden)&quot;&gt;Wikipedia:Spielwiesenutzen&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;Testumgebung&amp;#039;&amp;#039;&amp;#039; ({{enS|Test Environment}}) ist die technisch-organisatorische [[IT-Infrastruktur|Infrastruktur]], die zum [[Softwaretest|Testen]] von [[Software]] benutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Im Allgemeinen sollen Testumgebungen zwei Grundprinzipien erfüllen:&lt;br /&gt;
* Die Testumgebung soll von der Produktionsumgebung möglichst &amp;#039;&amp;#039;weitgehend getrennt&amp;#039;&amp;#039; sein, damit die zu testende Software keinen Schaden für den produktiven Betrieb anrichten kann. Siehe auch [[Sandbox]].&lt;br /&gt;
* Andererseits sollte die Testumgebung der Produktionsumgebung &amp;#039;&amp;#039;so ähnlich wie möglich&amp;#039;&amp;#039; sein, damit Probleme im Zusammenhang mit der technischen Ablaufumgebung bereits im Test erkannt (und behoben) werden können.&lt;br /&gt;
Vollständiges Erfüllen beider Anforderungen ist aus ökonomischen Gründen in der Praxis eher selten anzutreffen.&lt;br /&gt;
&lt;br /&gt;
Testumgebungen und ihre Organisation können sich, abhängig von der technischen Basis, auf der die entwickelte Software eingesetzt werden soll, und abhängig von anderen Faktoren, erheblich voneinander unterscheiden:&lt;br /&gt;
* In großen Organisationen mit mächtiger IT-Infrastruktur und für große [[Projekt]]e sind das Planen, das Einrichten und der Betrieb von Testumgebungen eine hochkomplexe Aufgabe mit vielen Verantwortlichen und hohem Abstimmungsaufwand.&lt;br /&gt;
* Einfache PC-Anwendungen, evtl. mit nur lokaler Einsatzbreite bedürfen dagegen meist keiner größeren oder besonderen Test-Infrastruktur.&lt;br /&gt;
* Für Testumgebungen über mehrere technische Plattformen hinweg können häufig produktionsähnliche Strukturen und Schnittstellen nicht oder nur mit großem Aufwand hergestellt werden.&lt;br /&gt;
* Für verschiedene [[Softwaretest#Teststufen|Teststufen]] können unterschiedliche Testumgebungen mit unterschiedlicher Ausstattung erforderlich sein.&lt;br /&gt;
* Testumgebungen können &amp;#039;&amp;#039;exklusiv für ein [[Projekt]]&amp;#039;&amp;#039; oder für mehrere / viele / alle Projekte betrieben werden, nur &amp;#039;&amp;#039;temporär&amp;#039;&amp;#039; (für die Projektdauer) oder &amp;#039;&amp;#039;dauerhaft.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vom Produktionssystem unabhängige Testumgebungen werden meist mit (im Vergleich zur Produktionsumgebung) &amp;#039;&amp;#039;geringer dimensionierten Komponenten&amp;#039;&amp;#039; (Rechner, Speicherkapazität etc.), die damit auch kostengünstiger sind, betrieben. Beispiele: Ein PC statt eines Servers, ein einzelner Server statt eines Server-Clusters, eine Virtualisierungs-Software (z.&amp;amp;nbsp;B. von [[VMware]]). Je nach Rechnersystem werden Testumgebungen u.&amp;amp;nbsp;U. nur bedingt unabhängig betrieben, sondern in technisch getrennt verwalteten Systembereichen (Begriffe hierfür: Region, Task, Domäne etc.).&lt;br /&gt;
&lt;br /&gt;
== Charakteristische Merkmale ==&lt;br /&gt;
Testumgebungen sind bezüglich ihrer technischen Basis ähnlich wie Systeme im produktiven Einsatz. Trotzdem unterscheidet sich eine TU und ihr Betrieb in vielerlei Hinsicht von der &amp;#039;IT-Produktion&amp;#039; – was auch als &amp;#039;&amp;#039;Anforderungen an Testumgebungen&amp;#039;&amp;#039; gelten kann:&lt;br /&gt;
* Programme sind schnell und unkompliziert &amp;#039;&amp;#039;in die Testumgebung übertragbar.&amp;#039;&amp;#039;&lt;br /&gt;
* In den Tests werden die &amp;#039;Testobjekte&amp;#039; (zu testende Programme) zusammen mit anderen &amp;#039;&amp;#039;Komponenten gemischt&amp;#039;&amp;#039; ausgeführt.&lt;br /&gt;
* Die &amp;#039;&amp;#039;Dimension Zeit&amp;#039;&amp;#039; wird flexibel behandelt, um Funktionen mit Zeitbezug (ein ganzer Arbeitstag, Monats- oder Jahreswechsel) unabhängig vom realen Zeitverlauf testen zu können.&lt;br /&gt;
* &amp;#039;&amp;#039;Schnittstellen&amp;#039;&amp;#039; zu anderen (auch externen) Systemen sollten nach Möglichkeit verfügbar sein. Alternativ werden sie ggf. simuliert.&lt;br /&gt;
* Das Ausführen von Programmen wird in der Regel &amp;#039;&amp;#039;nicht vollautomatisch&amp;#039;&amp;#039; gesteuert (z.&amp;amp;nbsp;B. zu bestimmten Terminen, in streng definierter Ablauffolge), sondern von den Testern individuell aktiviert und kontrolliert.&lt;br /&gt;
* Die zu testenden Funktionen werden i.&amp;amp;nbsp;d.&amp;amp;nbsp;R. &amp;#039;&amp;#039;viele Male hintereinander,&amp;#039;&amp;#039; jeweils in anderen Konstellationen (gem. Festlegung in den Testfällen) ausgeführt.&lt;br /&gt;
* Zur &amp;#039;&amp;#039;Kontrolle von Testergebnissen&amp;#039;&amp;#039; müssen diese jeweils nach Test-Ende mit Hilfe besonderer Werkzeuge &amp;#039;sichtbar&amp;#039; gemacht und konserviert werden.&lt;br /&gt;
* &amp;#039;&amp;#039;Systemeinstellungen, System-Identifikationen (Pfadnamen etc.) und [[Parameter (Informatik)|Parameter]]&amp;#039;&amp;#039; müssen sowohl wegen technischer Bedingungen als auch zu Testzwecken (mehrere Konstellationen) modifiziert werden (können). Zu Testzwecken sollten andererseits möglichst &amp;#039;&amp;#039;wenige Anpassungen&amp;#039;&amp;#039; (gegenüber der späteren Produktivversion) erforderlich sein, weil in diesen Modifikationen neue Fehlerrisiken &amp;#039;schlummern&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Besondere Anforderungen müssen beim Betrieb gemeinsamer Testumgebungen für mehrere Projekte beachtet werden:&lt;br /&gt;
* Die Zuordnung von Testdaten zu bestimmten [[Softwaretest#Teststufen|Teststufen]], [[Softwaretest#Klassifikation für Testarten|Testarten]], [[Projekt]]en etc. muss geregelt sein – um gegenseitiges Verändern von Daten und damit falsche Testergebnisse zu verhindern.&lt;br /&gt;
* Die Tests müssen (besonders bei großen Projekten) inhaltlich, in ihrer Ablauffolge und terminlich (nicht selten auf Stundenbasis) geplant und mit den Beteiligten aus dem eigenen oder auch anderen Projekten abgestimmt werden.&lt;br /&gt;
&lt;br /&gt;
Bei überbetrieblich tätigen Unternehmen und Organisationen erfordern Änderungen in der Software häufig besondere Vorkehrungen und Regeln, nach denen Beteiligte koordiniert testen können/müssen. Siehe Beispiel Bundesbank.&amp;lt;ref&amp;gt;Bundesbank &amp;#039;&amp;#039;Testumgebung&amp;#039;&amp;#039; [http://www.bundesbank.de/Navigation/DE/Service/Services_Banken_und_Unternehmen/BBS/Testumgebung/testumgebung.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insbesondere für Websites und Webanwendungen, die auf [[Client-Server-Architektur]]en basieren, wurden Testumgebungen entwickelt, die von manchen Herstellern als &amp;#039;&amp;#039;&amp;#039;Inszenierungsumgebung&amp;#039;&amp;#039;&amp;#039; ({{enS|Staging Environment}})&amp;lt;ref&amp;gt;[https://de.ryte.com/wiki/Staging_Environment Staging Environment] im Unternehmenswiki von Ryte (ryte.com)&amp;lt;/ref&amp;gt; bezeichnet werden. Während der zugehörige Datenbankserver mit Testdaten gefüllt wird, die nach bestimmten Kriterien als Stichprobe aus den Produktivdaten gefiltert werden, basiert der eigentliche Testserver auf einer Spiegeltechnik, die Tests an Veränderungen analog zur produktiven Version unter verschiedenen Arbeitsumgebungen ermöglicht und anschließend die automatische Migration der Produktivumgebung ermöglicht.&amp;lt;ref&amp;gt;[https://msdn.microsoft.com/de-de/library/ms942990%28v=cs.70%29.aspx Beschreibung] von Microsoft&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Stefan Selge: {{Webarchiv|url=https://docs.5-anker.com/allgemein/ohne-katastrophen-von-der-idee-zur-umsetzung/ |wayback=20171114202123 |text=&amp;#039;&amp;#039;Ohne Bugs von der Idee zur Umsetzung.&amp;#039;&amp;#039; |archiv-bot=2019-05-17 18:55:30 InternetArchiveBot }} 5 Anker GmbH, 18. Januar 2017&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bestandteile ==&lt;br /&gt;
Eine Testumgebung besteht im Allgemeinen aus folgenden Komponenten:&lt;br /&gt;
* Die zum Testen erforderliche &amp;#039;&amp;#039;Hardware und das [[Betriebssystem]]&amp;#039;&amp;#039; (mit allen zum Test erforderlichen Komponenten) bilden die technische Grundlage der Testumgebung.&lt;br /&gt;
* Die &amp;#039;&amp;#039;administrative Infrastruktur&amp;#039;&amp;#039; muss testspezifisch vorhanden und installiert sein. Beispiele: Testbibliotheken, Ablaufsteuerungskomponenten (wie [[Job Control Language|JCL]]), Testdatenbanken, Testmandanten, Testuser, Zugriffs- und Rechtekonzepte, Test-Zeitscheiben etc.&lt;br /&gt;
* Die &amp;#039;&amp;#039;zu testenden Programme&amp;#039;&amp;#039; (neue oder in Wartungsprojekten geänderte Versionen) müssen in der Testumgebung verfügbar sein.&lt;br /&gt;
* Zur Durchführung der Tests erforderliche &amp;#039;&amp;#039;andere Anwendungen/Programme&amp;#039;&amp;#039; müssen ebenfalls verfügbar sein. Beispiele: Zentrale Unterprogramme, nicht geänderte Programme (in [[Softwaretest#Weitere Klassifikationen für Testarten|Wartungstests]]), Anwendungen zur Anzeige von Ergebnisdaten, Anwendungen zur Weiterverarbeitung von Testergebnissen; sie sind keine Testobjekte, sondern Hilfsmittel.&lt;br /&gt;
* Zur Vorbereitung, Durchführung und Kontrolle von Tests sind Testwerkzeuge erforderlich, z.&amp;amp;nbsp;B. zur Testfall-Dokumentation, zur Testdatenmanipulation, zur Testautomatisierung und -Überwachung ([[Debugger]]), für automatische Datenvergleiche etc.&lt;br /&gt;
* Wesentlicher Teil der Testumgebung sind die für die Tests erforderlichen und inhaltlich auf sie abgestimmten [[#Schwerpunkt Testdaten|Testdaten]].&lt;br /&gt;
* Im weiteren Sinn gehören auch die definierten [[Softwaretest#Testspezifikation|Testfälle]] zur Testumgebung.&lt;br /&gt;
&lt;br /&gt;
== Schwerpunkt Testdaten ==&lt;br /&gt;
{{Anker|Testdaten}}&lt;br /&gt;
Einen besonderen Schwerpunkt für Testumgebungen und das Testen allgemein bilden die Testdaten. Hierbei ist zu unterscheiden zwischen &amp;#039;&amp;#039;Eingabedaten&amp;#039;&amp;#039; für Tests (in den über die Testfälle beschriebenen Varianten) und Daten, auf die im Test &amp;#039;nur&amp;#039; &amp;#039;&amp;#039;zugegriffen&amp;#039;&amp;#039; wird; beide Arten müssen zusammenpassen. Hinzu kommen die beim Testen &amp;#039;&amp;#039;erzeugten&amp;#039;&amp;#039; Daten – als zu prüfende Testergebnisse, die evtl. mit &amp;#039;&amp;#039;Soll-Ergebnis-Daten&amp;#039;&amp;#039; verglichen werden können.&lt;br /&gt;
&lt;br /&gt;
Für Testdaten und die dazu erforderlichen Bereitstellungsprozesse (&amp;#039;&amp;#039;&amp;#039;Testdatenmanagement&amp;#039;&amp;#039;&amp;#039;) sind die nachfolgend genannten Sachverhalte von besonderer Bedeutung:&lt;br /&gt;
* Testdaten und Testfälle sollten exakt aufeinander abgestimmt und so definiert sein, dass unbeabsichtigtes Verändern (z.&amp;amp;nbsp;B. in anderen Testfällen) vermieden wird. Nützlich ist die Dokumentation der Zusammengehörigkeit von Testfällen und Testdaten: Welche Testdaten werden für Testfall X verwendet – und umgekehrt?&lt;br /&gt;
* Testdaten müssen – neben den lt. den Testfallspezifikationen erforderlichen Ausprägungen/Konstellationen – auch untereinander datenlogisch konsistent sein. Beispiel: Bestelldaten passen zu Kunden- und zu Artikeldaten.&lt;br /&gt;
* Diese Konsistenz ist bei Testumgebungen &amp;lt;!--eigentlich &amp;#039;bei sich über mehrere Plattformen erstreckende Tests&amp;#039;, weil jede der daran beteiligten Plattformen ggf. als eigene &amp;#039;Testumgebung&amp;#039; gilt--&amp;gt;über mehrere technische Plattformen hinweg auch plattformübergreifend nötig.&lt;br /&gt;
* Das Testdatenvolumen sollte im Interesse optimalen Testaufwands und effizienter Testkontrollen so klein wie möglich und nur so groß wie nötig sein.&lt;br /&gt;
* Durch Verwendung produktiver Daten als Testdaten können praxisnahe Datenkombinationen erreicht werden. Allein die Verwendung solcher Daten (bei denen die Testkonstellationen vom Zufall abhängig sind) erlaubt jedoch keine Qualitätsaussagen (Vollständigkeit) zu den Tests und bedeutet i.&amp;amp;nbsp;d.&amp;amp;nbsp;R. hohen Aufwand zur Ergebniskontrolle. Häufig müssen diese Daten i.&amp;amp;nbsp;d.&amp;amp;nbsp;R. zum Testen [[Anonymisierung und Pseudonymisierung|anonymisiert]] werden.&lt;br /&gt;
* Für Testwiederholungen sollten Testdaten global oder individuell auf alte Stände zurückgesetzt werden können. Dies ist insbesondere nach sog. „Alterungen“ oder „Zeitreisen“ erforderlich, bei denen z.&amp;amp;nbsp;B. ein Jahreswechsel (mehrfach) getestet werden muss.&lt;br /&gt;
* Für Performancetests werden ggf. Vollbestände verarbeitet, evtl. in der Produktionsumgebung.&lt;br /&gt;
* Im Fall von Datenstrukturänderungen (z.&amp;amp;nbsp;B. bei Verwendung von Testdaten in [[Regressionstest]]s) müssen die Testdaten ggf. strukturell der neueren Programmversion angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Testen (Software)| ]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Snookerado</name></author>
	</entry>
</feed>