Auslastungstests sind eine Art von Tests zwischen den verschiedenen Arten von Leistungstests, die die Leistung des Systems in Echtzeit-Lastbedingungen bestimmen. Die Rolle der APIs hat sich in den letzten Jahren stark weiterentwickelt. Wenn APIs nur für Aufgaben wie das Extrahieren von Berichten verwendet wurden, war ihre Leistung nie ein Schlüsselfaktor. Die APIs haben sich jedoch langsam auf den kritischen Pfad zwischen einem Endbenutzer und den Angeboten des Serviceunternehmens bewegt, was sehr wichtig ist. Da immer mehr Unternehmen APIs für die Bereitstellung ihrer Dienste verwenden, wurden ihre Sicherheit und Leistung zu einem Schlüsselfaktor. Hier werden wir über einen API-Sicherheitsmechanismus diskutieren, der als OAuth 2.0 bezeichnet wird, und darüber, wie wir Tests auf OAuth-Web-APIs laden können.

 

Was ist OAuth?

OAuth ist das branchenübliche Autorisierungsprotokoll. OAuth konzentriert sich auf die Einfachheit von Client-Entwicklern und bietet gleichzeitig spezifische Autorisierungsflüsse für Webanwendungen, Desktop-Anwendungen, Mobiltelefone usw. Diese Spezifikation und ihre Erweiterungen werden im Rahmen der IETF OAuth Working Groupentwickelt. OAuth wird häufig als Eine Möglichkeit für Internetnutzer verwendet, sich mit ihren Microsoft-, Google-, Facebook-, Twitter-, Slack-Konten usw. bei Websites von Drittanbietern anzumelden, ohne ihr Passwort offenzulegen.

OAuth 1.0 steht unter Sicherheitsmängeln und hat seine Unterstützung zurückgezogen. OAuth 2.0 ist das neueste mit erweiterten Sicherheitsfunktionen. OAuth 2.0 ermöglicht es Benutzern, bestimmte Daten für eine Anwendung freizugeben, während ihre Benutzernamen, Kennwörter und andere Informationen privat bleiben. Beispielsweise kann eine Anwendung OAuth 2.0 verwenden, um die Berechtigung von Benutzern zum Speichern von Dateien zu erhalten. Nach der OAuth Website, Es ist wie ein Auto Valet Schlüssel. Viele Luxusautos sind heute mit einem Valet-Schlüssel zu sehen. Es ist ein spezieller Schlüssel, den Sie dem Parkwächter geben und im Gegensatz zu Ihrem normalen Schlüssel, wird nicht zulassen, dass das Auto mehr als eine Meile oder zwei fahren. Einige Valet-Schlüssel öffnen den Kofferraum nicht, während andere den Zugriff auf Ihr Bord-Handy-Adressbuch blockieren. Unabhängig davon, welche Einschränkungen der Valet-Schlüssel auferlegt, ist die Idee sehr klug. Sie geben jemandem eingeschränkten Zugriff auf Ihr Auto mit einem speziellen Schlüssel, während Sie Ihren regulären Schlüssel verwenden, um alles zu entsperren.

 

Warum Ladentests von OAuth-Web-APIs wichtig sind

Was auch immer Ihre Rolle in einer Organisation ist, mindestens einmal hätten Sie von einer API gehört. Was ist API? Eine API steht für Application Programming Interface. Eine API ist eine Reihe von Regeln und Anweisungen für die Kommunikation mit einer Anwendung, wenn ein Benutzer über das Internet auf eine App zugreift. Eine Anforderung kann so einfach wie diese sein:

GET: https://userauth.dotcom-monitor.com/login

Wenn Sie der Meinung sind, dass Funktionstests für Ihre Anwendung ausreichen und das ist es, was allen Kunden wichtig ist, wären Sie falsch. Was passiert, wenn Ihre Website in Verbindung mit einer Marketingkampagne online geht und Tausende von potenziellen Kunden anfangen, sich anzumelden. Erst dann merken Sie, dass Ihre Kunden während des Anmeldevorgangs auf Fehler stoßen. Von diesem Moment an verlieren Sie potenzielle Unternehmen und das Image Ihrer Organisation.

