Richtlinie: Testverfahren nach Qualitätsrisiko/Testtyp
Diese Richtlinie beschäftigt sich ausführlich mit allen wichtigen Testbereichen sowie den zugehörigen Zielsetzungen, Verfahren, Prognosen, Tools und Erfolgsaussichten.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

    Daten- und Datenbankintegrität testen

Datenbanken und die Datenbankprozesse sollten als ein unabhängiges Subsystem getestet werden. Bei diesen Tests sollte nicht die Benutzerschnittstelle des Testobjekts als Schnittstelle zu den Daten verwendet werden. Um festzustellen, welche Tools und Verfahren es gibt, um die in der folgenden Tabelle angegebenen Tests zu unterstützen, muss das Datenbankmanagementsystem (DBMS) näher untersucht werden.

Zielsetzung des Verfahrens:

Führen Sie Methoden des Datenbankzugriffs und Datenbankprozesse unabhängig von der Benutzerschnittstelle aus, um Verhaltensfehler oder fehlerhafte Daten festzustellen und zu protokollieren.

Verfahren:

Rufen Sie jede Methode des Datenbankzugriffs und jeden Prozess einmal mit gültigen und einmal mit ungültigen Daten oder Datenanforderungen auf.

Überprüfen Sie die Datenbank, um sicherzustellen, dass alle Daten wie vorgesehen eingetragen wurden und alle Datenbankereignisse ordnungsgemäß eingetreten sind, oder prüfen Sie die zurückgegebenen Daten und vergewissern Sie sich, dass die richtigen Daten aus den richtigen Gründen abgerufen wurden.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

einen Imager und Restorer für die Basiskonfiguration

Tools für Sicherung und Wiederherstellung

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

SQL-Dienstprogramme und -Tools für Datenbanken

Tools für Datengenerierung

Erfolgsaussichten:

Mit dem Verfahren können alle wichtigen Methoden des Datenbankzugriffs und Datenbankprozesse getestet werden.

Spezielle Aspekte:

Für die Tests könnte eine DBMS-Entwicklungsumgebung erforderlich sein. Möglicherweise werden Treiber benötigt, um Daten direkt in der Datenbank eingeben und modifizieren zu können.

Die Prozesse sollten manuell aufgerufen werden.

Kleine Datenbanken oder Minimaldatenbanken (mit einer begrenzten Anzahl von Datensätzen) sollten verwendet werden, um die Erkennbarkeit inakzeptabler Ereignisse zu verbessern.


    Funktionstests

Bei Funktionstests des Testobjekts sollte der Schwerpunkt auf alle zu testenden Anforderungen gelegt werden, die direkt aus Anwendungsfällen oder Geschäftsfunktionen und Geschäftsregeln abgeleitet werden können. Ziel dieser Tests ist es, die ordnungsgemäße Abnahme, Verarbeitung und Abfrage von Daten sowie die angemessene Implementierung der Geschäftsregeln zu bestätigen. Diese Art von Tests basiert auf Blackbox-Verfahren, d. h., die Anwendung und ihre internen Prozesse werden durch die Interaktion mit der Anwendung auf der grafischen Benutzerschnittstelle (GUI) und durch die Analyse der Ausgaben oder Ergebnisse überprüft. Die folgende Tabelle umreißt die Tests, die für jede Anwendung empfohlen werden.

Zielsetzung des Verfahrens:

Testen Sie die Funktionalität des Testobjekts. Dazu gehört eine Überprüfung der Navigation, der Dateneingabe, der Datenverarbeitung, des Datenabrufs, bei der das Verhalten des Testobjekts beobachtet und protokolliert wird.

Verfahren:

Testen Sie alle Ereignisabläufe der Anwendungsfälle in den einzelnen Anwendungsfallszenarien oder die Funktionen und Features mit gültigen und ungültigen Daten, um Folgendes zu verifizieren:

Bei der Verwendung gültiger Daten werden die erwarteten Ergebnisse erzielt.

Bei der Verwendung ungültiger Daten werden die entsprechenden Fehlernachrichten oder Warnungen angezeigt.

Alle Geschäftsregeln werden ordnungsgemäß angewendet.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

einen Imager und Restorer für die Basiskonfiguration

Tools für Sicherung und Wiederherstellung

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Tools für Datengenerierung

Erfolgsaussichten:

Mit diesem Verfahren kann Folgendes getestet werden:

alle wichtigen Anwendungsfallszenarien

alle sichtigen Features

Spezielle Aspekte:

