Seien Sie am 30. April dabei: Vorstellung von Parasoft C/C++test CT für kontinuierliche Tests und Compliance-Exzellenz | Registrierung

Record-and-Replay-Tests: Wie man über Record-and-Replay hinausgeht für bessere automatisierte API-Tests

Headshot von Grigori Trofimov, Senior Solution Architect bei Parasoft
13. April 2023
6 min lesen

Gehen Sie über Aufnahme- und Wiedergabetests hinaus. Lesen Sie weiter, um zu erfahren, wie Sie mit API-Testszenarien verbundenen Datenverkehr während UI-Tests erfassen und aussagekräftige Testszenarien mit KI erstellen, um die Skalierbarkeit und Effizienz zu steigern.

Ein beliebter API-Testlösung Für Funktions-, Regressions-, Integrations- und Backend-Tests hat Parasoft SOAtest eine einzigartige Funktion: Smart API Test Generator.

Diese bahnbrechende Technologie verwendet KI, um den während manueller Tests erfassten Datenverkehr in automatisierte API-Tests umzuwandeln. Sie aktivieren die Aufzeichnung und stoppen sie, indem Sie ein Browser-Plug-in verwenden. Dieser skriptlose Workflow erfordert kein großes Toolset. Es erfordert auch keine detaillierten Kenntnisse der Anwendungs-API-Schicht.

Smart API Test Generator ist nicht die typische UI-Aufzeichnungs- und Wiedergabetechnologie. In diesem Fall erfasst und organisiert die KI automatisch den API-Verkehr, der den UI-Interaktionen zugrunde liegt, in aussagekräftige Testszenarien. Diese API-Szenarien bilden die Grundlage für API-Testsuiten, die die Benutzeroberfläche von funktionalen Tests entkoppeln.

Was ist API Record & Replay Testing?

Der Begriff Aufnahme- und Wiedergabeautomatisierung Das Testen ist bei UI-Teststrategien ziemlich verbreitet. Sie zeichnen UI-Aktionen im Browser auf – normalerweise mit einem automatisierten Testtool – und geben diese Aktionen dann als automatisierten UI-Testfall wieder. Ähnlich wie bei einem Film, bei dem Sie Rohmaterial für Kontinuität und Inhalt bearbeiten müssen, müssen Sie aufgezeichnete Testfälle für eine konsistente und stabile Ausführung konfigurieren und sie mit automatisierten Validierungen und Behauptungen erweitern.

UI-Änderungen sind für Anwendungen, die sich in der Entwicklung befinden, üblich. Sie müssen Tests pflegen, was zeitaufwändig ist und die Vorteile der Automatisierung schmälern kann. Obwohl UI-Änderungen häufig sind, ist es weniger wahrscheinlich, dass sich die zugrunde liegenden API-Interaktionen häufig ändern. API-Tests sind eine effizientere Methode zum Testen der Backend-Anwendungsfunktionalität ohne die Last der UI-Testwartung.

Parasoft war der erste, der dies übersetzte Strategie für API-Tests als Teil seiner umfassenden Plattform für kontinuierliche Qualitätstests. Heutzutage können Entwickler und Tester mit Parasoft Selenic herstellerlose Selenium-Testskripte generieren, wenn sie das UI-Verhalten oder die Benutzererfahrung im Frontend validieren möchten. Sie können API-Tests generieren, wenn Sie sich auf die funktionale Validierung der zugrunde liegenden Geschäftslogik konzentrieren möchten, oder die Effizienz steigern, indem Sie Tests auf einer niedrigeren Umfangsebene generieren.

Vorteile von Record & Playback API-Tests

UI-Tests können spröde sein. Es hat einen großen Umfang und erfordert mehr Zeit für die Ausführung und Wartung. API-Tests sind schnell, haben weniger bewegliche Teile und konzentrieren sich mehr auf eine bestimmte Geschäftslogik. API-Tests werden häufig in einer skriptlosen Schnittstelle konfiguriert, wodurch sie für nichttechnische Personen zugänglicher werden.

Vor diesem Hintergrund sind manuelle Tests naturgemäß schwer in einen API-Test zu übersetzen. Sie erfordern gute Domänenkenntnisse der zugrunde liegenden Dienste, der HTTP-Aufrufstruktur, der Header- und Token-Parametrisierung usw. Parasoft SOAtest erledigt diese Dinge für Sie, indem es sich den aufgezeichneten HTTP-Verkehr ansieht und KI anwendet, um wiederholbare, stabile API-Tests zu erstellen. Wenn Sie Ihre Abhängigkeit von UI-Tests reduzieren möchten, ist dies eine großartige Möglichkeit, dieses Ziel zu erreichen.

Weitere Vorteile sind:

  • Zuverlässige und wiederholbare Tests sind weniger anfällig für Brüche aufgrund von UI-Änderungen.
  • Tests, die sich auf bestimmte APIs konzentrieren, führen zu einer einfacheren Fehlererkennung und -behebung.
  • Bessere Anwendungsabdeckung mit integrierten Tools innerhalb des Parasoft-Ökosystems.
    • Testumgebungsmanagement, Virtualisieren
    • Orchestrierung der Testautomatisierung, CTP
    • Komponententests und Codeabdeckung, Jtest
    • Berichterstattung, DTP

