Testumgebung

Eine Testumgebung (englisch Test Environment) ist die technisch-organisatorische Infrastruktur, die zum Testen von Software benutzt wird.

Allgemeines

Im Allgemeinen sollen Testumgebungen zwei Grundprinzipien erfüllen:

Vollständiges Erfüllen beider Anforderungen ist aus ökonomischen Gründen in der Praxis eher selten anzutreffen.

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:

Vom Produktionssystem unabhängige Testumgebungen werden meist mit (im Vergleich zur Produktionsumgebung) geringer dimensionierten Komponenten (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. B. von VMware). Je nach Rechnersystem werden Testumgebungen u. U. nur bedingt unabhängig betrieben, sondern in technisch getrennt verwalteten Systembereichen (Begriffe hierfür: Region, Task, Domäne etc.).

Charakteristische Merkmale

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 'IT-Produktion' – was auch als Anforderungen an Testumgebungen gelten kann:

Besondere Anforderungen müssen beim Betrieb gemeinsamer Testumgebungen für mehrere Projekte beachtet werden:

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.

Insbesondere für Websites und Webanwendungen, die auf Client-Server-Architekturen basieren, wurden Testumgebungen entwickelt, die von manchen Herstellern als Inszenierungsumgebung (englisch Staging Environment) 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.

Bestandteile

Eine Testumgebung besteht im Allgemeinen aus folgenden Komponenten:

Schwerpunkt Testdaten

Einen besonderen Schwerpunkt für Testumgebungen und das Testen allgemein bilden die Testdaten. Hierbei ist zu unterscheiden zwischen Eingabedaten für Tests (in den über die Testfälle beschriebenen Varianten) und Daten, auf die im Test 'nur' zugegriffen wird; beide Arten müssen zusammenpassen. Hinzu kommen die beim Testen erzeugten Daten – als zu prüfende Testergebnisse, die evtl. mit Soll-Ergebnis-Daten verglichen werden können.

Für Testdaten und die dazu erforderlichen Bereitstellungsprozesse (Testdatenmanagement) sind die nachfolgend genannten Sachverhalte von besonderer Bedeutung:

Einzelnachweise

  1. ↑ Bundesbank Testumgebung
  2. ↑ Staging Environment im Unternehmenswiki von Ryte (ryte.com)
  3. ↑ Beschreibung von Microsoft
  4. ↑ Stefan Selge: Ohne Bugs von der Idee zur Umsetzung. (Memento des Originals vom 14. November 2017 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. 5 Anker GmbH, 18. Januar 2017