Testumgebung

Testumgebung

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

Im Allgemeinen sollen Testumgebungen zwei Grundprinzipien erfüllen:

  • Die Testumgebung soll von der Produktionsumgebung möglichst weitgehend getrennt sein, damit die zu testende Software keinen Schaden für den produktiven Betrieb anrichten kann.
  • Andererseits sollte die Testumgebung der Produktionsumgebung so ähnlich wie möglich sein, damit Probleme im Zusammenhang mit der technischen Ablaufumgebung bereits im Test erkannt (und behoben) werden können.

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:

  • In großen Organisationen mit mächtiger IT-Infrastruktur und für große Projekte sind das Planen, das Einrichten und der Betrieb von Testumgebungen eine hochkomplexe Aufgabe mit vielen Verantwortlichen und hohem Abstimmungsaufwand.
  • Einfache PC-Anwendungen, evtl. mit nur lokaler Einsatzbreite bedürfen dagegen meist keiner größeren oder besonderen Test-Infrastruktur.
  • 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.
  • Für verschiedene Teststufen können unterschiedliche Testumgebungen mit unterschiedlicher Ausstattung erforderlich sein.
  • Testumgebungen können exklusiv für ein Projekt oder für mehrere / viele / alle Projekte betrieben werden, nur temporär (für die Projektdauer) oder dauerhaft.

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.).

Inhaltsverzeichnis

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:

  • Programme sind schnell und unkompliziert in die Testumgebung übertragbar.
  • In den Tests werden die 'Testobjekte' (zu testende Programme) zusammen mit anderen Komponenten gemischt ausgeführt.
  • Die Dimension Zeit wird flexibel behandelt, um Funktionen mit Zeitbezug (ein ganzer Arbeitstag, Monats- oder Jahreswechsel) unabhängig vom realen Zeitverlauf testen zu können.
  • Schnittstellen zu anderen (auch externen) Systemen sollten nach Möglichkeit verfügbar sein. Alternativ werden sie ggf. simuliert.
  • Das Ausführen von Programmen wird in der Regel nicht vollautomatisch gesteuert (z. B. zu bestimmten Terminen, in streng definierter Ablauffolge), sondern von den Testern individuell aktiviert und kontrolliert.
  • Die zu testenden Funktionen werden i. d. R. viele Male hintereinander, jeweils in anderen Konstellationen (gem. Festlegung in den Testfällen) ausgeführt.
  • Zur Kontrolle von Testergebnissen müssen diese jeweils nach Test-Ende mit Hilfe besonderer Werkzeuge 'sichtbar' gemacht und konserviert werden.
  • Systemeinstellungen, System-Identifikationen (Pfadnamen etc.) und Parameter müssen sowohl wegen technischer Bedingungen als auch zu Testzwecken (mehrere Konstellationen) modifiziert werden (können). Zu Testzwecken sollten andererseits möglichst wenige Anpassungen (gegenüber der späteren Produktivversion) erforderlich sein, weil in diesen Modifikationen neue Fehlerrisiken 'schlummern'.

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

  • Die Zuordnung von Testdaten zu bestimmten Teststufen, Testarten, Projekten etc. muss geregelt sein - um gegenseitiges Verändern von Daten und damit falsche Testergebnisse zu verhindern.
  • 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.

Bestandteile