Um diese demütigende Situation zu vermeiden, wenden Lasttests den Datenverkehr an, den Sie in der Produktion erwarten, systematisch auf Ihre Anwendungsserver, um zu bestimmen, wie sich die Anwendung verhält, bevor sie live geht. Wenn Sie OAuth implementiert haben, können Sie API-Auslastungstests durchführen, indem Sie mehrere Benutzer simulieren, die gleichzeitig Anforderungen an Ihren Server senden. Es gibt verschiedene Möglichkeiten, Wie Sie Auslastungstests ausführen können, aber API-Auslastungstests sind eine der einfachsten Methoden und kostengünstigsten Optionen. Das liegt daran, dass es einfach zu skripten ist und es viele Open-Source-Tools in der Branche gibt, mit denen Sie Ihre Skripts generieren und ausführen können.

Wenn Sie mit API-Tests und der Funktionsweise von Auslastungstests nicht vertraut sind, finden Sie hier einen guten Artikel, in dem Sie einige Kenntnisse über API-Tests erwerbenkönnen.

Eine API-Anforderung in LoadView kann auf zwei Arten ausgeführt werden: Verwenden des EveryStep Web Recorders zum Aufzeichnen eines Skripts oder einer HTTP-Aufgabe. Sie können die API mithilfe einer Anwendung aufzeichnen, die die API verwendet, oder mit der LoadView-Lösung. Außerdem ist es sehr wichtig, dass Sie diese APIs auch laden müssen, wenn Ihre Anwendung eine Drittanbieter-API verwendet, um sicherzustellen, dass sie Ihren Anforderungen entsprechen.

 

OAuth Flow/Phasen

Hier werden wir den OAuth 2.0-Flow mit Hilfe der LoadView-Lösung erklären. LoadView ist eine On-Demand-Lasttestplattform, die realistische Lasttests ohne Vorabinvestitionen in Hardware- oder Softwareinfrastruktur ermöglicht. Die Anwendung, die wir zu laden Test ist eine Gesundheitsanwendung von Ärzten verwendet.

Von nun an werden wir die Zielanwendung als „Gesundheitsanwendung“ bezeichnen. Die Integritätsanwendung wird in Azure gehostet und sie haben Microsoft OAuth 2.0-Dienste während des Anmeldevorgangs verwendet, sodass die Ärzte auf ihre bereits registrierte Krankenhaus-E-Mail-Adresse zugreifen und sich anmelden können. Grundsätzlich wird diese Anwendung alle Details über eine Patientengeschichte zur Verfügung stellen.

OAuth 2.0 flow dient speziell der Benutzerautorisierung. Es wurde für Anwendungen entwickelt, die vertrauliche Informationen speichern und den Status beibehalten können. Eine ordnungsgemäß autorisierte Webserveranwendung kann auf eine API zugreifen, während der Benutzer mit der Anwendung interagiert oder nachdem der Benutzer die Anwendung verlassen hat.

Hier ist die Schritt-zu-Schritt-Anleitung, die den OAuth 2.0-Flow zusammen mit den entsprechenden LoadView-Konfigurationen für Leistungstests zeigt.

Es gibt nur zwei Aktionen im Flow, aber es hängt von den Entwicklern bedarf ab, ob sie dies mit mehreren Sequenzen der API tun. Eine OAuth 2.0-API-Konfiguration und -Komplexität ändert sich basierend auf der Anwendungssicherheit und der Entwickleranforderung. Es ist nie ein Einheitsprozess.

Es gibt zwei Möglichkeiten, Test OAuth 2.0 mit LoadView zu laden.

  1. Fordern Sie Entwickler für die Sequenz der OAuth-Authentifizierung der API an. Dies ist die einfachste und geradlinigste. Verwenden Sie die Lastansicht
  2. Zeichnen Sie es mit dem EveryStep Web Recorder-Skriptwerkzeug auf. Hier können Sie den Recorder selbst ausprobieren.

Die Verwendung des EveryStep Web Recorders ist einfach zu bedienen und effektiver und effizienter, da wir uns nicht auf Entwickler verlassen müssen.

 

Prozess 1. OAuth 2.0 Load Testing-Prozess mit dem EveryStep Web Recorder

Schritt 1. Zugriff auf den EveryStep Web Recorder.

