Was ist SOA-Test? Tutorial mit Beispiel

⚡ Intelligente Zusammenfassung

SOA-Tests validieren eine serviceorientierte ArchiEine Architektur, in der lose gekoppelte Dienste Nachrichten über ein Netzwerk austauschen und dabei jeden Dienst einzeln, die Integrationen zwischen ihnen und den gesamten Geschäftsablauf von Anfang bis Ende überprüfen.

  • 🔘 ArchiStruktur: Services sind wiederverwendbare Geschäftsfunktionen, die jede Anwendung unabhängig aufrufen, zusammenstellen oder ersetzen kann.
  • ☑️ Layers: Die Tests zielen auf die Dienstschicht, die Prozessschicht und die Konsumentenschicht der Anwendung ab.
  • ✅ Etagen: Tests auf Serviceebene, Schnittstellenebene und End-to-End-Ebene decken zusammen die Anforderungen ab.tracts, Datenfluss und Geschäftsszenarien.
  • 🧪 Methods: Szenariobasierte Datentests, Stubs, Funktions-, Sicherheits-, Leistungs-, Integrations- und Regressionsprüfungen kommen auf jeder Ebene zum Einsatz.
  • ️ Werkzeug: SoapUIBroadcom Service Virtualization, OpenText UFT One und Parasoft SOAtest decken Funktions-, virtuelle und Lasttests ab.
  • ⚠️ Challenges: Fehlende Schnittstellen, mehrschichtige Defektisolierung, unvorhersehbare Lasten und heterogene Technologien erhöhen die Planungskosten.

SOA-Tests

Was ist SOA-Test?

SOA (Serviceorientiert). Architektur) Testen ist das Testen des SOA-Architekturstils, bei dem die Anwendungskomponenten so konzipiert sind, dass sie über Kommunikationsprotokolle, typischerweise über ein Netzwerk, miteinander kommunizieren.

Was ist SOA?

SOA ist eine Methode zur Integration von Geschäftsanwendungen und -prozessen, um den Geschäftsanforderungen gerecht zu werden.

In Software EngineeringSOA bietet Agilität und Flexibilität für Geschäftsprozesse. Änderungen an einem Prozess oder einer Anwendung können gezielt auf eine bestimmte Komponente ausgerichtet werden, ohne das Gesamtsystem zu beeinträchtigen.

Softwareentwickler, die im SOA-Bereich arbeiten, entwickeln entweder eigene Programmbausteine ​​oder kaufen diese zu. Leistungen.

Was ist Dienst?

Das untenstehende Diagramm zeigt ein Zahlungsgateway, das als Dienst veröffentlicht wurde und von mehreren E-Commerce-Websites aufgerufen werden kann.

Zahlungsgateway, veröffentlicht als wiederverwendbarer SOA-Dienst, der von einer E-Commerce-Anwendung aufgerufen wird

  • Ein Dienst kann eine funktionale Einheit einer Anwendung oder eines Geschäftsprozesses sein, die von jeder anderen Anwendung oder jedem anderen Prozess wiederverwendet oder wiederholt werden kann. (Beispielsweise ist im obigen Bild das Zahlungsgateway ein Dienst, der von jeder E-Commerce-Website wiederverwendet werden kann. Immer wenn eine Zahlung erforderlich ist, ruft die E-Commerce-Website den Zahlungsgateway-Dienst auf. Nachdem die Zahlung über das Gateway abgeschlossen wurde, wird eine Antwort an die E-Commerce-Website zurückgesendet.)
  • Die Dienstleistungen sind einfach zu montieren und die Komponenten lassen sich leicht neu konfigurieren.
  • Dienstleistungen lassen sich mit Bausteinen vergleichen. Sie können jede benötigte Anwendung erstellen, und das Hinzufügen oder Entfernen von ihnen aus der Anwendung oder dem Geschäftsprozess ist einfach.
  • Dienstleistungen werden eher durch die von ihnen ausgeführte Geschäftsfunktion definiert als durch Codeblöcke.

Web Services

Die meisten SOA-Dienste werden als Webdienste bereitgestellt, daher ist es sinnvoll, die Mechanismen eines Webdienstaufrufs vor den Testschichten festzulegen.

Webdienst, der als unabhängige Anwendungskomponente über das Web verfügbar ist.

Web-Services Es handelt sich um unabhängige Anwendungskomponenten, die über das Internet verfügbar sind.

