Richtlinien zur Anpassung von Datenkorrelationen

Automatisierte Datenkorrelationen erfordern manchmal manuelle Anpassungen, und komplexe manuelle Korrelationen erfordern manchmal detaillierte Kenntnisse darüber, wie die getestete Anwendung implementiert wird.

Wenn Sie einen Test ausführen, stellen Sie möglicherweise fest, dass der Server nicht die erwartete Auslastung aufweist oder Ihre Datenbank nicht wie erwartet aktualisiert wird. Diese Probleme werden häufig durch eine unvollständige oder falsche Datenkorrelation verursacht. Es folgt eine Beschreibung der empfohlenen Vorgehensweise, um Probleme der Datenkorrelation frühzeitig zu erkennen:
  • Führen Sie einen Test einzeln aus. (Wenn Sie ihn im Rahmen eines Zeitplans ausführen, setzen Sie im Zeitplan-Editor die Einstellung Protokollebene für Ausführungsprotokoll auf Alle. Dies ist die Standardeinstellung, wenn Sie einen Test als Einzeltest ausführen.)
  • Nachdem die Ausführung des Tests abgeschlossen ist, öffnen Sie das Ausführungsprotokoll, wie es unter Ausführungsprotokoll öffnen beschrieben ist.
  • Prüfen Sie, ob bei jedem Aufruf des Servers die erwarteten Daten zurückgegeben wurden, wie es unter Details des Ausführungsprotokolls in der Ansicht "Protokolldaten" prüfen beschrieben ist.

Die Algorithmen für die Datenkorrelation des Testgenerators basieren auf bewährten Verfahren, die von Anwendungsentwicklern eingehalten werden. Da sich diese Verfahren ständig weiterentwickeln, können folgende Arten von Fehlern bei der automatisierten Datenkorrelation auftreten:

Unzureichende Korrelation: Parameter weisen unterschiedliche Namen auf oder sind an unerwarteten Positionen angegeben

Wenn zwei Parameter, die korreliert werden sollen, unterschiedliche Namen aufweisen, wird bei der automatisierten Datenkorrelation nicht erkannt, dass diese zwei Parameter miteinander in Beziehung stehen. Ein Beispiel wäre die Anforderung "http://www.madeupsite.com?id=12345". Statt "id=12345" lautet die Serverantwort, mit der diese Anforderung korreliert werden soll, "customer_id=12345". Der Parameter "id" muss mit "customer_id" korreliert werden.

Auf ähnliche Weise wird bei der Datenkorrelation in der Regel ein vom Server zurückgegebener Antwortwert mit einem nachfolgenden Anforderungswert in Beziehung gesetzt. Mit den Algorithmen der automatisierten Korrelation wird an den üblichen Orten (URL und POST-Daten) nach Korrelationskandidaten gesucht. Es sind aber auch andere Schemata für die Rückgabe von Parametern möglich. Ein Beispiel wäre die Anforderung "http://www.madeupsite.com?id=12345". Statt "id=12345" ist die Serverantwort, mit der diese Anforderung korreliert werden soll, das Name/Einheit-Paar 'href name="id" entity="12345"'. Der Parameter "id" muss mit 'name="id"' und der Wert "12345" mit 'entity="12345"' korreliert werden.

Es folgen einige allgemeinere Beispiele:
  • Siebel verwendet das Star Array-Format. Standardmäßige Korrelationsalgorithmen können aus diesem Format keine Werte abrufen oder in dieses Format einsetzen.
  • SOAP legt Korrelationsparameter in externen XML-Dateien fest: Den Korrelationsalgorithmen ist die Entsprechung zwischen Parametern in der externen Datei und im Test nicht bekannt.
So nehmen Sie in diesen Fällen eine manuelle Korrelation vor:
  • Suchen Sie im Test nach den beiden Parametern, die korreliert werden sollen.
  • Wechseln Sie zu dem Parameter, der als erster im Test angegeben ist. Setzen Sie den Parameter in eine Referenz, wie es unter Referenz oder Feldreferenz erstellen beschrieben ist. (In einigen Fällen kann dieser Parameter bereits in einer Referenz enthalten sein, so dass dieser Schritt nicht erforderlich ist.)
  • Wechseln Sie zu dem anderen Parameter. Korrelieren Sie den zweiten Parameter mit der früheren Referenz, wie es unter Anforderungswert mit einer Referenz korrelieren beschrieben ist.

Unzureichende Korrelation: Ein Parameter ist nicht benannt