Warum haben Aufnahme- und Wiedergabetests einen schlechten Ruf?

Herkömmliche Aufnahme- und Wiedergabewerkzeuge haben ihre Nachteile. Je nach Anwendungsarchitektur, Komplexität und Release-Geschwindigkeit kann es für Benutzer aus verschiedenen Gründen schwierig sein, diesen Ansatz zu implementieren.

  • Eingeschränkte Kernfunktionalität.
  • Fehlende Aufzeichnungs- und Bearbeitungsfunktionen.
  • Nicht geeignet für Apps, die häufig geändert werden, was zum Abbruch von Tests führen kann.
  • Das erneute Aufzeichnen neuer Tests für vorhandene Flows kann zeitaufwändig und überflüssig sein.
  • Die Verbesserung von Testfällen und deren Implementierung als Teil eines ausgereiften Testautomatisierungs-Frameworks erfordert nach wie vor Programmierkenntnisse und -kenntnisse.

All dies sind berechtigte Bedenken, und hier passt KI in API-Aufzeichnungs- und Wiedergabetests.

Wie das Record & Playback Testing besser geworden ist

Seit ihrer Einführung hat sich diese Art von Teststrategie dank KI erheblich verbessert. Es kann Probleme wie spröde Testfälle und eine insgesamt bessere Automatisierung angehen, um Redundanzen oder Wissenslücken zu verringern.

Wie KI das Testen der Aufnahme- und Wiedergabe-API verbessert

KI um der KI willen ist bedeutungslos. Warum müssen wir API-Tests um künstliche Intelligenz erweitern? Nun, wir brauchen es, weil das Testen von Aufzeichnungen und Wiederholungen nicht ausreicht.

Um API-Tests zu skalieren, braucht es mehr als nur das Sammeln, Aufzeichnen und Wiedergeben von Datenverkehr. Sie müssen in der Lage sein, erfasste API-Aktivitäten zu identifizieren und in aussagekräftige, wiederverwendbare und erweiterbare Tests zu organisieren.

Hier kommt künstliche Intelligenz ins Spiel, damit die Verkehrsaufzeichnung nicht nur stattfinden, sondern auch in erkennbare Szenarien oder Muster der API-Nutzung organisiert werden kann, die während UI-Anwendungsfällen auftreten. Aus diesem Grund hat Parasoft den Smart API Test Generator entwickelt. Das KI-gestützte Tool erfasst den API-Verkehr und fügt die erfassten Daten in wiederverwendbare und bearbeitbare Testszenarien in Parasoft SOAtest zusammen.

Wie funktioniert der intelligente API-Testgenerator?

Während Sie die Benutzeroberfläche testen, überwacht der Parasoft Recorder die zugrunde liegenden API-Aufrufe, die an Ihre Anwendung gesendet werden, genau wie ein Verkehrssammler es tun würde, und dann nutzt der Smart API Test Generator KI, um Muster zu entdecken und Beziehungen zwischen diesen API-Aufrufen zu verstehen. Als Nächstes werden automatisierte API-Testszenarien generiert, die dieselben Aktionen wie Ihre UI-Tests ausführen, jedoch vollständig automatisiert und leicht erweiterbar sind.

Grafik des Parasoft SOAtest Smart API Test Generators, die den Prozess der automatischen Generierung von API-Tests zeigt. 1-Analysieren Sie den durch manuelle Tests aufgezeichneten Datenverkehr. 2-Verwendet KI zum Erstellen von API-Testszenarien. 3-Fügt Parasoft SOAtest skriptlose automatisierte API-Tests hinzu.

Der Smart API Test Generator von Parasoft besteht aus drei Komponenten.

  1. Recorder. Das Chrome-Browser-Plug-in zeichnet den Datenverkehr auf. Es wird lokal auf einem Desktop installiert und enthält eine Benutzeroberfläche zum Verbindungsaufbau zu SOAtest und zum Starten und Beenden der Aufzeichnung.
  2. SOAtest-Web-Proxy. Verarbeitet HTTP- und HTTPS-Datenverkehr und speichert ihn für die spätere Verwendung durch SOAtest.
  3. SOAtest. Eine vollständige funktionale End-to-End-Testlösung, die den Datenverkehr analysiert und in API-Tests übersetzt.

Sie können Tests einrichten und ausführen, indem Sie den Smart API Test Generator lokal oder über einen dedizierten Server mit einem SOAtest-Server verbinden. Mit der Chrome-Browsererweiterung können Sie die Datenverkehrsaufzeichnung starten und stoppen, Verbindungen zum SOAtest-Server und zum Webproxy konfigurieren und den Datenverkehr als Dateien speichern.