Bezeichnen oder beschreiben Sie die (internen oder externen) Punkte oder Fragen, die sich auf die Implementierung und Ausführung des Funktionstests auswirken.


    Geschäftszyklen testen

Tests für einen Geschäftszyklus sollten die Aufgaben emulieren, die über einen bestimmten Zeitraum für das Projekt <Projektname> ausgeführt werden. Sie sollten einen Zeitraum festlegen, z. B. ein Jahr. Führen Sie dann die Transaktionen und Aufgaben aus, die im Verlaufe eines Jahres anfallen würden. Dazu gehören alle Tages-, Wochen- und Monatszyklen sowie Ereignisse mit bestimmtem Datum, beispielsweise in Terminkalendern.

Zielsetzung des Verfahrens:

Verwenden Sie das Testobjekt gemäß den erforderlichen Geschäftsmodellen und -plänen und beobachten/protokollieren Sie das Verhalten des Objekts. Führen Sie auch die Hintergrundprozesse aus.

Verfahren:

In den Tests werden verschiedene Geschäftszyklen simuliert. Dazu werden folgende Schritte ausgeführt:

Die Funktionstests für das Testobjekt werden modifiziert oder erweitert, um die Häufigkeit zu steigern, mit der die einzelnen Funktionen ausgeführt werden, und so mehrere verschiedene Benutzer in einem angegebenen Zeitraum zu simulieren.

Alle zeit- oder datumsabhängigen Funktionen werden mit gültigen und ungültigen Datumsangaben oder Zeiträumen ausgeführt.

Alle regelmäßig wiederkehrenden Funktionen werden zur vorgesehenen Zeit ausgeführt oder gestartet.

Für die Tests werden gültige und ungültige Daten verwendet, um Folgendes zu verifizieren:

Bei der Verwendung gültiger Daten werden die erwarteten Ergebnisse erzielt.

Bei der Verwendung ungültiger Daten werden die entsprechenden Fehlernachrichten oder Warnungen angezeigt.

Alle Geschäftsregeln werden ordnungsgemäß angewendet.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

einen Imager und Restorer für die Basiskonfiguration

Tools für Sicherung und Wiederherstellung

Tools für Datengenerierung

Erfolgsaussichten:

Mit diesem Verfahren können alle kritischen Geschäftszyklen getestet werden.

Spezielle Aspekte:

Für Datumsangaben des Systems und Systemereignisse können spezielle unterstützende Aufgaben erforderlich sein.

Zur Bestimmung der geeigneten Testanforderungen und Vorgehensweisen ist ein Geschäftsmodell erforderlich.


    Benutzerschnittstelle testen

Beim Testen der Benutzerschnittstelle (UI) wird die Benutzerinteraktion mit der Software überprüft. Mit UI-Tests soll sichergestellt werden, dass der Benutzer über die UI angemessen auf die Funktionen des Testobjekts zugreifen und durch diese Funktionen navigieren kann. Mit UI-Tests kann außerdem festgestellt werden, ob die Objekte auf der Benutzerschnittstelle wie erwartet funktionieren und Firmenstandards bzw. Industrienormen entsprechen.

Zielsetzung des Verfahrens:

Führen Sie die folgenden Schritte aus, um die Konformität des Objekts mit Normen festzustellen und zu protokollieren und um das Verhalten des Zielobjekts zu beobachten/protokollieren:

Navigieren Sie gemäß den Geschäftsfunktionen und -anforderungen durch das Zielobjekt. Dazu gehören die Navigation von Fenster zu Fenster sowie von Feld zu Feld und die Anwendung von Zugriffsmethoden (Tabulatortaste, Mausbewegungen, Direktaufruftasten).

Sie können Fensterobjekte, z. B. Menüs, und Fenstermerkmale wie Größe, Position, Status und Fokus testen.

Verfahren:

Erstellen oder modifizieren Sie Tests für jedes Fenster, um die ordnungsgemäße Navigation und korrekte Objektstatus für jedes Fenster und Objekt der Anwendung zu verifizieren.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert ein Automatisierungstool für Test-Scripts.

Erfolgsaussichten:

Mit dem Verfahren können alle wichtigen Anzeigen oder Fenster getestet werden, die der Benutzer extensiv nutzen wird.

Spezielle Aspekte:

Es kann nicht auf alle Merkmale von kundenspezifischen Objekten oder Objekten von Fremdanbietern zugegriffen werden.


    Leistungsprofil erstellen