Sie können im Web veröffentlicht, gefunden und genutzt werden und kommunizieren über das Internet. Die folgende Abfolge zeigt die Interaktion zwischen Anbieter, Register und Nutzer.

Veröffentlichung, Suche und Verknüpfung einer Sequenz zwischen einem Dienstanbieter, einem Webdienstregister und einem Verbraucher

  • Der Dienstanbieter veröffentlicht den Dienst im Internet.
  • Der Client sucht in der Webdienstregistrierung nach einem bestimmten Webdienst.
  • A URL und der wsdl Die benötigten Webdienste werden zurückgegeben. Verwendung der WSDL und der URLDie Kommunikation zwischen Dienstanbieter und Anfragendem erfolgt über SOAP-Nachrichten.
  • Wenn ein Verbraucher einen Webdienst aufruft, wird eine HTTP-Verbindung zum Anbieter hergestellt.
  • Es wird eine SOAP-Nachricht erstellt, um den Provider anzuweisen, die erforderliche Webdienstlogik aufzurufen.
  • Die vom Anbieter empfangene Antwort ist eine SOAP-Nachricht, die in die HTTP-Antwort eingebettet ist. Diese HTTP-Antwort stellt das Datenformat dar, das von der Verbraucheranwendung verstanden werden kann.

Beispiel

Der untenstehende Screenshot zeigt einen Wetterbericht, der von einem externen Dienst bereitgestellt und in die Startseite einer Suchmaschine eingebettet ist.

Wetterberichtsdienst von einem Anbieter gekauft und in die Startseite einer Website eingebunden

Die Startseite einer Website und eine Suchmaschine zeigen einen täglichen Wetterbericht an. Anstatt den Wetterberichtbereich von Grund auf neu zu programmieren, kann ein Wetterberichtdienst von einem Anbieter erworben und in die Seiten integriert werden.

SOA-Testschichten

SOA besteht aus verschiedenen Technologien, und Anwendungen, die mit SOA entwickelt wurden, verfügen über verschiedene, lose gekoppelte Dienste. Das folgende Diagramm veranschaulicht die drei Ebenen, die ein Testplan abdecken muss.

Drei SOA-Testschichten sind übereinander angeordnet: Dienstschicht, Prozessschicht und Verbraucherschicht.

Beim SOA-Testing sollten sich die Tests auf drei Systemebenen konzentrieren.

Diensteschicht

Diese Schicht besteht aus den von einem System bereitgestellten Diensten, die sich aus Geschäftsfunktionen ableiten.

Nehmen wir beispielsweise eine Wellness-Website, die aus Folgendem besteht:

  • Gewicht Tracker
  • Blutzucker Tracker
  • Ausgleich bei Blutdruckschwankungen Tracker

TracDie KERS zeigen die jeweiligen Daten und das Datum ihrer Eingabe an. Die Dienstschicht besteht aus den Diensten, die die jeweiligen Daten aus der Datenbank abrufen:

  • Gewicht TracKer-Service
  • Blutzucker TracKer-Service
  • Ausgleich bei Blutdruckschwankungen TracKer-Service
  • Anmeldedienst

Prozessschicht

Die Prozessschicht besteht aus den Prozessen, der Sammlung von Diensten, die Teil einer einzelnen Funktionalität sind.

Die Prozesse können Teil einer Benutzeroberfläche (z. B. einer Suchmaschine) oder Teil eines ETL-Tools sein, das Daten aus der Datenbank abruft.

Der Schwerpunkt dieser Ebene liegt auf Benutzeroberflächen und Prozessen. Die Benutzeroberfläche der Gewichtung tracDer Schwerpunkt liegt auf ker und dessen Integration in die Datenbank.

Folgende Funktionen sind zu berücksichtigen:

  • Hinzufügen neuer Daten
  • Bearbeiten vorhandener Daten
  • Ein neues erstellen tracker
  • Löschen von Daten

Verbraucherschicht

Diese Ebene besteht hauptsächlich aus Benutzerschnittstellen, wie die folgende Abbildung zeigt.

Benutzeroberfläche der Wellness-Website für Endverbraucher, die die zugrunde liegende Schnittstelle aufruft tracker-Dienstleistungen

Auf Grundlage dieser Schichten ist das Testen einer SOA-Anwendung in drei Ebenen unterteilt:

  • Service Level
  • Schnittstellenebene
  • End-to-End-Level