OAuth-Aufzeichnung eines neuen Skripts

Schritt 2. Geben Sie die URL Ihrer Anwendung ein, und wählen Sie Jetzt aufzeichnenaus.

OAuth-Rekord jetzt

 

Schritt 3. Folgen Sie dem Anmeldeszenario Ihrer Anwendung.

OAuth-Anmeldeszenario

 

Schritt 4. Überprüfen Sie alle Anwendungsdetails.

OAuth überprüft Details

 

Schritt 5: Das war’s. Wiederholen Sie die Wiedergabe und stellen Sie sicher, dass es funktioniert. Einfach, oder? Nachdem die Aufzeichnung abgeschlossen ist, konfigurieren Sie sie in der LoadView-Plattform, und führen Sie den Auslastungstest durch.

 

Prozess 2. Verwenden der OAuth 2.0-API-Sequenz mit LoadView

Hinweis: Zum Abschließen des OAuth 2.0-Prozesses sind zwei Aktionen erforderlich.

Aktion 1. Abrufen von Autorisierungscode

Aktion 2. Exchange des Authentifizierungscodes für ein Zugriffstoken

Hinweis: Sie müssen API-Serveranforderungsdetails und Textdatendetails vom Entwicklungsteam anfordern.

Schritt 1. Erstellen Sie Ihr LoadView-Konto, und wechseln Sie zum LoadView-Dashboard, um den API-Typ für Tests auszuwählen.

OAuth erstellen neuen Auslastungstest

Schritt 2. Für Demozwecke wählen wir HTTP/Saus. Ihre Situation kann je nach API-Diensttyp unterschiedlich sein.

OAuth HTTPS-Test

 

Schritt 3. Konfigurieren Sie Ihre API-Anforderung so, dass sie den Anwendungs-API-Server erreicht.

OAuth-Konfigurationsgerät

 

Schritt 4. Der API-Server leitet zur Anmeldeseite um und sagt, um auf die Daten zuzugreifen: Melden Sie sich bei Microsoft (OAuth-Anbieter) an, um auf die Seite zuzugreifen. Sie können OAuth 2 in der URL sehen.

OAuth-Anmelde-URL

Schritt 5. Der Benutzer gibt die E-Mail-Adresse und das Kennwort ein und klickt auf Login, gibt seinen Benutzernamen und sein Passwort ein und ermöglicht dann den Zugriff auf die Anwendung. Der Auth-Server leitet den Benutzer mit einem Code als Parameter in der URL zu Ihrer Website um.

OAuth-Login-URL-Details

 

Schritt 6. API-Server fragt Auth-Server nach Benutzerinformationen für das angegebene Zugriffstoken. Auth-Server gibt Details zu Userid, E-Mail usw. zurück.

OAuth-Login-Benutzerinformationen

 

Schritt 7. API-Server identifiziert den Benutzer und sendet die Antwort zusammen mit dem Zugriffstoken. Der Client sendet das Zugriffstoken in der folgenden Anforderung an den API-Server. Der API-Server überprüft, ob das Zugriffstoken gültig ist, und gibt Zugriff auf die Anwendung.

OAuth-Anmeldezugriffstoken

 

Wrap Up: Laden von OAuth-Web-APIs

Das Korrelieren und Konfigurieren von OAuth 2.0-Anforderungen ist keine einfache Aufgabe. Sie benötigen Erfahrung und klares Verständnis dafür, wie OAuth für Ihre Anwendung funktioniert. Da OAuth sehr wichtige Funktionen jeder Anwendung aktiviert, ist es sehr wichtig, Leistungstests von OAuth-APIs für Ihre Anwendung durchzuführen. Wenn Sie ein anderes Open-Source-Tool verwenden, z. B. JMeter, können Sie JMeter-Tests in LoadView konvertieren. JMeter ist keine Performance-Testing-Lösung wie LoadView, sondern nur ein Load-Thrower. Wir benötigen eine gute Performance-Testlösung wie LoadView, um End-to-End-Leistungstests durchzuführen.

Erfahren Sie mehr über LoadView und melden Sie sich für die kostenlose Testversion an. Sie erhalten 20 $ in Auslastungstestguthaben, um zu starten.