Für die Durchführung effizienter und effektiver Tests ist eine angemessene Testinfrastruktur unerlässlich. Diese Infrastruktur bildet die Grundlage für die Simulation von realen
Anwendungsbedingungen und ermöglicht es den Testteams, Softwarequalität und Leistungsfähigkeit umfassend zu bewerten.
Hier ist eine detaillierte Auflistung der Testinfrastruktur, die für ein umfassendes Testen notwendig sein könnte:
Die Testplattformen sind ein zentraler Bestandteil der Testinfrastruktur und sollten sorgfältig ausgewählt werden, um eine breite Abdeckung der Zielumgebungen zu gewährleisten.
-
Hardware-Spezifikation (HW-Spezifikation)
Umfasst Server, Clients, mobile Geräte, Netzwerkgeräte und andere Hardware-Komponenten, die für die Durchführung der Tests benötigt werden. Die Spezifikationen sollten die Prozessorleistung,
den Speicher, die Speichergröße und andere relevante Hardwaremerkmale enthalten.
-
Software-Spezifikation (SW-Spezifikation)
Bezieht sich auf die auf den Testplattformen installierte Software, einschließlich Betriebssysteme, Datenbanken, Webserver, Anwendungssoftware und andere Tools. Die Versionen und
Konfigurationen der Software sollten genau definiert werden.
-
Netzwerk-Topologie
Beschreibt die Konfiguration des Netzwerks, das die Testplattformen verbindet, einschließlich Router, Switches, Firewalls und anderer Netzwerkkomponenten.
-
Betriebssysteme
Liste der Betriebssysteme, die auf den Testplattformen verwendet werden, einschließlich Versionen und Patches.
Die Organisation und Einrichtung von Teststandorten und Testarbeitsplätzen ist ein wesentlicher Faktor für die erfolgreiche Durchführung von Softwaretests. Insbesondere bei standortübergreifenden
Tests sind die Koordination und die technische Ausstattung von großer Bedeutung.
-
Geografische Standorte
Die Standorte, an denen Tests durchgeführt werden, sollten genau dokumentiert werden. Dies können Bürostandorte des Unternehmens, Offshore-Testzentren oder remote Arbeitsplätze sein.
-
Physische und virtuelle Testlabors
Einrichtung spezialisierter Testlabors mit notwendiger Hardware und Netzwerkzugängen. Zusätzlich können virtuelle Labors eingerichtet werden, um Flexibilität und schnelle Skalierung zu
ermöglichen.
-
Datenzentren
Informationen zu den Datenzentren, wo die Server und Speichersysteme für Testumgebungen gehostet werden, sollten verfügbar sein. Dies umfasst sowohl physische als auch Cloud-basierte
Infrastrukturen.
-
Arbeitsplatzkonfiguration
Jeder Testarbeitsplatz sollte entsprechend den Anforderungen des Testprozesses ausgestattet sein. Dies beinhaltet unter anderem leistungsfähige PCs oder Laptops, mehrere Monitore für
effizientes Arbeiten und spezielle Hardware für Performance-Tests.
-
Softwaretools
Eine zuverlässige IT-Infrastruktur mit Zugang zu Testmanagement- und Automatisierungstools, Entwicklungs- und Debugging-Software und gängigen Büroanwendungen.
-
Mobile Testgeräte
Für das Mobile Testing sind diverse mobile Endgeräte mit verschiedenen Betriebssystemversionen und Bildschirmgrößen erforderlich.
-
Netzwerkzugang
Sichere und schnelle Netzwerkverbindungen sind unerlässlich, insbesondere wenn Cloud-basierte Testumgebungen oder Tools verwendet werden.
-
Sicherheitsrichtlinien
Für die Legitimationen von Testusern müssen klare Sicherheitsrichtlinien definiert werden, um den unbefugten Zugang zu verhindern.
-
Berechtigungsstufen
Die Berechtigungen sollten entsprechend der Rolle des Testers gestaffelt und dokumentiert werden. Dies erleichtert die Nachvollziehbarkeit und Überprüfung der Berechtigungskonzepte.
-
Verwaltung der Zugangsdaten
Die Zugangsdaten für Testuser müssen sicher verwaltet werden. Hierfür eignen sich professionelle Passwort-Management-Tools.
-
Standortübergreifende Koordination
Bei Tests, die an verschiedenen Standorten durchgeführt werden, sind eine gute Kommunikation und Koordination unerlässlich. Hierzu sollten entsprechende Tools und regelmäßige Abstimmungen
eingeplant werden.
-
Remote-Testing
Um Remote-Testing zu ermöglichen, sollten VPN-Zugänge und Remote-Desktop-Lösungen zur Verfügung stehen.
-
Arbeitsplatzreservierung
Für physische Testlabors kann ein Reservierungssystem erforderlich sein, um sicherzustellen, dass Testressourcen effektiv genutzt werden.
Die Testdaten bilden die Grundlage für realistische und effektive Testläufe. Die Anforderungen an die Testdaten variieren je nach Testtyp und umfassen in der Regel:
-
Repräsentative Daten
Die Daten müssen typische Geschäftsvorfälle widerspiegeln, um eine realistische Testumgebung zu schaffen.
-
Randwertdaten
Daten, die am Rand des erwarteten Wertebereichs liegen, um die Grenzen der Anwendung zu testen.
-
Fehlerhafte Daten
Ungültige oder fehlerhafte Daten, um die Fehlertoleranz und -behandlung zu prüfen.
-
Leistungsdaten
Große Datensätze und Transaktionsvolumen zur Durchführung von Performance- und Lasttests.
Die Beschaffung von Testdaten kann auf verschiedene Arten erfolgen:
-
Datenextraktion
Extraktion aus bestehenden Systemen, vorzugsweise aus der Produktionsumgebung, um die Authentizität zu gewährleisten.
-
Datengenerierung
Verwendung von Tools zur Generierung von Testdaten, wenn reale Daten nicht verfügbar oder ungeeignet sind.
-
Datenklopfen
Kopieren und Anpassen realer Datensätze aus ähnlichen Anwendungen oder älteren Systemversionen.
Die Pseudonymisierung von Testdaten ist erforderlich, um die Privatsphäre und den Datenschutz zu wahren, insbesondere wenn echte Produktionsdaten verwendet werden.
-
Rechtliche Anforderungen
Vor der Pseudonymisierung ist es wichtig, die rechtlichen Anforderungen, wie die DSGVO, zu verstehen und zu befolgen.
-
Methoden der Pseudonymisierung
Es können verschiedene Ansätze verfolgt werden, z. B. das Ersetzen von Namen und Adressen durch zufällige, aber plausible Werte, die Veränderung von Datumsangaben oder das Entfernen von
Identifikationsnummern.
-
Automatisierung
Für die Pseudonymisierung können automatisierte Tools verwendet werden, die speziell dafür entwickelt wurden, große Datensätze effizient zu bearbeiten.
-
Nachbearbeitung
Überprüfung der Testdaten nach der Pseudonymisierung, um sicherzustellen, dass keine Rückschlüsse auf echte Personen möglich sind.
- Analyse der Testanforderungen
Feststellung, welche Arten von Daten für die verschiedenen Tests benötigt werden.
- Auswahl der Datenquellen
Entscheidung, ob Daten extrahiert, generiert oder kopiert werden sollen.
- Entwicklung eines Pseudonymisierungsplans
Festlegung der spezifischen Techniken und Werkzeuge für die Pseudonymisierung der Daten.
- Durchführung der Pseudonymisierung
Implementierung der Pseudonymisierungsverfahren, ggf. mit Hilfe von Softwaretools.
- Überprüfung und Validierung
Sicherstellung, dass die pseudonymisierten Daten keine sensiblen Informationen enthalten und für Testzwecke geeignet sind.
- Bereitstellung der Testdaten
Stellen Sie die Daten in den entsprechenden Testumgebungen bereit und stellen Sie sicher, dass sie für die Tester zugänglich sind.
Durch die Einhaltung derartiger Verfahren kann sicher gestellt werden, dass die Testdaten zuverlässig, sicher und konform mit den Datenschutzgesetzen sind, was die Integrität und Legitimität des
Testprozesses weiter stärkt.
Die Bereitstellung und Verwaltung verschiedener Testumgebungen ist bedeutend, um sicherzustellen, dass die Software unter Bedingungen getestet wird, die den verschiedenen Stadien der Entwicklung
und Freigabe entsprechen.
-
Zweck
In dieser Umgebung erfolgen die erste Phase des Testens und die Entwicklung neuer Funktionen. Sie wird hauptsächlich von Entwicklern genutzt, um neue Code-Updates schnell zu integrieren und
zu testen, bevor sie an das QA-Team weitergeleitet werden.
-
Setup
Die Entwicklungsumgebung enthält oft mehrere Entwicklungsbranchen und ist weniger stabil, da hier kontinuierlich neue Features hinzugefügt werden.
-
Zweck
Diese Umgebung dient zum Durchführen umfassender Tests, einschließlich Integrations-, Funktions- und Regressionstests. Sie ist von der Entwicklungsumgebung isoliert und ähnelt der
Produktionsumgebung, um realistische Testbedingungen zu gewährleisten.
-
Setup
Die Testumgebung sollte alle für die Tests notwendigen Softwarekonfigurationen und Hardwareanforderungen der Produktionsumgebung nachbilden, jedoch ohne die tatsächlichen Produktionsdaten zu
verwenden.
-
Zweck
Die Staging-Umgebung dient als letzte Testphase vor der Freigabe und ist eine Vorproduktionsumgebung. Hier werden die Release-Kandidaten unter Bedingungen getestet, die denen der
Produktionsumgebung sehr nahe kommen, um die letzte Validierung vor der Live-Schaltung zu ermöglichen.
-
Setup
Diese Umgebung spiegelt die Produktionsumgebung so genau wie möglich wider und wird für die End-to-End-Tests, Benutzerakzeptanztests und Sicherheitstests verwendet.
-
Zweck
Eine produktionsähnliche Umgebung wird für Pre-Release-Tests und Leistungsbewertung eingesetzt. Sie ist besonders wichtig, um die Performance und das Verhalten der Anwendung unter
produktionsähnlichen Bedingungen zu evaluieren, ohne das Risiko einzugehen, die tatsächliche Produktionsumgebung zu beeinträchtigen.
-
Setup
Diese Umgebung ist identisch zur Produktionsumgebung und wird oft mit geklonten, anonymisierten Produktionsdaten betrieben, um ein realistisches Testbild zu gewährleisten.
Die Implementierung - sofern darstellbar - von zwei separaten Testsystemen ist aus folgenden Gründen zu empfehlen:
- Vermeidung von Engpässen
Durchführen von Batchtests und manuellen Tests auf einem einzelnen System kann zu signifikanten Verzögerungen führen.
- Redundanz
Bei einem Systemausfall kann das zweite System die Fortführung der Tests gewährleisten, was eine kontinuierliche Produktivität sicherstellt.
- Schulungen und Tests
Die gleichzeitige Nutzung eines Systems für Schulungen und Tests kann zu Konflikten und Verzögerungen führen.
- Unabhängigkeit von Entwicklungen
Änderungen sollten die Verfügbarkeit oder Leistung des Testsystems nicht beeinträchtigen.
Die Bereitstellung von zwei getrennten Testsystemen bietet die nötige Flexibilität und Redundanz, um die Testphasen effizient und ohne unnötige Unterbrechungen zu managen.
-
Erstes System – Reines Testsystem
Dieses System wird ausschließlich für Testzwecke verwendet. Hier werden alle Formen von Tests durchgeführt, einschließlich Integrationstests, Performance-Tests und Sicherheitstests.
-
Zweites System – Test- und Schulungssystem
Dieses System dient sowohl als Plattform für weiterführende Tests als auch für Schulungszwecke. Dies ermöglicht eine flexible Nutzung ohne Beeinträchtigung der primären Testaktivitäten auf
dem ersten System.
-
Benutzerkonten
Um eine umfassende Testabdeckung zu gewährleisten, erhalten alle Tester mehrere Testuser-Zugänge mit unterschiedlich abgestuften Berechtigungen. Dies ermöglicht es den Testern, verschiedene
Benutzerrollen und das Vieraugenprinzip unabhängig zu testen.
-
Verantwortlichkeit und Sicherheit
Jeder Tester ist für die Sicherheit und Vertraulichkeit seiner Zugangsdaten verantwortlich. Die Weitergabe von Zugangsdaten an Dritte ist strengstens untersagt.
-
Verfügbarkeit
Die Testumgebungen sind möglichst durchgehend verfügbar sein, um eine flexible Testdurchführung zu ermöglichen.
-
Support und Hotline
Eine Hotline sollte eingerichtet werden, um auch außerhalb der Kernarbeitszeiten Unterstützung bei Problemen bieten zu können.
Regelmäßige Wartungsfenster sollten möglichst nicht vorgesehen werdenn, das minimiert Störungen in den Testprozessen.
Fehlerupdates sollten hingegen mindestens einmal pro Woche eingespielt werden, um eine höhere Integrität und Aussagekraft der Testergebnisse zu gewährleisten.
- Planung und Terminierung
- Definieren Sie frühzeitig im Entwicklungszyklus, welche Testphasen erforderlich sind und wann jede Umgebung bereitstehen muss. Dies hilft, Engpässe zu vermeiden und stellt sicher,
dass die Umgebungen rechtzeitig für die jeweiligen Testphasen zur Verfügung stehen.
- Umgebungsmanagement
- Implementieren Sie ein Umgebungsmanagement-Tool oder -System, um den Status jeder Umgebung zu überwachen und zu verwalten. Dies sollte auch Funktionen zur Reservierung und Freigabe
von Umgebungen für bestimmte Testphasen umfassen.
- Datenvorbereitung
- Stellen Sie sicher, dass die notwendigen Testdaten in den Umgebungen vorbereitet und verfügbar sind. Dies kann das Anonymisieren von Produktionsdaten oder das Erstellen spezifischer
Testdatensätze umfassen.
- Wartung und Aktualisierung
- Planen Sie regelmäßige Wartungsarbeiten für jede Umgebung, um sicherzustellen, dass sie aktualisiert und frei von veralteten Daten oder Konfigurationen bleibt.
- Zugangsmanagement
- Verwalten Sie den Zugang zu den Umgebungen streng und stellen Sie sicher, dass nur autorisierte Benutzer Zugriff haben, besonders in den kritischeren Staging- und produktionsähnlichen
Umgebungen.