Die beiden Vorgehensweisen unterscheiden sich: Für die Testplanung wird ein Top-Down-Ansatz verwendet, für die Testdurchführung hingegen ein Bottom-Up-Ansatz.

Strategie für SOA-Tests

Testplanungsansatz

  • Die SOA-Tester sollten die gesamte Architektur der Anwendung verstehen.
  • Die Anwendung muss in unabhängige Dienste aufgeteilt werden (ein Dienst, der über eine eigene Anfrage- und Antwortstruktur verfügt und nicht von einem anderen Dienst abhängig ist, um eine Antwort zu bilden).
  • Die Anwendungsstruktur muss in drei Komponenten neu organisiert werden – Daten, Dienste und Frontend-Anwendungen.
  • Alle Komponenten müssen sorgfältig analysiert und Geschäftsszenarien ausgearbeitet werden.
  • Die Geschäftsszenarien sollten in allgemeine Szenarien und anwendungsspezifische Szenarien unterteilt werden.
  • A Rückverfolgbarkeitsmatrix sollte vorbereitet sein, und alle Testfälle sollten sein tracauf Geschäftsszenarien angewendet.

Testausführungsansatz

  • Jede Servicekomponente sollte getestet werden.
  • Integrationstests Die Überprüfung der Servicekomponenten sollte durchgeführt werden, um den Datenfluss durch die Services und die Datenintegrität zu validieren.
  • Systemtest Das vollständige Modell sollte erstellt werden, um den Datenfluss zwischen der Frontend-Anwendung und der Datenbank zu validieren.
  • Performance Testing Dies sollte für eine Feinabstimmung und optimale Leistung erfolgen.

SOA-Testmethoden

1) Geschäftsszenario-gesteuerte datenbasierte Tests

  • Es sollten verschiedene betriebswirtschaftliche Aspekte des Systems analysiert werden.
  • Szenarien sollten auf der Grundlage der Integration der verschiedenen Webdienste der Anwendung und der Webdienste mit der Anwendung entwickelt werden.
  • Die Dateneinrichtung sollte auf der Grundlage der oben genannten Szenarien erfolgen.
  • Die Dateneinrichtung sollte auch End-to-End-Szenarien abdecken.

2) Stubs

  • Dummy-Schnittstellen werden erstellt, um Dienste zu testen.
  • Über diese Schnittstellen können verschiedene Eingaben bereitgestellt und die Ausgaben validiert werden.
  • Wenn eine Anwendung eine Schnittstelle zu einem externen Dienst nutzt, der nicht getestet wird (ein Drittanbieterdienst), kann während des Integrationstests ein Stub erstellt werden.

3) Regressionstests

  • Regressionstests Die Anwendung sollte bei mehreren Releases aktualisiert werden, um die Stabilität und Verfügbarkeit der Systeme zu gewährleisten.
  • Es wird eine umfassende Regressionstestsuite erstellt, die die Dienste abdeckt, die einen wichtigen Teil der Anwendung bilden.
  • Diese Testsuite kann über mehrere Releases des Projekts hinweg wiederverwendet werden.

4) Service-Level-Tests

Die Service-Level-Tests umfassen die Prüfung der Komponente auf Funktionalität, Sicherheit, Leistung und Interoperabilität. Jeder einzelne Service muss zunächst unabhängig getestet werden.

5) Funktionsprüfung

Funktionsprüfung sollte bei jedem Service durchgeführt werden, um:

  • Stellen Sie sicher, dass der Dienst auf jede Anfrage die richtige Antwort liefert.
  • Stellen Sie sicher, dass die richtigen Fehlermeldungen für Anfragen mit ungültigen oder fehlerhaften Daten empfangen werden.
  • Prüfen Sie jede Anfrage und Antwort für jede Operation, die der Dienst zur Laufzeit ausführen muss.
  • Überprüfen Sie die Fehlermeldungen, wenn ein Fehler auf Server-, Client- oder Netzwerkebene auftritt.
  • Überprüfen Sie, ob die empfangenen Antworten das richtige Format haben.
  • Prüfen Sie, ob die in der Antwort empfangenen Daten den angeforderten Daten entsprechen.

6) Sicherheitstests

Die Sicherheitsprüfung des Webdienstes ist ein wichtiger Aspekt bei der Prüfung der Serviceebene der SOA-Anwendung, da sie die Sicherheit der Anwendung gewährleistet.