Diese Aufzeichnungen werden an SOAtest gepusht, wo die Leistungsfähigkeit von Heuristik und KI ins Spiel kommt. Die Verkehrsaufzeichnungen sind in API-Tests organisiert, die erkannte Muster innerhalb des Verkehrs darstellen. Die automatisch generierten API-Tests sind die gleichen wie alle anderen bestehenden API-Tests, die innerhalb von SOAtest erweiterbar, wartbar und ausführbar sind und Teil einer zukünftigen oder bestehenden Testsuite werden.

Gehen wir noch einen Schritt weiter

All dies ist an sich gut. Darüber hinaus ist die API-Testgenerierung von Parasoft eine fantastische Möglichkeit für Entwickler und Tester, die Beziehungen zwischen den UI-Aktionen und den API-Aufrufen zu verstehen und so die API-Testfähigkeiten und das Wissen über die Anwendung zu verbessern.

Der Smart API Test Generator übernimmt die schwere Arbeit und bietet Ihnen einen einfachen, skriptlosen Ort, um mit dem Erstellen von API-Tests zu beginnen. Es senkt den technischen Einstiegspunkt in API-Tests und bringt Anfänger in die Welt der API-Tests über die benutzerfreundliche Testautomatisierung von Parasoft SOAtest. Diese visuellen Tools sind einfach zu übernehmen und zu verwenden.

Die von SOAtest automatisch erstellten Testszenarien stellen die Bausteine ​​für API-Testsuiten bereit, die sowohl für Menschen lesbar als auch erweiterbar sind. Tester können aus diesen Tests ihr Verständnis der APIs und der Anwendungsfunktionalität aufbauen und sie erweitern und wiederverwenden, um eine ganze Reihe von Tests aufzubauen.

Teams können diese API-Funktionstests für nichtfunktionale Testanforderungen wiederverwenden, einschließlich Last-, Leistungs- und Sicherheitstests. Dies verringert die Abhängigkeit von Testern von manuellen und auf die Benutzeroberfläche ausgerichteten Tests für einen Großteil der Anwendungsfunktionstests.

Vorteile von KI-erweiterten API-Aufzeichnungs- und Wiedergabetests

Offensichtlich gibt es Unterschiede zwischen herkömmlichen, UI-basierten Aufnahme- und Wiedergabetests und API. KI-gestütztes Testen. Hier sind einige der Vorteile von API-Aufzeichnungs- und Wiedergabetests, die Parasoft SOAtest bietet.

  • Reduziert den Zeitaufwand für die Bestimmung des richtigen Weges zum Erstellen von API-Tests, indem die in Ihrem Browser ausgeführten Aktionen automatisch in automatisierte API-Tests umgewandelt werden, die dieselben Aktionen modellieren, die Sie in der richtigen Reihenfolge ausgeführt haben.
  • Erleichtert das Erstellen umfassender API-Tests durch automatisches Erstellen von Testszenarien basierend auf den Beziehungen zwischen den verschiedenen API-Aufrufen. Ohne dies müssen Sie Zeit damit verbringen, Testfälle zu untersuchen, nach Mustern zu suchen und die Beziehungen manuell aufzubauen, um jedes Testszenario zu bilden.
  • Fügt automatisch Behauptungen und Validierungen hinzu, um sicherzustellen, dass Ihre APIs wie vorgesehen funktionieren. Infolgedessen können Sie selbst die komplexesten Arten von Assertionslogik ausführen, ohne Code schreiben zu müssen oder das Risiko einzugehen, sie falsch zu erstellen.
  • Reduziert den Zeitaufwand für die Wartung von Tests. Da es skriptlos ist, müssen Benutzer keine Zeit damit verbringen, Code für Testfälle neu zu schreiben, wenn sich ein Dienst ändert. Integrierte Tools wie der Change Advisor analysieren API-Änderungen und erstellen eine Vorlage, um die Implementierung von Updates zu vereinfachen.
  • Hilft Entwicklungs- und Testteams bei der Zusammenarbeit mit einem einzigen Artefakt, das für beide Teams leicht zu verstehen und gemeinsam zu nutzen ist. Dies hilft auch dabei, die Grundursache eines Fehlers besser zu diagnostizieren als ein UI-Test.
  • Legt den Grundstein für eine skalierbare und effiziente Regressionsteststrategie, indem es Ihnen hilft, Testfälle, Testablauflogik und Datenlösungen zu erweitern, um den gesamten Umfang der funktionalen Testabdeckung zu erreichen, die erforderlich ist, um Anwendungen vollständig zu validieren, bevor sie in die Produktion freigegeben werden.

Der Smart API Test Generator in SOAtest erstellt automatisch Testfälle basierend auf einer sinnvollen Interpretation der erfassten API-Aktivität und bietet eine benutzerfreundliche Funktionalität und Wartung. Indem funktionale Tests in der Testpyramide auf Tests mit kleinerem Umfang verschoben werden und die Abhängigkeit von langsamen und spröden UI-Regressionstests verringert wird, können Entwicklungs- und Testteams eine höhere Release-Geschwindigkeit mit verbesserter Testproduktivität erreichen und gleichzeitig eine hohe Testabdeckung sicherstellen.

Erfahren Sie, wie Ihr Team die Leistungsfähigkeit der KI nutzen kann, um erweiterte parametrisierte Tests zu erstellen.