Für die Erstellung eines Leistungsprofils werden Leistungstests durchgeführt, bei denen die Antwortzeiten, Transaktionsraten und andere zeitkritische Anforderungen gemessen und bewertet werden. Ein Leitungsprofil wird erstellt, um sicherzustellen, dass die Leistungsanforderungen erfüllt werden. Leistungsprofile werden implementiert und erstellt, um das Leistungsverhalten eines Testobjekts als Funktion von Bedingungen wie der Auslastung oder Hardwarekonfigurationen zu optimieren und darzustellen.

Anmerkung: Der Begriff "Transaktionen" in der folgenden Tabelle bezieht sich auf logische Geschäftstransaktionen. Diese Transaktionen werden als spezifische Anwendungsfälle definiert, die ein Akteur des Systems wahrscheinlich mit dem Testobjekt ausführen wird. Ein Beispiel wäre das Hinzufügen oder Modifizieren eines bestimmten Vertrages.

Zielsetzung des Verfahrens:

Testen Sie das Verhalten von vorgegebenen funktionalen Transaktionen oder Geschäftsfunktionen unter den folgenden Bedingungen, um das Verhalten des Objekts und dessen Leistungsdaten zu beobachten und zu protokollieren:

anzunehmende normale Auslastung

anzunehmende maximale Auslastung

Verfahren:

Nutzen Sie Testverfahren, die für Funktionstests oder Tests von Geschäftszyklen entwickelt wurden.

Modifizieren Sie Datendateien, um die Anzahl der Transaktionen zu erhöhen, oder Scripts, um die Zahl der Iterationen pro Transaktion zu steigern.

Scripts sollten auf einer Maschine ausgeführt werden (am besten mit einem Benutzer und einer Einzeltransaktion als Benchmark) und dann mit mehreren (virtuellen oder realen) Clients wiederholt werden (siehe 'Spezielle Aspekte').

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

ein Tool zur Erstellung von Leistungsprofilen (z. B. Rational Quantify)

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Tools zur Ressourcenbeschränkung wie Canned HEAT

Erfolgsaussichten:

Mit diesem Verfahren kann Folgendes getestet werden:

Einzeltransaktion oder Einzelbenutzer: Erfolgreiche Emulation der Transaktions-Scripts ohne Ausfälle aufgrund von Problemen bei der Testimplementierung

Mehrere Transaktionen oder Benutzer: Erfolgreiche Emulation der Auslastung ohne Ausfälle aufgrund von Problemen bei der Testimplementierung

Spezielle Aspekte:

Bei umfassenden Leistungstests gibt es auf dem Server eine Hintergrundauslastung.

Dies kann mit verschiedenen Methoden erreicht werden. Dazu gehören unter anderem:

Direkte Auslösung von Transaktionen auf dem Server, in der Regel durch SQL-Aufrufe

Erzeugen einer virtuellen Benutzerauslastung, um viele Clients (in der Regel mehrere hundert) zu simulieren. Für eine solche Auslastung werden Tools für die Emulation ferner Terminals verwendet. Sie können dieses Verfahren auch anwenden, um im Netz eine Belastung mit Datenverkehr zu erzeugen.

Verwendung mehrerer physischer Clients, von denen jeder ein Test-Script ausführt, um das System zu belasten

Leistungstests sollten auf einer dedizierten Maschine oder zu einer dedizierten Zeit ausgeführt werden, um die volle Kontrolle zu haben und genaue Messungen durchführen zu können.

Die Größe der Datenbanken für Leistungstests sollte der tatsächlichen Größe entsprechen oder entsprechend skaliert werden.


    Belastung testen

Belastungstests sind Leistungstests, bei denen das Testobjekt verschiedenen Belastungen ausgesetzt wird, um das Leistungsverhalten und die Fähigkeit des Zielobjekts zur Fortsetzung eines ordnungsgemäßen Betriebs bei verschiedenen Auslastungen zu messen und einzuschätzen. Mit einem Belastungstest soll festgestellt und sichergestellt werden, dass das System auch jenseits der erwarteten maximalen Auslastung fehlerfrei funktioniert. Belastungstests dienen außerdem der Bewertung von Leistungsmerkmalen wie der Antwortzeit, der Transaktionsrate und anderer zeitkritischer Merkmale.

Anmerkung: Der Begriff "Transaktionen" in der folgenden Tabelle bezieht sich auf logische Geschäftstransaktionen. Diese Transaktionen werden als spezifische Funktionen definiert, die ein Systembenutzer wahrscheinlich mit der Anwendung ausführen wird. Ein Beispiel wäre das Hinzufügen oder Modifizieren eines bestimmten Vertrages.