Folgende Faktoren müssen beim Testen berücksichtigt werden:

  • Der von WS-Security definierte Branchenstandard sollte vom Webdienst eingehalten werden.
  • Sicherheitsmaßnahmen sollten einwandfrei funktionieren.
  • Datenverschlüsselung und digitale Signaturen auf den Dokumenten.
  • Authentifizierung und Autorisierung.
  • SQL-Injection, Malware, XSS, CSRF und andere Schwachstellen sollen auf dem System getestet werden. XML.
  • Denial-of-Service-Angriffe.

7) Leistungstests

Die Leistungsfähigkeit des Dienstes muss getestet werden, da Dienste wiederverwendbar sind und mehrere Anwendungen denselben Dienst nutzen könnten.

Folgende Faktoren werden bei der Prüfung berücksichtigt:

  • Leistung und Funktionalität des Dienstes müssen unter hoher Belastung getestet werden.
  • Die Leistung des Dienstes muss verglichen werden, wenn er einzeln funktioniert und wenn er in die Anwendung integriert ist.
  • Lastprüfung Der Service sollte durchgeführt werden, um die Antwortzeit zu überprüfen, Engpässe aufzudecken, die Auslastung von CPU und Speicher zu überprüfen und die Skalierbarkeit vorherzusagen.

8) Prüfung der Integrationsebene

  • Die Service-Level-Testung gewährleistet das ordnungsgemäße Funktionieren der einzelnen Dienste; sie garantiert jedoch nicht das Funktionieren der gekoppelten Komponenten.
  • Bei den Integrationstests liegt der Fokus hauptsächlich auf der Schnittstellen.
  • Diese Phase deckt alle möglichen Geschäftsszenarien ab.
  • In dieser Phase sollten erneut nicht-funktionale Tests der Anwendung durchgeführt werden. Sicherheits-, Compliance- und Leistungstests gewährleisten die Verfügbarkeit und Stabilität des Systems in allen Aspekten.
  • Die Kommunikations- und Netzwerkprotokolle sollten getestet werden, um die Konsistenz der Datenkommunikation zwischen den Diensten zu validieren.

9) End-to-End-Tests

Diese Phase stellt sicher, dass die Anwendung sowohl funktional als auch nicht-funktional den Geschäftsanforderungen entspricht.

Die folgenden Artikel werden garantiert getestet während End-to-End-Tests:

  • Alle Dienste funktionieren nach der Integration wie erwartet
  • Ausnahmebehandlung
  • Benutzeroberfläche der Anwendung
  • Korrekter Datenfluss durch alle Komponenten
  • Geschäftsprozess

Herausforderungen beim SOA-Testing

Die Anwendung dieser Methoden ist selten unkompliziert, und die folgenden Schwierigkeiten treten bei fast jedem SOA-Programm wieder auf.

  • Fehlende Schnittstellen für Dienste.
  • Der Testprozess erstreckt sich über mehrere Systeme, was einen komplexen Datenbedarf mit sich bringt.
  • Die Anwendung besteht aus einer Sammlung verschiedener Komponenten, die sich tendenziell ändern, weshalb Regressionstests häufiger erforderlich sind.
  • Aufgrund des mehrschichtigen Aufbaus ist es schwierig, Defekte zu isolieren.
  • Da ein Dienst von verschiedenen Schnittstellen genutzt wird, ist die Last schwer vorherzusagen, was die Planung von Leistungstests umständlich macht.
  • SOA ist eine Sammlung heterogener Technologien. Das Testen einer SOA-Anwendung erfordert Personen mit unterschiedlichen Kompetenzen, was wiederum die Planungs- und Ausführungskosten erhöht.
  • Da die Anwendung mehrere Dienste integriert, bringt das Sicherheitstesting einige Schwierigkeiten mit sich. Die Validierung von Authentifizierung und Autorisierung gestaltet sich schwierig.

SOA-Testtools

Auf dem Markt sind zahlreiche SOA-Testtools erhältlich, die Anwender beim Testen von SOA-Anwendungen unterstützen. Hier sind einige der gängigsten SOA-Testtools.

1) SoapUI

