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. Ursache für diese Probleme können unvollständige oder falsche Datenkorrelationen sein.
So erkennen Sie Probleme in Zusammenhang mit der Datenkorrelation:
- Verwenden Sie die Ansicht Potenzielle Korrelationsfehler, wenn Sie nach fehlenden oder falschen Datenkorrelationen suchen möchten. Weitere Informationen finden Sie in Datenkorrelationsfehler suchen.
- Führen Sie einen Test einzeln oder im Rahmen eines Zeitplans aus, wobei die Einstellung Protokollebene für Fehler und Warnungen auf Alle gesetzt ist.
- Öffnen Sie nach dem Testlauf das Testprotokoll, wie es unter Testprotokoll anzeigen beschrieben ist.
Die Algorithmen für die Datenkorrelation, die bei der Testgenerierung verwendet werden, basieren auf bewährten Verfahren. Da sich diese Verfahren jedoch ständig weiterentwickeln, können während der automatischen Datenkorrelation verschiedene Arten von Fehlern auftreten:
- Fehlende Korrelation: Testwerte, die korreliert werden müssen, wurden nicht korreliert. Dies kann folgende Ursachen haben:
- Zwei Parameter, die korreliert werden müssen, haben unterschiedliche Namen.
- Ein Wert muss mit einem vorherigen Wert korreliert werden, der jedoch nicht dort gefunden werden kann, wo er erwartet wird.
- Ein Parameter oder Wert muss mit einem vorherigen Parameter oder Wert korreliert werden, der jedoch nicht im Test enthalten ist, da es sich um einen berechneten Wert handelt.
- Überflüssige Korrelation: Testwerte, die nicht in Beziehung zueinander stehen, werden korreliert.
- Falsche Korrelation: Testwerte, die korreliert werden müssen, wurden falsch korreliert.
Unzureichende Korrelation: Parameter weisen unterschiedliche Namen auf oder sind an unerwarteten Positionen angegeben
Wenn zwei Parameter, die korreliert werden müssen, unterschiedliche Namen haben, wird bei einer automatisierten Datenkorrelation nicht erkannt, dass die beiden Parameter in Bezug zueinander stehen. Stellen Sie sich als Beispiel die folgende Anforderung vor: http://www.example.com?id=12345. Diese Anforderung muss mit der Serverantwort korreliert werden, die nicht ID=12345, sondern customer_ID=12345 enthält. In diesem Fall muss der Parameter ID mit customer_ID korreliert werden.
Bei der Datenkorrelation wird normalerweise ein vom Server zurückgegebener Antwortwert mit einem nachfolgenden Anforderungswert korreliert. Der automatische Korrelationsalgorithmus sucht in der URL und in den POST-Daten nach möglichen Übereinstimmungen; es sind jedoch auch andere Verfahren für die Rückgabe von Parametern möglich. Stellen Sie sich als Beispiel die folgende Anforderung vor: http://www.example.com?id=12345. Diese Anforderung muss mit der Serverantwort korreliert werden, die das Name/Entität-Paar href name="customer_ID" entity="12345" und nicht ID=12345 enthält. In diesem Fall muss der Parameter ID mit name="customer_ID" und der Wert 12345 mit entity="12345" korreliert werden.
Eine unzureichende Korrelation kann auch folgende Ursachen haben:
- Siebel verwendet das Star Array-Format. Bei Verwendung standardmäßiger Korrelationsalgorithmen sind mit diesem Format keine Abrufe und keine Substitutionen möglich.
- SOAP legt Korrelationsparameter in externen XML-Dateien fest. Mit den Korrelationsalgorithmen können keine Parameter in der externen Datei mit Parametern im Test korreliert werden.
So können Sie Daten in diesen Fällen manuell korrelieren:
- Suchen Sie im Testeditor nach den beiden Parametern für die Korrelation.
- Suchen Sie nach dem Parameter, der später im Test enthalten ist, und wählen Sie ihn aus. Das ist der Substitutionsbereich.
- Klicken Sie im Fenster Testdatenquellen auf die Registerkarte Verweise.
- Wählen Sie die Datenquelle aus, der als Verweis (Referenz) verwendet werden soll, und klicken Sie auf Ersetzen aus.
Unzureichende Korrelation: Ein Parameter ist nicht benannt
Manchmal muss ein Parameter oder Wert mit einem vorherigen Parameter bzw. Wert korreliert werden, der im Test nicht benannt ist, da er berechnet wurde, beispielsweise von einem JavaScript-Programm.
In diesem Fall muss Ihnen für eine korrekte Korrelation der Daten bekannt sein, wie und wo der Parameter bzw. Wert berechnet wird. Dann müssen Sie einen Block mit angepasstem Code verwenden. Weitere Informationen zu angepasstem Code finden Sie unter Testausführung mit angepasstem Code erweitern.
Ein Beispiel wäre die Webadresse http://www.example.com?login_stamp=12345_Apr_11_07, wobei der Wert für login_timestamp die Verknüpfung zwischen der Anmelde-ID und dem aktuellen Datum darstellt. In diesem Fall müssen Sie einen angepassten Code generieren, der die Anmelde-ID und das Datum verkettet.
Nehmen wir als ein weiteres Beispiel an, dass Anmelde-ID und Datum vom Server separat zurückgegeben wurden: href "customer_id=12345" Date="Apr_11_07". 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.
Überflüssige Korrelation
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 dem Substitutionsbereich, der nicht korreliert werden darf, oder verwenden Sie die Schaltfläche "Durchsuchen". Korrelierte Daten sind standardmäßig rot hervorgehoben.
- Klicken Sie mit der rechten Maustaste auf den Substitutionsbereich.
- Klicken Sie auf Substitution entfernen.
Falsche Korrelation
Ein Parameter, der korreliert werden muss, kann mehrmals in einem Test vorkommen. So kann beispielsweise ein Sitzungs-ID-Parameter, der bei der Anmeldung eines Benutzers zum ersten Mal verwendet wird, auch in jeder nachfolgenden Anforderung verwendet werden. Wenn mehrere Instanzen eines Parameters in einem Test nicht identisch sind, wird von den Korrelationsalgorithmen möglicherweise die falsche Instanz verwendet.
Über die Einstellungen von "HTTP-Testgenerierung" können Sie die Genauigkeit oder Effizienz der automatischen Datenkorrelation optimieren.
- Genauigkeit: Jedes Vorkommen eines Parameters wird mit dem jeweils vorherigen Vorkommen korreliert. Dies ist die Standardeinstellung.
- Effizienz: Jedes Vorkommen eines Parameters wird mit einem einzigen vorherigen Vorkommen korreliert.
Anmerkung: Wird keine manuelle Korrelation im Herkunftsadressfeld im HTTP-Anforderungsheader angewendet, wird das Herkunftsadressfeld bei Bedarf automatisch korreliert. Wird eine manuelle Korrelation im Herkunftsadressfeld im HTTP-Anforderungsheader angewendet, wird keine automatische Korrelation ausgeführt.
Wenn
Automatische Datenkorrelation für Ausführung optimieren auf
Effizienz festgelegt ist, kommt es eher zu falschen Korrelationen.
So korrigieren Sie eine falsche Korrelation:
- Suchen Sie im Testeditor nach dem falsch korrelierten Wert oder verwenden Sie die Schaltfläche "Durchsuchen".
- Klicken Sie mit der rechten Maustaste auf den Substitutionsbereich.
- Klicken Sie auf Substitution entfernen.
- Klicken Sie erneut mit der rechten Maustaste auf den Substitutionsbereich.
- Klicken Sie auf Ersetzen und wählen Sie den korrekten Parameter aus.