Zielsetzung des Verfahrens:

Führen Sie vorgegebene Transaktionen oder Geschäftsfälle unter variierenden Lastbedingungen aus, um das Verhalten und die Systemleistungsdaten des Objekts zu beobachten und zu protokollieren.

Verfahren:

Verwenden Sie für Funktionstests oder für Tests von Geschäftszyklen entwickelte Transaktionstest-Scripts als Basis. Denken Sie jedoch daran, nicht benötigte Interaktionen und Verzögerungen zu entfernen.

Modifizieren Sie Datendateien, um die Anzahl der Transaktionen zu erhöhen, oder die Tests, um die Häufigkeit zu steigern, mit der die einzelnen Transaktionen ausgeführt werden.

Bei den Auslastungen sollten beispielsweise die tägliche und wöchentliche Arbeitslast sowie die monatliche Spitzenauslastung berücksichtigt werden.

Die Arbeitslast sollte sowohl eine durchschnittliche als auch eine Spitzenbelastung repräsentieren.

In den Arbeitslasten sollten kurzzeitige als auch anhaltende Lastspitzen enthalten sein.

Die Arbeitsbelastungen sollten mit verschiedenen Konfigurationen der Testumgebung getestet werden.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

Tool zur Terminplanung und Steuerung von Transaktionslasten

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Tools zur Ressourcenbeschränkung wie Canned HEAT

Tools für Datengenerierung

Erfolgsaussichten:

Mit diesem Verfahren können emulierte Auslastungen getestet werden. Eine erfolgreiche Emulation der Auslastung verläuft ohne Ausfälle aufgrund von Problemen bei der Testimplementierung.

Spezielle Aspekte:

Belastungstests sollten auf einer dedizierten Maschine oder zu einer dedizierten Zeit ausgeführt werden, um die volle Kontrolle zu haben und genaue Messungen durchführen zu können.

Die Größe der Datenbanken für Belastungstests sollte der tatsächlichen Größe entsprechen oder entsprechend skaliert werden.


    Stresstests

Stresstests sind Leistungstests, die implementiert und ausgeführt werden, um festzustellen, wie es unter Grenzbedingungen oder außerhalb des erwarteten Toleranzbereichs zu einem Systemausfall kommen kann. Zu solchen Ausfällen kommt es in der Regel bei knappen Ressourcen oder bei einem Wettbewerb um Ressourcen. Unter Bedingungen mit wenigen Ressourcen kann aufgedeckt werden, wie es bei einem Testobjekt zu Störungen kommt, die sich unter normalen Bedingungen nicht feststellen lassen. Beim Wettbewerb um gemeinsam genutzte Ressourcen können weitere Störungen auftreten, z. B. Datenbanksperren oder eine nicht ausreichende Netzbandbreite. Einige dieser Störungen werden normalerweise von Funktions- oder Belastungstests erfasst.

Anmerkung: Der Begriff "Transaktionen" in der folgenden Tabelle bezieht sich auf logische Geschäftstransaktionen.

Zielsetzung des Verfahrens:

Testen Sie die Funktionen des Testobjekts unter den folgenden Stressbedingungen, um das Verhalten des Objekts zu beobachten und zu protokollieren. So können Sie die Bedingungen feststellen und dokumentieren, unter denen das System aufhört, ordnungsgemäß zu funktionieren:

wenig oder kein Speicher auf dem Server verfügbar (Arbeitsspeicher und permanenter Speicherbereich)

tatsächliche oder physisch realisierbare Maximalanzahl angeschlossener oder simulierter Clients

mehrere Benutzer, die dieselbe Transaktion für dieselben Daten oder Accounts ausführen

Transaktionsaufkommen oder Kombinationen von Transaktionen, bei denen es zur Überlastung kommt (siehe obigen Abschnitt 'Leistungsprofil erstellen')

Verfahren:

Verwenden Sie Tests, die für die Erstellung von Leistungsprofilen oder Belastungstests entwickelt wurden.

Wenn Sie begrenzte Ressourcen testen möchten, führen Sie die Tests auf nur einer Maschine aus. Der Arbeitsspeicher und der permanente Speicher auf dem Server sollte eingeschränkt sein.

Für die übrigen Stresstests sollten mehrere Clients verwendet werden, mit denen identische oder komplementäre Tests ausgeführt werden, um das Worst-Case-Szenario für das Transaktionsaufkommen oder die Kombination von Transaktionen zu erzeugen.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