SoapUI ist ein Open-Source-Tool für funktionale Tests von Diensten und API-Tests.

  • Desktopanwendung
  • Unterstützt mehrere Protokolle – SOAP, REST, HTTP, JMS, AMF, JDBC
  • Webdienste können entwickelt, überprüft und aufgerufen werden.
  • Kann auch für Lasttests verwendet werden. Automatisierungstestsund Sicherheitstests
  • Stubs können von MockServices erstellt werden
  • Webdienstanfragen und -tests können automatisch über den Webdienstclient generiert werden.
  • Verfügt über integrierte Berichtswerkzeuge
  • Entwickelt von SmartBear, das sowohl das Open-Source SoapUI Vertrieb und das kommerzielle ReadyAPI Ausgabe

2) Broadcom Service Virtualization (ehemals iTKO LISA)

LISA ist eine Produkt-Suite, die eine Lösung für Funktionstests verteilter Systeme wie SOA bietet. Das Produkt wurde von iTKO an CA Technologies übertragen und wird heute unter dem Namen Broadcom Service Virtualization vertrieben.

  • Kann auch für Regressions-, Integrations-, Last- und Leistungstests verwendet werden.
  • Kann zum Entwerfen und Ausführen von Tests verwendet werden.

3) UFT One (ehemals HP Service Test)

Service Test ist ein funktionales Testtool, das sowohl UI- als auch Shared-Services-Tests unterstützt. Die API-Testfunktionen wurden in Unified Functional Testing integriert, das jetzt von [Name des Unternehmens/der Organisation] vertrieben wird. OpenText as UFT One.

  • Sowohl Funktionstests als auch Leistungstests von Diensten können mit einem einzigen Skript durchgeführt werden.
  • Integriert in Quality Center, jetzt verkauft als OpenText ALM / Qualitätszentrum.
  • Es lassen sich enorme Mengen an Diensten und Daten verwalten.
  • Unterstützt Interoperabilitätstests durch Simulation von JEE-, AXIS- und DotNet-Clientumgebungen.

4) Parasoft SOAtest

Parasoft SOAtest ist eine Suite von Test- und Analysetools, die für das Testen von APIs und API-gesteuerten Anwendungen entwickelt wurde.

  • Unterstützt Webdienste, REST, JSON, MQ, JMS, TIBCO, HTTP und XML-Technologien.
  • Funktions-, Komponenten-, Integrations-, Regressions-, Sicherheits-, Interoperabilitäts-, Konformitäts- und Leistungstests sind möglich.
  • Stubs können erstellt werden mit Parasoft Virtualisieren, die leistungsfähiger sind als SoapUI MockServices.

Anwendungsfälle für SOA-Tests

Das untenstehende Beispiel wendet die oben genannten Strategien, Methoden und Werkzeuge schrittweise auf eine einzelne E-Commerce-Website an.

Betrachten Sie eine E-Commerce-Website, die die folgenden Funktionen und Unterfunktionen enthält.

Auftragsabwicklung

Das nachstehende Diagramm unterteilt die Auftragsabwicklung in die Teilfunktionen, die zu Dienstleistungen werden.

Die Auftragsabwicklung ist in Teilfunktionen wie Auftragserstellung, Bestandsprüfung und Auftragsstatusänderung unterteilt.

PHASE 1

In der ersten Phase des SOA-Tests, der Teststrategiephase, wird die Anwendung in Dienste und Geschäftsfunktionen unterteilt.

Betrachten wir die folgenden Dienste in der Anwendung.

  • Bestellung anlegen
  • Überprüfen Sie den Kundenstatus
  • Auftragsstatus ändern
  • Bestellstatus überprüfen
  • Inventar prüfen

Die Geschäftsfunktionen entsprechen den Funktionen der Website.

Hinweis: Das Teststrategiedokument enthält die Liste der Dienste und Funktionen, die getestet werden müssen.

PHASE 2

Dies ist die Testplanungsphase. Testfälle werden für jedes Level geschrieben.

End-to-End-Ebene. Für jeden Anwendungsfall und jeden Arbeitsablauf werden Testfälle erstellt. Nachfolgend finden Sie Beispiele für Testfälle.

  • Erstellen Sie eine Bestellung mit einem aktiven Benutzer.
  • Erstellen Sie eine Bestellung mit einem inaktiven Benutzer.
  • Erstellen Sie eine Bestellung mit einem verfügbaren Produkt, wobei die Bestellmenge kleiner als die verfügbare Menge ist.
  • Erstellen Sie eine Bestellung mit einem verfügbaren Produkt, wobei die Bestellmenge größer als die verfügbare Menge ist.
  • Erstellen Sie eine Bestellung mit mehreren Artikeln.
  • Eine Bestellung vollständig stornieren.
  • Eine Bestellung teilweise stornieren.

