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