Tool zur Terminplanung und Steuerung von Transaktionslasten

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Tools zur Ressourcenbeschränkung wie Canned HEAT

Tools für Datengenerierung

Erfolgsaussichten:

Mit diesem Verfahren kann emulierter Stress getestet werden. Für das System können erfolgreich Bedingungen emuliert werden, die als Stress definiert sind. Das Verfahren ermöglicht die Beobachtung und Erfassung des Systemzustands während und nach der Stressemulation.

Spezielle Aspekte:

Zur Erzeugung von Stress im Netz können Netztools erforderlich sein, die das Netz mit Nachrichten oder Paketen belasten.

Der permanenter Speicher des Systems sollte temporär reduziert werden, um den für das Anwachsen der Datenbank verfügbaren Speicherplatz zu beschränken.

Die parallelen Clientzugriffe auf dieselben Datensätze oder Datenaccounts müssen synchronisiert werden.


     Volumen testen

Beim Volumentest wird das Testobjekt einer großen Datenmenge ausgesetzt, um festzustellen, ob Grenzen erreicht werden, die einen Softwareausfall oder -fehler bewirken. Mit Volumentests kann ermittelt werden, welche kontinuierliche maximale Last bzw. welches kontinuierliche maximale Volumen das Testobjekt über einen bestimmten Zeitraum bewältigen kann. Wenn das Testobjekt beispielsweise eine Reihe von Datenbanksätzen verarbeitet, um einen Bericht zu generieren, könnten Sie für einen Volumentest eine große Testdatenbank verwenden und überprüfen, ob sich die Software normal verhält und den richtigen Bericht erzeugt.

Zielsetzung des Verfahrens:

Testen Sie die Funktionen des Testobjekts in den folgenden Szenarien mit hohem Volumen, um das Verhalten des Objekts zu beobachten und zu protokollieren:

Tatsächliche oder physisch realisierbare maximale Anzahl angeschlossener oder simulierter Clients, die über einen vorgegebenen Zeitraum alle dieselbe Geschäftsfunktion (Worst-Case-Szenario) ausführen

Die maximale Datenbankgröße ist erreicht (tatsächlich oder durch Skalierung) und mehrere Transaktionen für Abfragen oder Berichte werden gleichzeitig ausgeführt.

Verfahren:

Verwenden Sie Tests, die für die Erstellung von Leistungsprofilen oder Belastungstests entwickelt wurden.

Mit mehreren Clients werden identische oder komplementäre Tests ausgeführt, um das Worst-Case-Szenario für das Transaktionsaufkommen oder die Kombination von Transaktionen über einen längeren Zeitraum zu erzeugen (siehe Stresstests).

Es wird eine Datenbank maximaler Größe erstellt (tatsächlich, durch Skalierung oder durch Eingabe repräsentativer Daten), und mehrere Clients führen parallel und über einen längeren Zeitraum Transaktionen für Abfragen und Berichte aus.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

Tool zur Terminplanung und Steuerung von Transaktionslasten

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Tools zur Ressourcenbeschränkung wie Canned HEAT

Tools für Datengenerierung

Erfolgsaussichten:

Mit diesem Verfahren kann ein emuliertes Volumen getestet werden. Große Mengen von Benutzern, Daten, Transaktionen oder andere Volumenaspekte können erfolgreich emuliert werden. Das Verfahren ermöglicht die Beobachtung und Erfassung von Systemstatusänderungen im Verlauf der Volumentests.

Spezielle Aspekte:

Welcher Zeitraum ist für Bedingungen mit hohem Volumen, wie sie oben geschildert wurden, angemessen?


    Sicherheit und Zugriffssteuerung testen

Beim Testen der Sicherheit und der Zugriffssteuerung liegt der Schwerpunkt auf zwei Sicherheitsbereichen:

Sicherheit auf Anwendungsebene, einschließlich des Zugriffs auf die Daten oder Geschäftsfunktionen

Sicherheit auf Systemebene, einschließlich der Anmeldung beim System oder des Fernzugriffs auf das System

Ausgehend von Ihren Sicherheitsanforderungen kann die Sicherheit auf Anwendungsebene gewährleisten, dass sich Akteure auf Funktionen oder Anwendungsfälle beschränken oder dass den Akteuren nur begrenzte Daten zur Verfügung stehen. Es wäre beispielsweise möglich, dass jeder Daten eingeben und neue Accounts erstellen kann, diese Daten und Accounts jedoch nur von Managern gelöscht werden dürfen. Falls es Sicherheitsvorkehrungen auf der Datenebene gibt, kann mit diesen Tests sichergestellt werden, dass der "Benutzer des Typs eins" alle Kundeninformationen sehen kann (einschließlich finanzieller Daten), der "Benutzer des Typs 2" für denselben Kunden jedoch nur demographische Daten sieht.