Integrationsgrad. Für die Integration von Datenbank und Benutzeroberfläche werden Testfälle erstellt. Nachfolgend finden Sie Beispieltestfälle.

  • Erstellen Sie eine neue Bestellung mit einem einzelnen Artikel. Stellen Sie sicher, dass die Bestellung in der Datenbank erstellt wird.
  • Erstellen Sie eine neue Bestellung mit einem einzelnen Artikel. Überprüfen Sie, ob der für die Bestellung berechnete Preis korrekt ist.
  • Erstellen Sie eine neue Bestellung mit einem einzelnen Artikel. Überprüfen Sie, ob die verfügbare Produktmenge um den Bestellwert reduziert wird.
  • Überprüfen Sie, ob der auf der Benutzeroberfläche angezeigte Status der Bestellung mit dem in der Datenbank übereinstimmt.
  • Stornieren Sie die Bestellung und überprüfen Sie, ob der Status der Bestellung in der Datenbank geändert wurde.
  • Bei der ersten Zahlung sollten Sie überprüfen, ob die in der Benutzeroberfläche eingegebenen Zahlungsdaten in der Datenbank gespeichert wurden.
  • Überprüfen Sie bei der Rückgabe von Zahlungen, ob die Zahlungsdetails in der Datenbank auf der Benutzeroberfläche angezeigt werden.

Service Level. Jeder Dienst wird auf alle Datenbedingungen getestet. Nachfolgend einige Beispiele.

Nein. Bestelldetails Bestellbedingung
1 Bestellung anlegen. Anzahl der Artikel = 1 Bestellmenge < Menge in der Datenbank
2 Bestellung anlegen. Anzahl der Artikel > 1 Bestellmenge < Menge in der Datenbank
3 Bestellung anlegen. Anzahl der Artikel = 1 Bestellmenge > Menge in der Datenbank
4 Bestellstatus überprüfen Status der Datenbank = Aktiv
5 Bestellstatus überprüfen Status in der Datenbank = Ausgeliefert
6 Bestellstatus überprüfen Status in der Datenbank = Abgebrochen
7 Bestellstatus überprüfen Bestell-ID = Ungültig
8 Überprüfen Sie die Produktverfügbarkeit Produktmenge >0
9 Überprüfen Sie die Produktverfügbarkeit Produktmenge =0
10 Überprüfen Sie die Produktverfügbarkeit Produkt-ID = ungültig

PHASE 3 — Testdurchführung

Die Testdurchführung erfolgt nach dem Bottom-up-Ansatz: Zuerst werden Tests auf Serviceebene durchgeführt, dann auf Integrationsebene und zuletzt auf End-to-End-Ebene.

1) Serviceniveau

Nehmen wir an, dass die SoapUI Das Tool dient zum Testen der Anwendung. Die WSDL und URL werden im Testfenster angezeigt SoapUIDie Anfrage für jeden Dienst wird im Anfragefenster angezeigt. Durch die Anpassung der Daten gemäß den Testfällen auf Dienstebene werden für jeden Testfall Anfragen erstellt.

Testfall PREISANFRAGE (Request) Erwartete Antwort
Bestellung erstellen. Anzahl der Artikel = 1, Bestellmenge < Datenbankmenge x2 2 o3251 Erfolgreich
Bestellung erstellen. Anzahl der Artikel > 1, Bestellmenge < Datenbankmenge y1 1 y2 3 o3251 Erfolgreich
Bestellung erstellen. Anzahl Artikel = 1, Bestellmenge > Datenbankmenge x23 200 Null Erfolglos
Bestellstatus prüfen. Status in der Datenbank = Aktiv o9876 Aktiv Erfolgreich
Bestellstatus prüfen. Status in der Datenbank = Versendet o9656 Versand Erfolgreich
Bestellstatus prüfen. Bestellnummer = Ungültig y5686 null Erfolglos
Produktverfügbarkeit prüfen. Produktmenge >0 d34 34 Ja Erfolgreich
Produktverfügbarkeit prüfen. Produktmenge = 0 y34 0 NEIN Erfolgreich
Produktverfügbarkeit prüfen. Produkt-ID = ungültig sder Erfolglos

2) Integrationsebene