Möglicherweise muss ein Parameter oder Wert mit einem vorherigen Parameter oder Wert korreliert werden, der im Test nicht benannt ist, da er berechnet wird (z. B. von einem Javascript-Programm). In diesem Fall muss Ihnen für eine korrekte Korrelation bekannt sein, wie und wo der Parameter oder Wert berechnet wurde, und Sie müssen dann einen Block mit angepasstem Code verwenden. Angepasster Code ist unter Tests mit angepasstem Java-Code erweitern beschrieben.

Ein Beispiel wäre die URI "http://www.madeupsite.com?login_stamp=12345_Dec_12_04", wobei "login_timestamp" die Verkettung zwischen der Anmelde-ID und dem heutigen Datum darstellt. In diesem Fall benötigen Sie einen angepassten Code, der die Verkettung von Anmelde-ID und Datum vornimmt.

Ein weiteres Beispiel wäre, wenn der Server die Anmelde-ID und das Datum als separate Einheiten zurückgab (href "customer_id=12345" Date="Dec_12_04"). In diesem Fall können Sie diese Parameter in separate Referenzen setzen. Bei nachfolgenden Anforderungen, bei denen die Kunden-ID und das Datum verwendet werden, werden diese dann getrennt voneinander ersetzt.

Überkorrelation

Die automatisierte Datenkorrelation basiert auf einem Musterabgleich: Ein Parameter oder Parameterwert wird mit einem nachfolgenden Parameter oder Parameterwert mit gleichem oder ähnlichem Namen korreliert. In manchen Fällen stehen Parameter mit gleichen oder ähnlichen Namen jedoch nicht in Beziehung zueinander. Bestenfalls ist eine nicht erforderliche Korrelation entweder harmlos oder führt zu einer geringfügig höheren Arbeitslast, die unnötig ist. Im schlimmsten Fall wird von der Anwendung keine Korrelation erwartet, und die Anwendung schlägt während der Wiedergabe fehl.

So entfernen Sie eine überflüssige Datenkorrelation:
  • Suchen Sie im Testeditor nach einem Wert (korrelierte Werte werden in Rot angezeigt), der nicht korreliert werden soll.
  • Klicken Sie mit der rechten Maustaste auf den Wert, und wählen Sie Substitution entfernen aus.
Sie haben auch folgende Möglichkeit:
  • Klicken Sie im Testeditor auf eine Seite, die ungeeignete Korrelationen von Anforderungen enthält.
  • Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle in der Tabelle "Testdaten", und wählen Sie Referenzen anzeigen aus.
  • Klicken Sie auf eine Tabellenzeile (rote Buchstaben), die eine ungeeignete Korrelation enthält, und klicken Sie dann auf die Schaltfläche Substitution entfernen unterhalb der Tabelle.

Falsche Korrelation

Ein Parameter, der eine Datenkorrelation erfordert, ist möglicherweise mehrmals innerhalb eines Tests angegeben. So kann beispielsweise ein Sitzungs-ID-Parameter, der zum ersten Mal bei der Anmeldung eines Benutzers angegeben wird, in jeder nachfolgenden Anforderung enthalten sein. Möglicherweise sind mehrere Instanzen eines Parameters in einem Test nicht identisch, und es wird die falsche Instanz von den Korrelationsalgorithmen ausgewählt.

Die Benutzervorgaben für die Testgenerierung enthalten eine Einstellung mit dem Namen Automatische Datenkorrelation für Ausführung optimieren:
  • Genauigkeit: Jedes Vorkommen des Parameters wird mit dem jeweils vorherigen Vorkommen korreliert. Dies ist die Standardeinstellung.
  • Effizienz: Jedes Vorkommen des Parameters wird mit einem einzigen vorherigen Vorkommen korreliert.
Falsche Instanzenkorrelationen sind bei der Einstellung Genauigkeit weniger wahrscheinlich, aber dennoch möglich. So beheben Sie dieses Problem manuell:
  • Verwenden Sie die Tabelle "Testdaten", oder suchen Sie im Testeditor nach falsch korrelierten Werten.
  • Klicken Sie mit der rechten Maustaste auf den Wert oder die Tabellenzeile, und klicken Sie auf Substitution entfernen.
  • Klicken Sie nochmals mit der rechten Maustaste auf den Wert, wählen Sie Ersetzen von und dann den richtigen Parameter aus.

Übergeordnetes Thema: Antwort- und Anforderungsdaten in einem Test korrelieren

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2005. Alle Rechte vorbehalten.