Die Sicherheit auf Systemebene gewährleistet, dass nur Benutzer mit erteilter Zugriffsberechtigung über die entsprechenden Gateways auf die Anwendungen zugreifen können.

Zielsetzung des Verfahrens:

Testen Sie das Testobjekt unter den folgenden Bedingungen, um das Verhalten des Objekts zu beobachten und zu protokollieren:

Sicherheit auf Anwendungsebene: Ein Akteur kann nur auf die Funktionen oder Daten zugreifen, für die sein Benutzertyp berechtigt ist.

Sicherheit auf Systemebene: Nur Akteure mit Zugriffsberechtigung für das System und die Anwendungen haben Zugriff.

Verfahren:

Sicherheit auf Anwendungsebene: Benennen Sie alle Benutzertypen und listen Sie die Funktionen oder Daten auf, für die jeder einzelne Typ eine Zugriffsberechtigung hat.

Entwickeln Sie Tests für jeden Benutzertyp und verifizieren Sie die Berechtigungen, indem Sie spezifische Transaktionen für die verschiedenen Benutzertypen erstellen.

Modifizieren Sie den Benutzertyp und wiederholen Sie die Tests mit denselben Benutzern. Überprüfen Sie in jedem einzelnen Fall, ob die zusätzlichen Funktionen oder Daten richtigerweise verfügbar oder nicht verfügbar sind.

Systemzugriff: siehe Abschnitt 'Spezielle Aspekte'

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

ein Automatisierungstool für Test-Scripts

Hacker-Tools für Sicherheitsverletzungen und Sonden

Sicherheitsverwaltungstools für das Betriebssystem

Erfolgsaussichten:

Mit dem Verfahren können die von Sicherheitseinstellungen betroffenen Funktionen oder Daten für alle bekannten Arten von Akteuren getestet werden.

Spezielle Aspekte:

Der Zugriff auf das System muss mit dem jeweiligen Netz- oder Systemadministrator besprochen werden. Möglicherweise sind diese Tests nicht erforderlich, da sie in den Zuständigkeitsbereich des Netz- oder Systemadministrators fallen.


    Funktionsübernahme und Wiederherstellung testen

Durch das Testen von Funktionsübernahme und Wiederherstellung kann sichergestellt werden, dass bei diversen Fehlfunktionen der Hardware, der Software oder des Netzes ein Ausweichbetrieb für das Testobjekt oder eine Wiederherstellung des Testobjekts ohne Datenverlust oder eine Verletzung der Datenintegrität möglich ist.

Für Systeme im Dauerbetrieb kann ein Funktionsübernahmetest sicherstellen, dass das alternative System oder Ausweichsystem unter den entsprechenden Bedingungen die Funktionen des ausgefallenen Systems übernimmt, ohne dass es zu einem Verlust von Daten oder Transaktionen kommt.

Der Wiederherstellungstest ist ein antagonistischer Testprozess, bei dem die Anwendung oder das System extremen oder simulierten Bedingungen ausgesetzt wird, um einen Fehler/Ausfall hervorzurufen, z. B. einen E/A-Fehler einer Einheit oder ungültige Datenbankzeiger und -schlüssel. Es werden Wiederherstellungsprozesse aufgerufen. Die Anwendung oder das System wird überwacht und untersucht, um zu verifizieren, dass die Anwendung, das System oder die Daten ordnungsgemäß wiederhergestellt wurden.

Zielsetzung des Verfahrens:

Simulieren Sie die Fehlerbedingungen und führen Sie eine (manuelle und automatisierte) Wiederherstellung durch, um die Datenbank, die Anwendungen und das System in den bekannten Sollstatus zurückzuversetzen. Für diese Tests sind unter anderem die folgenden Arten von Bedingungen erforderlich, um das Verhalten nach der Wiederherstellung zu beobachten und zu protokollieren:

Unterbrechung der Stromzufuhr zum Client

Unterbrechung der Stromzufuhr zum Server

Unterbrechung der Kommunikation zwischen Netzservern

Unterbrechung der Kommunikation von DASD-Einheiten und -Controllern oder Unterbrechung der Stromzufuhr zu diesen Einheiten und Controllern

