Parasoft-Logo Suche

Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »

Parasoft-Blog

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

By Grigori Trofimow • 13. April 2023 • 6 min gelesen
13. April 2023 | 6 min gelesen
By Grigori Trofimow
Text links: Record & Replay Testing: How to Move Beyond Record-and-Replay for Better Automated API Testing. Das Bild rechts zeigt die Aufzeichnung und Wiedergabe mehrerer Geräte, die interagieren und Daten austauschen.

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.

Parasoft SOAtest ist eine beliebte API-Testlösung für Funktions-, Regressions-, Integrations- und Backend-Tests und verfügt über ein einzigartiges Merkmal: den 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?

Das Konzept des automatisierten Testens mittels Aufzeichnung und Wiedergabe ist bei UI-Teststrategien weit verbreitet. Dabei werden UI-Aktionen im Browser aufgezeichnet – typischerweise mit einem automatisierten Testtool – und anschließend als automatisierter UI-Testfall wiedergegeben. Ähnlich wie bei einem Film, bei dem Rohmaterial für Kontinuität und Inhalt bearbeitet werden muss, ist es jedoch notwendig, aufgezeichnete Testfälle für eine konsistente und stabile Ausführung zu konfigurieren und sie um automatisierte Validierungen und Assertions zu erweitern.

Änderungen an der Benutzeroberfläche sind bei Anwendungen in der Entwicklung üblich. Die damit verbundene Testpflege ist zeitaufwändig und kann die Vorteile der Automatisierung mindern. Im Gegensatz dazu ändern sich die zugrundeliegenden API-Interaktionen seltener. API-Tests sind daher eine effizientere Methode, die Funktionalität von Backend-Anwendungen zu testen, ohne den Aufwand der UI-Testpflege.

Parasoft war der erste Anbieter, der diese Strategie im Rahmen seiner umfassenden Plattform für kontinuierliches Qualitätstesting auf API-Tests übertrug . Heute können Entwickler und Tester mit Parasoft Selenic herstellerunabhängige Selenium-Testskripte generieren, um das Verhalten der Benutzeroberfläche oder die Benutzererfahrung im Frontend zu validieren. Sie können API-Tests generieren, um sich auf die funktionale Validierung der zugrunde liegenden Geschäftslogik zu konzentrieren oder durch Tests mit geringerem Umfang effizienter zu arbeiten.

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 auch für nicht-funktionale Tests wiederverwenden, darunter Last-, Leistungs- und Sicherheitstests. Dadurch wird die Abhängigkeit der Tester von manuellen und UI-orientierten Tests für einen Großteil der funktionalen Anwendungstests reduziert.

Vorteile von KI-erweiterten API-Aufzeichnungs- und Wiedergabetests

Es bestehen deutliche Unterschiede zwischen traditionellen, UI-basierten Aufzeichnungs- und Wiedergabetests und API-gestützten, KI-gestützten Tests . Im Folgenden werden einige Vorteile der API-Aufzeichnungs- und Wiedergabetests von Parasoft SOAtest erläutert.

  • 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.
Holen Sie sich das Whitepaper