Eine Testumgebung besteht im Allgemeinen aus folgenden Komponenten:

  • Die zum Testen erforderliche Hardware und das Betriebssystem (mit allen zum Test erforderlichen Komponenten) bilden die technische Grundlage der Testumgebung.
  • Die administrative Infrastruktur muss testspezifisch vorhanden und installiert sein. Beispiele: Testbibliotheken, Ablaufsteuerungskomponenten (wie JCL), Testdatenbanken, Testmandanten, Testuser, Zugriffs- und Rechtekonzepte, Test-Zeitscheiben etc.
  • Die zu testenden Programme (neue oder in Wartungsprojekten geänderte Versionen) müssen in der Testumgebung verfügbar sein.
  • Zur Durchführung der Tests erforderliche andere Anwendungen / Programme müssen ebenfalls verfügbar sein. Beispiele: Zentrale Unterprogramme, nicht geänderte Programme (in Wartungstests), Anwendungen zur Anzeige von Ergebnisdaten, Anwendungen zur Weiterverarbeitung von Testergebnissen; sie sind keine Testobjekte, sondern Hilfsmittel.
  • Zur Vorbereitung, Durchführung und Kontrolle von Tests sind Testwerkzeuge erforderlich, z.B. zur Testfall-Dokumentation, zur Testdatenmanipulation, zur Testautomatisierung und -Überwachung (Debugger), für automatische Datenvergleiche etc.
  • Wesentlicher Teil der Testumgebung sind die für die Tests erforderlichen zum Test benötigten Datenbestände.
  • Im weiteren Sinn gehören auch die definierten Testfälle zur Testumgebung.

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 sind die nachfolgend genannten Sachverhalte von besonderer Bedeutung:

  • Oft werden Auszüge aus produktiven Daten als Testdaten verwendet. Dies soll praxisnahe Datenkombinationen sichern, i. d. R. müssen die Daten hierbei anonymisiert werden.
  • Testdaten und Testfälle sollten exakt aufeinander abgestimmt und so definiert sein, dass unbeabsichtigtes Verändern in verschiedenen Tests vermieden wird. Sie sollten sich gegenseitig referenzieren: Welche Testdaten werden für Testfall X verwendet - und umgekehrt?
  • Beim Herstellen der Testdaten muss darauf geachtet werden, dass die Testdaten - neben den lt. Testfall erforderlichen Ausprägungen - auch datentechnisch konsistent sind (Referentielle Integrität).
  • Das Testdatenvolumen sollte im Interesse kurzer Testdauern und effizienter Testkontrollen so klein wie möglich, so groß wie nötig sein. Die Hoffnung auf vollständige Testkombinationen in Groß- bzw. Produktivdaten erlaubt keine Qualitätsaussagen zu Testergebnissen.
  • Für Testwiederholungen sollten Testdaten global oder individuell auf alte Stände zurückgesetzt werden können. Dies ist auch nach sog. 'Alterungen' oder 'Zeitreisen' erforderlich, bei denen z. B. ein Jahreswechsel getestet werden muss.
  • Für Performancetests werden ggf. Vollbestände verarbeitet, evtl. in der Produktionsumgebung.
  • Im Fall von Datenstrukturänderungen müssen Programm- und Datenversionen konsistent sein.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Softwaretest — Ein Softwaretest prüft und bewertet Software gegen die für ihren Einsatz definierten Anforderungen und misst ihre Qualität. Die gewonnenen Erkenntnisse werden zur Erkennung und Behebung von Softwarefehlern genutzt. Tests während der… …   Deutsch Wikipedia

  • Systemumgebung — Eine Systemumgebung ist in der Informationstechnologie (IT) eine Plattform, mit der ein informationstechnisches System betrieben wird. Der Teilbegriff System wird hierbei generalisierend benutzt und in konkreten Einzelfällen i. d. R.… …   Deutsch Wikipedia

  • Multicheck — AG Rechtsform AG Gründung 1996 Sitz Konolfingen …   Deutsch Wikipedia

  • GALILEO Test- und Entwicklungsumgebung — Lage der Pseudolite rund um Berchtesgaden. Die deutsche GALILEO Test und Entwicklungsumgebung (GATE, engl. GALILEO Test and Development Environment) ist eine Testinfrastruktur, die Funksignale des zukünftigen europäischen satellitengetragenen… …   Deutsch Wikipedia

  • TMap — TMap® (Test Management Approach) ist ein Modell im Bereich des Testens und der Qualitätssicherung von Software, in der alle anfallenden Aspekte, das Umfeld und die Vorgehensweise strukturiert werden. Damit ist TMap spezieller als Prozessmodelle… …   Deutsch Wikipedia

  • Berchtesgadener Hochthron — pd1pd5 Berchtesgadener Hochthron Blick vom Stöhrweg zum Berchtesgadener Hochthron …   Deutsch Wikipedia

  • Convair X-11 — Die Convair X 11 beim Start. Die Convair X 11 (ursprüngliche Bezeichnung XSM 16A) war die erste Testumgebung für die Atlas Interkontinentalrakete. Später wurde die Convair X 12 die zweite, weiterentwickelte Testumgebung für die Atlasrakete. Es… …   Deutsch Wikipedia

  • Klik — Basisdaten klik.atekon.de klik ist ein System zur Nutzung von Software auf Linux Systemen ohne tiefgreifende Inst …   Deutsch Wikipedia

  • Migrationsstrategien (Informationstechnik) — Migrationsstrategien dienen in der Informationstechnik der Migration von Systemen, um eine Ablösung von Systemen durchzuführen. Inhaltsverzeichnis 1 Anforderungen an eine Migration 2 „Chicken Little“ Strategie 3 Database First …   Deutsch Wikipedia

  • Test-Harnisch — In der Qualitätssicherung von Software bezeichnet ein Test Harnisch eine Sammlung von Software und Testdaten, die zum systematischen automatisierten Testen eines Programms unter verschiedenen Umgebungsbedingungen verwendet wird. Dabei werden… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”