unvollständige Zyklen (unterbrochene Datenfilterprozesse, unterbrochene Datensynchronisationsprozesse)

ungültige Datenbankzeiger oder -schlüssel

ungültige oder beschädigte Datenelemente in der Datenbank

Verfahren:

Die für Funktionstests und Tests von Geschäftszyklen entwickelten Testverfahren können als Basis für die Erstellung einer Reihe von Transaktionen verwendet werden, die beim Testen der Funktionsübernahme und Wiederherstellung eingesetzt werden. Dies gilt insbesondere für die Tests, mit denen der Erfolg der Wiederherstellung nachgewiesen werden soll.

Unterbrechung der Stromzufuhr zum Client: Schalten Sie den PC aus.

Unterbrechung der Stromzufuhr zum Server: Simulieren Sie die Ausschaltprozedur für den Server oder leiten Sie die Prozedur tatsächlich ein.

Unterbrechung der Kommunikation zwischen Netzservern: Simulieren Sie den Verlust der Kommunikation mit dem Netz oder leiten Sie den entsprechenden Prozess tatsächlich ein (Abziehen der Übertragungskabel oder Abschalten von Netzservern/-routern).

Unterbrechung der Kommunikation von DASD-Einheiten und -Controllern oder Unterbrechung der Stromzufuhr zu diesen Einheiten und Controllern: Simulieren Sie den Ausfall der Kommunikation mit mindestens einer DASD-Einheit oder mindestens einem DASD-Controller oder unterbrechen Sie die Kommunikation physisch.

Sobald die oben beschriebenen Bedingungen oder deren Simulation erreicht ist, sollten Sie zusätzliche Transaktionen ausführen. An diesem Testpunkt sollten die Wiederherstellungsprozeduren aufgerufen werden.

Beim Testen auf unvollständige Zyklen werden dieselben Verfahren wie oben angewendet, nur dass hier die Datenbankprozesse abgebrochen bzw. vorzeitig beendet werden.

Beim Testen der folgenden Bedingungen muss ein bekannter Datenbankstatus erreicht werden. Verwenden Sie Datenbanktools, um mehrere Datenbankfelder, -zeiger und -schlüssel manuell und direkt in der Datenbank zu beschädigen. Führen Sie zusätzliche Transaktionen aus. Ziehen Sie dazu die Tests der Anwendungsfunktionen, Geschäftszyklen und vollständigen Zyklen heran.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

einen Imager und Restorer für die Basiskonfiguration

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Tools für Sicherung und Wiederherstellung

Erfolgsaussichten:

Mit diesem Verfahren kann Folgendes getestet werden:

simulierte Katastrophen mit verschiedenen Kombinationen aus Anwendung, Datenbank und System

simulierte Wiederherstellung eines bekannten Sollstatus mit verschiedenen Kombinationen aus Anwendung, Datenbank und System

Spezielle Aspekte:

Wiederherstellungstests sind ein erheblicher Systemeingriff. Das Abziehen von Kabeln (für eine Unterbrechung der Stromzufuhr oder der Kommunikation) ist unter Umständen nicht erwünscht oder machbar. Es können alternative Methoden erforderlich sein, z. B. die Verwendung von Softwarediagnosetools.

Es werden Ressourcen der Systeme (Computeroperationen), der Datenbank und der Netzgruppen benötigt.

Diese Tests sollten nach Geschäftsschluss oder auf einer isolierten Maschine durchgeführt werden.


    Konfiguration testen

Mit Konfigurationstests wird der Betrieb des Testobjekts in unterschiedlichen Software- und Hardwarekonfigurationen überprüft. In den meisten Produktionsumgebungen variieren die Hardwarespezifikationen für die Clientworkstations, die Netzverbindungen und die Datenbankserver. Die Clientworkstations können verschiedene Software (Anwendungen, Treiber usw.) geladen haben und bei Verwendung unterschiedlicher Ressourcen sind jederzeit zahlreiche verschiedene Kombinationen möglich.

Zielsetzung des Verfahrens:

Untersuchen Sie das Testobjekt in den erforderlichen Hardware- und Softwarekonfigurationen, um das Verhalten des Objekts in den verschiedenen Konfigurationen zu beobachten und zu protokollieren. Geben Sie die Änderungen des Konfigurationsstatus an.

Verfahren:

Verwenden Sie die Scripts für Funktionstests.

Öffnen und schließen Sie im Rahmen des Tests oder vor Testbeginn verschiedene Softwareanwendungen mit Bezug zum Testobjekt, z. B. Microsoft® Excel® und Microsoft® Word®.

Führen Sie ausgewählte Transaktionen aus, um die Interaktion von Akteuren mit dem Testobjekt und der Software, die nicht Gegenstand des Tests ist, zu simulieren.

Wiederholen Sie den obigen Prozess unter Minimierung des verfügbaren herkömmlichen Speichers auf der Clientworkstation.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

einen Imager und Restorer für die Basiskonfiguration

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Erfolgsaussichten:

Mit diesem Verfahren können Kombinationen von Testobjektelementen in erwarteten unterstützten Deployment-Umgebungen ausgeführt werden.

Spezielle Aspekte:

Welche Software wird über das Testobjekt hinaus benötigt, ist verfügbar und auf dem Desktop zugänglich?

Welche Anwendungen werden normalerweise benutzt?

Welche Daten werden mit den Anwendungen bearbeitet (z. B. eine große Tabellenkalkulation in Excel oder ein hundertseitiges Dokument in Word)?

Im Rahmen dieses Tests müssen die Netware, Netzserver, Datenbanken usw. des gesamten Systems dokumentiert werden.


    Installation testen

Installationstests werden aus zwei Gründen durchgeführt. Zum einen soll sichergestellt werden, dass die Software unter unter normalen und anormalen Bedingungen auf verschiedene Weise (Neuinstallation, Upgrade, vollständige oder benutzerdefinierte Installation) installiert werden kann. Anormale Bedingungen wären unzureichender Plattenspeicherplatz, fehlende Berechtigung für das Anlegen von Verzeichnissen usw. Zum anderen soll verifiziert werden, dass die Software nach der Installation fehlerfrei ausgeführt werden kann. Zu diesem Zweck müssen in der Regel mehrere Tests ausgeführt werden, die als Funktionstests entwickelt wurden.

Zielsetzung des Verfahrens:

Installieren Sie das Testobjekt mit jeder erforderlichen Hardwarekonfiguration und unter den folgenden Bedingungen, um das Installationsverhalten und Änderungen des Konfigurationsstatus beobachten und protokollieren zu können:

Neuinstallation: neue Maschine, die noch nicht im Rahmen des Projekts <Projektname> installiert wurde

Update: eine Maschine, die bereits für das Projekt <Projektname> installiert wurde (selbe Version)

Update: eine Maschine, die bereits für das Projekt <Projektname> installiert wurde (ältere Version)

Verfahren:

Entwickeln Sie automatisierte oder manuelle Scripts zur Validierung des Zustandes der Zielmaschine.

Verwenden Sie eine neue Maschine, die bisher nicht für das Projekt <Projektname> installiert wurde.

Verwenden Sie eine Maschine, die bereits für das Projekt <Projektname> installiert wurde (identische oder ältere Version).

Starten Sie die Installation oder führen Sie sie aus.

Führen Sie die Transaktionen aus. Verwenden Sie dafür eine vorab definierte Gruppe der Funktionstest-Scripts.

Prognosen:

Umreißen Sie mindestens eine Strategie, die eine exakte Beobachtung der Testergebnisse durch das Verfahren ermöglicht. Für eine Prognose werden Elemente der Methode, mit der die Beobachtungen angestellt werden können, mit den Kenndaten eines bestimmten Ergebnisses verbunden, um einen wahrscheinlichen Erfolg oder Misserfolg anzugeben. Mit einer Prognose wird auf der Basis automatisierter Tests eine erste Einschätzung darüber abgegeben, ob ein Test bestanden oder nicht bestanden wird. Im Idealfall sind Prognosen selbsterfüllende Prophezeiungen. Geben Sie jedoch Acht, nicht die Risiken einer automatisierten Bestimmung von Resultaten zu unterschätzen.

Erforderliche Tools:

Das Verfahren erfordert folgende Tools:

einen Imager und Restorer für die Basiskonfiguration

Tools für Installationsüberwachung (Registry, Festplatte, CPU, Speicher usw.)

Erfolgsaussichten:

Mit diesem Verfahren kann die Installation des entwickelten Produkts in verschiedenen Konfigurationen getestet werden.

Spezielle Aspekte:

Welche Transaktionen des Projekts <Projektname> sollten für einen Test ausgewählt werden, mit dem nachgewiesen werden kann, dass die Anwendung für das Projekt <Projektname> erfolgreich installiert wurde und dass keine wichtigen Softwarekomponenten fehlen?