Die Integrationstests werden auf der Benutzeroberfläche und der Datenbank ausgeführt. Erstellen Sie eine Bestellung mit einem einzelnen Artikel:

  • Ein Benutzer öffnet die Website.
  • Der Benutzer möchte eine Bestellung aufgeben.
  • Der Benutzer wählt ein gültiges Produkt und die entsprechende Menge aus und speichert die Bestellung.
  • Es sollte eine Meldung angezeigt werden, die bestätigt, dass die Bestellung erfolgreich aufgegeben wurde.
  • Der Benutzer öffnet die Datenbank und prüft, ob die Bestelldetails mit den auf der Website eingegebenen Daten übereinstimmen.

3) End-to-End-Ebene

Die Geschäftsprozesse und Anwendungsfälle werden über die Benutzeroberfläche ausgeführt. Erstellen Sie eine Bestellung mit mehreren Artikeln:

  • Ein Benutzer öffnet die Website.
  • Der Benutzer möchte eine Bestellung aufgeben.
  • Der Nutzer erkundigt sich nach einem gültigen Produkt und der gewünschten Menge und fügt diese dem Warenkorb hinzu.
  • Weitere gültige Produkte werden in den entsprechenden Mengen hinzugefügt und die Bestellung gespeichert. Die Zahlung erfolgt über eine neue Zahlungsmethode und die Bestellung wird aufgegeben.
  • Es sollte die Meldung „Bestellung erfolgreich aufgegeben“ angezeigt werden.
  • Ein Tester sollte überprüfen, ob der gesamte Ablauf ohne Datenverfälschung vollständig abläuft.

Häufig gestellte Fragen

Die Ebenen sind gleich, aber SOA-Dienste sind gröber und werden üblicherweise über einen Enterprise Service Bus (ESB) geleitet, weshalb Integrationstests auf den ESB abzielen. Microservices sind feiner granuliert und unabhängig voneinander einsetzbar, wodurch sich der Fokus auf die Integrationstests verlagert.tract und Resilienztests.

MittracT-Tests prüfen, ob ein Anbieter die von seinen Kunden erwartete Anfrage- und Antwortstruktur weiterhin einhält, üblicherweise anhand der WSDL oder des Schemas. Sie befinden sich zwischen Service- und Integrationsebene und erkennen inkompatible Änderungen vor einem vollständigen Integrationslauf.

Für eine feste Antwort genügt ein handgeschriebener Stub. Virtualisierung ist die Lizenz wert, wenn die Abhängigkeit gemessen, ratenbegrenzt oder zustandsbehaftet ist, da sie realistische Latenzzeiten, Fehlercodes und Datenvariationen wiedergibt, die ein statischer Stub nicht reproduzieren kann.

Ja. Die Schichten und Ebenen sind protokollunabhängig. SOAP-Dienste werden anhand der WSDL- und WS-Security-Regeln validiert, während REST-Dienste anhand einer OpenAPI-Definition, Statuscodes und tokenbasierter Authentifizierung validiert werden. Die meisten Tool-Suites unterstützen beides.

Machine-Learning-Modelle generieren Anfragenutzdaten aus einem Schema, ordnen Dienste nach Fehlerhistorie, sodass Regressionstests zuerst die risikoreichsten ausführen, und gruppieren Fehlerantworten über verschiedene Schichten hinweg, um den Ursprung eines Fehlers in einer mehrschichtigen Architektur einzugrenzen.

Copilot erstellt Anforderungspakete aus einer WSDL-Datei oder einem Schema, schreibt Assertionscode, generiert simulierte Dienste und Pipeline-Schritte. Der Tester muss jedoch weiterhin die Geschäftsregeln, Bedingungen für negative Daten und erwartete Fehlermeldungen bereitstellen, die das Modell nicht ableiten kann.

Code Eine übergreifende Abdeckung heterogener Dienste ist selten gegeben, daher messen Teams die Betriebsabdeckung (jede ausgeführte Operation), die Nachrichtenabdeckung (jeden Fehler- und Erfolgspfad) und die Abdeckung von Geschäftsszenarien. traced durch die Matrix, die während der Testplanung erstellt wurde.

Das Lesen von WSDL-, XSD- und XML- oder JSON-Payloads, das Schreiben von SQL-Abfragen zur Überprüfung ruhender Daten, der sichere Umgang mit API-Clients und das Verständnis der verwendeten Messaging-Middleware sind erforderlich. Grundlegende Skripting-Kenntnisse sind hilfreich, da die meisten Anwendungen automatisiert werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: