using json interface testing
Verwenden von JSON für Schnittstellentests:
Schnittstellentests überprüfen die Kommunikation zwischen zwei verschiedenen Systemen. Es wird an der zu testenden Anwendung durchgeführt, um zu überprüfen, ob die Hin- und Her-Kommunikation zwischen zwei Netzwerken korrekt durchgeführt wird.
Eine Schnittstelle ist im Grunde die Verbindung zwischen zwei Softwaresystemen und das Testen dieser Verbindung für die Datenübertragung wird als Schnittstellentest bezeichnet. Die Schnittstelle deckt eine breite Palette von Diensten in der realen Welt ab. Sie kann verwendet werden, um auf Webdienste, APIs usw. zu verweisen.
Eine Schnittstelle enthält eine Reihe von Regeln, Nachrichten, Befehlen usw., die die Kommunikation zwischen zwei Systemen erleichtern.
Diese Prüfung konzentriert sich hauptsächlich auf die Prüfung von zwei Hauptsegmenten:
- Datenbank- und Anwendungsserverkommunikation
- Web- und Anwendungsserverkommunikation
Ein Schnittstellentest wird durchgeführt, um die oben genannten Szenarien zu bewerten und zu überprüfen, ob die Komponenten die Steuerung und die Daten korrekt aneinander übergeben. Außerdem wird die Interaktion zwischen verschiedenen Modulen überprüft.
Was du lernen wirst:
- Warum wird ein Schnittstellentest durchgeführt?
- Wie wird es durchgeführt?
- Unterschied zwischen Schnittstellentests und Integrationstests
- Geschäftsszenario
- Setup der Testumgebung
- Starten Sie Ihre Tests
- Fazit
- Literatur-Empfehlungen
Warum wird ein Schnittstellentest durchgeführt?
Es wird durchgeführt, um Folgendes sicherzustellen:
- Wenn die Kommunikation zwischen den Systemen korrekt durchgeführt wird.
- Alle im System verwendeten Software- und Hardwarekomponenten funktionieren ordnungsgemäß.
- Alle mit der Kommunikation verknüpften Dokumente sind auf allen integrierten Plattformen verfügbar.
- Sicherheits- und Verschlüsselungsanforderungen gelten für die Kommunikation zwischen den Systemen.
- Die integrierten Komponenten sind in der Lage, Netzwerkfehler und Kommunikationsverluste zu behandeln.
Arten von gefundenen Fehlern
Die meisten Fehler, die beim Testen der Benutzeroberfläche festgestellt wurden, sind auf eine falsche Zuordnung der Daten zwischen den Systemen zurückzuführen. Daher können die meisten Fehler grundsätzlich in die folgenden Kategorien eingeteilt werden.
- Inkonsistente Datenübertragung zwischen den beiden Systemen.
- Eines der Systeme interpretiert die Datenübertragung von einem anderen System falsch.
- Der Übertragungskanal oder die Schnittstelle zwischen den beiden Systemen fällt aus, und dies schränkt die Datenübertragung zwischen den Systemen ein, wodurch die gesamte Schnittstelle ausfällt.
Wie wird es durchgeführt?
Es kann hauptsächlich in die folgenden Phasen eingeteilt werden:
- Schnittstellen können während einzeln getestet werden Systemtests . Diese Art der Prüfung wird hauptsächlich mit einem Stub- oder Dummy-System durchgeführt. Ein Dummy-System oder Stub verkörpert das Verhalten der gesamten Systeminteraktion.
- Ein weiterer Fall, in dem der Schnittstellentest durchgeführt wird, ist eine Verbindung, an der zwei Systeme miteinander kommunizieren.
- Daher testen wir, ob die von einem System gesendeten Daten korrekt zugeordnet und in ein anderes System eingefügt wurden oder nicht. Abgesehen von der Dateneinfügung prüfen wir auch die Datenintegrität, d. H. Die Daten wurden beim Einfügen in ein anderes System nicht manipuliert oder geändert usw.
- Tests können auch durchgeführt werden, wenn ein System Daten an eine andere Anwendungsdatenbank überträgt. Hier testen wir anhand der Zuordnung, ob die Daten eines Systems korrekt in eine bestimmte Spalte der angegebenen Tabelle eingefügt wurden. Wir werden auch die Datenintegrität und Datenkonsistenz in Bezug auf das Quellsystem testen.
In all diesen Testszenarien wird ein Schnittstellentest basierend auf den Geschäftsanforderungen und Geschäftsflussregeln durchgeführt.
Unterschied zwischen Schnittstellentests und Integrationstests
Die Überprüfung und Validierung der End-to-End-Funktionalität der miteinander verbundenen Komponenten wird aufgerufen Integrationstests oder populärer als Systemintegrationstest. Integrationstests überprüfen hauptsächlich, ob zwei oder mehr zusammen integrierte Systeme einwandfrei zusammengearbeitet haben oder nicht.
Testen Schnittstelle Andererseits konzentriert sich im Wesentlichen auf den Verbindungskanal zwischen den beiden Systemen. Der Verbindungskanal zwischen zwei oder mehr Systemen wird als Schnittstelle bezeichnet. Das Testen dieses Verbindungskanals wird als Schnittstellentest bezeichnet. Die meisten Schnittstellen sind entweder APIs oder Webdienste. Es hat keine Benutzeroberfläche, nimmt jedoch eine Eingabe entgegen und präsentiert dem Benutzer eine Ausgabe.
Zum Beispiel
Im obigen Beispiel teilen sich die Website und die Datenbank eine Schnittstelle, um die Anmeldeinformationen zu übertragen, d. H. Benutzername und Passwort.
Die Schnittstelle verwendet den Webdienst, um die Anmeldeinformationen an die Datenbank zu senden, die wiederum die Authentizität der eingehenden Nachricht (Benutzername und Kennwort) überprüft und den Wert als true zurückgibt, wenn sowohl der Benutzername als auch das Kennwort mit dem in der Datenbank vorhandenen Datensatz übereinstimmen oder false, falls einer von ihnen oder sowohl der Benutzername als auch das Passwort nicht mit den darin enthaltenen Daten übereinstimmen.
Lassen Sie uns das Beispiel für Schnittstellentests diskutieren:
Nehmen wir an, wir haben eine Anwendung, in der verschiedene Datenbanken miteinander interagieren.
In diesem Beispiel Wir werden zwei Datenbankinteraktionen über einen Schnittstellenkanal betrachten.
Nehmen wir an, es gibt zwei Datenbanken oder Anwendungen, Datenbank A und B. 'A' überträgt einige Daten an 'B', die dann von B verwendet werden, um eine Operation auszuführen. Nach einer bestimmten Operation für die eingehenden Daten fügt B diese Daten in die Datenbank ein und erstellt einen Ausgabe-JSON zur Bestätigung mit der Liste der aktualisierten Daten und sendet ihn zurück an A.
Sowohl A als auch B verwenden den Schnittstellenkanal für die Kommunikation zwischen ihnen.
Geschäftsszenario
'A' enthält Mitarbeiterdaten für alle Mitarbeiter der Finanzabteilung.
Die Daten müssen nach „B portiert werden '' täglich. 'B' enthält Daten zu allgemeinen Mitarbeiterdetails. Alle Daten von 'A' müssen in eine bestimmte Tabelle und Spalte von 'B' übertragen werden. Neben den eingegebenen Daten muss „B“ auch Daten sortieren und organisieren. Es muss auch sichergestellt werden, ob die Daten für den richtigen Mitarbeiter eingegeben wurden.
Sobald die Daten in das System eingegeben wurden, sollte 'B' einen JSON-Ausgang senden, um zu bestätigen, ob die Daten in die Datenbank eingefügt wurden.
Im Falle einer Diskrepanz im JSON-Schema oder fehlender Daten verarbeitet „B“ die Daten nicht und sendet eine Ablehnungs-JSON-Nachricht mit dem Grund für die Ablehnung.
Setup der Testumgebung
Um ein Szenario wie dieses zu testen, benötigen wir einen Teststub, um die Datenbank „A“ nachzuahmen. Der Entwickler kann einen Speicherort angeben, an dem Sie entweder Ihren Test-JSON oder eine Schein-Benutzeroberfläche sichern und Ihre JSON-Daten einfügen und die Verarbeitung über die Schnittstelle aufrufen können. Zu Testzwecken können wir auch einen Ausgabeort haben, an dem wir die Bestätigungs-JSON von „B“ erhalten können.
In unserer Beispiel Wenn wir einen Ordnerpfad verwenden, in dem wir unseren Test-JSON ablegen, wird der Dienst ständig den Speicherort für die JSON-Datei durchsuchen. Sobald die Datei vorhanden ist, nimmt der Dienst die Datei auf und sendet sie über die Schnittstelle an „B“. Sobald die Datei abgeholt wurde, wird sie vom Abholort gelöscht.
Starten Sie Ihre Tests
Nachdem die Testumgebung eingerichtet wurde, müssen im nächsten Schritt die Testdaten erstellt werden.
Beim Erstellen von Testdaten (Lesen von Test-JSON) sollten wir einige Dinge beachten:
- Befolgen Sie die Geschäftsregeln.
- Stellen Sie sicher, dass die Pflichtfelder vorhanden sind.
- Ändern Sie den Wert der Felder gemäß den Geschäftsregeln für jeden Test.
- Stellen Sie sicher, dass das JSON-Schema das richtige Format hat.
- Stellen Sie sicher, dass die Nomenklatur für den JSON-Dateinamen eingehalten wurde.
Werfen wir einen Blick auf den Beispieltest JSON, den wir zum Testen verwenden werden:
{ 'employeeID ': 2569875, 'LastName': “Jackson”, 'baseSalary': 2569, 'DesignationCode':'P102', “Expenditure”:{ 'Month':“Feb”, 'Year': 2017, 'Official':560, 'Others”:0, } }
Beginnen Sie Ihren Test
Nachdem Sie Ihre Test-JSON-Datei erstellt haben, legen Sie sie am Abholort ab. Der Dienst nimmt dies auf und veröffentlicht es in der Datenbank B.
Zu testende Szenarien:
Es kann eine Reihe von Szenarien geben, die für dieses Beispiel getestet werden müssen:
- Arbeiten mit dem Webdienst zum Senden und Empfangen von Daten.
- Datenintegrität für die Eingabedaten. Dies kann überprüft werden, indem Tabellen und Spalten in Datenbank B nach den über den Test-JSON eingegebenen Daten abgefragt werden.
- Negative Szenarien.
Zuerst prüfen wir, ob die Test-JSON-Datei vom Speicherort abgeholt wurde oder am Speicherort nicht vorhanden ist. Dadurch wird die Funktionsweise des Dienstes überprüft. Als Nächstes navigieren wir zum Ausgabeordner, um den Ausgabe-JSON anzuzeigen. Das Vorhandensein der Ausgabe JSON überprüft, ob die Eingabedaten an die Datenbank B gesendet wurden und eine Bestätigung dafür empfangen wurde.
Der nächste Teil des Testens besteht in der Validierung der in die Datenbank eingegebenen Daten.
Im obigen Test überprüfen wir, ob die über den Test-JSON gesendeten Daten korrekt in die Datenbank eingegeben wurden. Wir werden Datenintegrität, Datenkonsistenz und Dateneinfügung validieren. Wir müssen die Datenbank B nach der angegebenen Spalte in einer bestimmten Tabelle abfragen, um zu überprüfen, ob die Daten korrekt in die Tabelle eingefügt wurden.
Nehmen wir an, wir haben eine EmpDetails-Tabelle, in die die Daten eingefügt werden müssen. Wir werden also eine Abfrage ausführen, um die Daten zu validieren.
Die Abfrage wird ungefähr so aussehen:
SELECT employeeID, LastName, baseSalary, DesignationCode, Month, Year, Official, Others FROM EmpDetails Where employeeID = 2569875;
Hier verwenden wir die employeeID als Primärschlüssel für die Abfrage der Daten in der EmpDetails-Tabelle. Wir werden den gesamten Spaltennamen abfragen, in den die Daten eingefügt wurden. Anschließend können die Daten im Spaltennamen mit den über JSON gesendeten Daten überprüft werden.
In dem obigen Fall werden die Daten aus dem JSON in mehr als einer Tabelle in der Datenbank gespeichert. Daher können Sie SQL JOINS verwenden, um alle gewünschten Daten abzurufen.
Der dritte Schritt beim Testen besteht darin, die negativen Szenarien zu testen.
Einige der negativen Szenarien, die getestet werden können, sind:
- Das Verhalten des Systems, wenn falsche Daten über JSON eingespeist werden.
- Wenn der JSON das falsche Schema oder die falsche Struktur hat.
- Wenn dem verarbeiteten JSON der Primärschlüssel oder Pflichtfelder fehlen.
- Die Nomenklatur der JSON-Datei ist ungültig.
In all diesen Fällen sollte das System in der Lage sein, diese Szenarien zu verarbeiten, und es sollten keine Daten gemäß der Geschäftsregel in das System eingefügt werden.
Fazit
Der Verbindungskanal zwischen zwei Systemen, über die Daten übertragen werden, wird als Schnittstelle bezeichnet, und der Schnittstellentest dient hauptsächlich dem Testen dieser Verbindungen. Die meisten Schnittstellen verwenden Webdienste oder APIs. Es gibt nicht immer eine Benutzeroberfläche, aber es akzeptiert Eingaben und liefert Ausgaben.
zirkuläre Array-Warteschlange c ++
JSON ist eines der am häufigsten verwendeten Datenübertragungsformate und kann für die Schnittstellendatenübertragung verwendet werden.
Ein Tester muss über grundlegende JSON-Strukturkenntnisse verfügen, um Testdaten (in Form von JSON) zu erstellen und Ausgabedaten aus dem System zu lesen. Ein Tester sollte auch mit der Zuordnung zwischen JSON-Schlüsseln und Datenbanktabellenspalte vertraut sein.
Jeder Tester, der an Schnittstellentests arbeiten möchte, sollte über klare Kenntnisse der Geschäftsrichtlinien und der Regeln einer Anwendung verfügen. Ein Tester sollte auch über ausreichende Kenntnisse der Datenbank verfügen und einfache SQL-Abfragen schreiben können.
Bei Fragen oder Erläuterungen wenden Sie sich bitte im Kommentarbereich an uns.
Tutorial Nr. 5: Fragen zum JSON-Interview
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Datenbanktests mit JMeter
- Testen von Primer eBook Download
- 40+ Best Database Testing Tools - Beliebte Datentestlösungen
- Tutorial zum Testen von GUI: Ein vollständiges Handbuch zum Testen der Benutzeroberfläche
- Ein einfacher Ansatz für XML zum Testen von Datenbanken
- Tutorial zum Testen von ETL-Data Warehouse-Tests (Eine vollständige Anleitung)
- Was ist Schnittstellentest? Kennen Sie seine Typen, Strategien und Werkzeuge