Der Moment, in dem sich die Anforderung ändert
Eine Anfrage zu senden beantwortet die Frage „Was macht dieser Endpunkt gerade?“. Eine Prüfung beantwortet die Frage „Macht dieser Endpunkt immer noch das, was er soll?“. Für die zweite Frage brauchen Sie drei Dinge, die für die erste überflüssig sind: einen Ort, an dem die Erwartung hinterlegt ist, eine Möglichkeit, den Lauf ohne einen Menschen auszulösen, und eine Möglichkeit zu bemerken, wenn sich die Antwort ändert.
Genau deshalb sieht das Tooling anders aus, und es lohnt sich, das auszusprechen: Viele Teams versuchen, dorthin zu kommen, indem sie Anfragen als Lesezeichen ablegen.
Was eine ReqBin Alternative zusätzlich leisten muss
| Dimension | Ad-hoc-Tools für Anfragen | TestSprite |
|---|---|---|
| Was Sie erhalten | Eine Antwort, die Sie lesen | Ein Urteil, gemessen an einer Erwartung |
| Wo die Erwartungen liegen | In Ihrem Kopf | Im Testfall, versioniert |
| Wer es ausführt | Sie, wenn Sie daran denken | Die Pipeline, bei jeder Änderung |
| Mehrstufige Abläufe | Werte von Hand zwischen Tabs kopieren | Dynamic Variables und Dependency Chains |
| Aufräumen | Alles, woran Sie beim Löschen denken | Auto-Cleanup, an den Lauf gekoppelt |
| Benachrichtigung | Keine | Ein Kommentar am Pull Request oder ein Commit-Check |
Drei Fragen, die zeigen, was Sie brauchen
Muss noch jemand anderes das ausführen können? Wenn ja, muss es Ihren Browser verlassen.
Umfasst der Ablauf mehr als einen Aufruf? Sobald ein Wert von einer Anfrage zur nächsten wandern muss, skaliert manuelles Kopieren nicht mehr.
Möchten Sie es erfahren, wenn über Nacht etwas kaputtgeht? Genau hier verläuft die Grenze zwischen einem Werkzeug und einer Prüfung.
Ein Ja bedeutet, dass Sie einem reinen Request-Sender entwachsen sind. Drei bedeuten, dass der Wechsel längst überfällig war.
Nicht mehr kaufen als nötig
Wenn Sie wirklich nur gelegentlich eine Anfrage absetzen müssen, bleiben Sie dabei. ReqBin und curl sind völlig in Ordnung, und nichts hier spricht gegen sie. Der Wechsel lohnt sich erst, wenn an der Anfrage eine Erwartung hängt – vorher nicht.
So bewerten Sie jede dieser Optionen
Machen Sie absichtlich etwas kaputt. Bauen Sie eine echte Regression ein, etwa ein Speichern, das nicht mehr persistiert, und sehen Sie sich an, was jeder Kandidat meldet. Schlägt der Test fehl, benennt der Fehlschlag die tatsächliche Abweichung, und könnte die Person, die das behebt, direkt mit dieser Ausgabe anfangen, ohne sich den Hergang erneut herzuleiten? Ein Tool, das einen Lauf als bestanden meldet, der seine Assertions nie erreicht hat, ist bei der einzigen Prüfung durchgefallen, die zählt.
Der Zwischenschritt, den die meisten überspringen
Zwischen dem Absetzen einer Anfrage aus einem Browser-Tab und dem Aufbau einer vollständigen Suite gibt es einen Mittelweg, und dass er übersprungen wird, ist der Grund, warum viele Teams länger bei Ad-hoc-Tools bleiben, als sie sollten.
Dieser Schritt besteht darin, die Erwartung überhaupt irgendwo festzuhalten. Eine Textdatei mit dem Endpunkt, dem, was Sie gesendet haben, und dem, was zurückkommen soll, ist keine Automatisierung – und sie liefert Ihnen bereits zwei Dinge, die ein Browser-Tab nicht bietet: Jemand anderes kann sie ausführen, und Sie erkennen, ob sich die Antwort geändert hat. Die meisten Teams, die glauben, sie bräuchten Tooling, brauchen genau das, und das herauszufinden kostet zehn Minuten.
Wirklich mehr brauchen Sie erst dann, wenn die Ausführung von Hand schlicht nicht mehr stattfindet. Das ist ein Problem der Terminierung und nicht der Ausdrucksstärke – und genau das bringt der Sprung zu einer echten Suite.
Erste Schritte
Terminal
npm install -g @testsprite/testsprite-cli
testsprite setup
Das Dashboard deckt dasselbe ab, wenn Sie keine lokale Installation möchten, und den vollständigen Befehlsumfang finden Sie im CLI-Repository.
Zwei Wege, und die Entscheidung hängt vor allem davon ab, wer die Pipeline verantwortet. Die Anbindung der GitHub App über das Dashboard erfordert überhaupt keine Änderung an Ihrem Repository, weil sie auf das Deployment reagiert, das Ihr Build ohnehin erzeugt. Ein zusätzlicher Schritt mit GitHub Actions legt die Prüfung dorthin ins Repository, wo sie wie der Rest des Builds reviewt wird.
Was Sie erhalten, wenn aus einer Anfrage eine Prüfung wird
Einen Ort, an dem die Erwartung hinterlegt ist, einen Auslöser, der nicht Sie sind, und eine Benachrichtigung, wenn sich die Antwort ändert. Diese drei Punkte machen den gesamten Unterschied aus, und genau die liefert TestSprite.
Mehrstufige Abläufe sind keine Copy-and-paste-Übung mehr: Dynamic Variables tragen einen Bezeichner von einem Aufruf in den nächsten, und Dependency Chains ermitteln, was zuerst passieren muss. Auto-Cleanup entfernt, was ein Lauf angelegt hat, damit sich der zehnte Lauf so verhält wie der erste.
Der Weg dorthin ist kurz. Richten Sie ein Projekt auf Ihre Basis-URL aus, lassen Sie die Discovery die Endpunkte erfassen, prüfen Sie den Plan und verbinden Sie ihn mit Ihrem Repository, damit er bei jeder Änderung läuft. Wenn Sie wirklich nur gelegentlich eine Anfrage absetzen müssen, bleiben Sie dabei; hierum geht es erst, sobald eine Erwartung daran hängt.
Ist curl eine gute Alternative?
Zum Senden von Anfragen ja, und es lässt sich besser mit Skripten kombinieren. Es hat dieselbe Grenze: keine Erwartung, kein Zeitplan, keine Benachrichtigung.
Brauchen wir ein Konto?
Für Ad-hoc-Anfragen nein. Für Prüfungen, die ohne Sie laufen, muss etwas die Erwartung und die Historie vorhalten, und das bedeutet einen Dienst.
Und eine gemeinsam genutzte Postman-Collection?
Ein vernünftiger Zwischenschritt. Sie erhalten teilbare Anfragen, und Session, Reihenfolge und Aufräumen werden zu Skripten, die Sie pflegen.
Wie viel Einrichtung braucht es bis zur ersten Prüfung?
Richten Sie ein Projekt auf Ihre Basis-URL aus, lassen Sie die Discovery die Endpunkte erfassen, prüfen Sie den Plan. Das Prüfen ist der Teil, der Urteilsvermögen erfordert.
Kann es eine private API testen?
Es braucht ein erreichbares Ziel. Ein Dienst in einem privaten Netzwerk benötigt für API-Läufe eine nach außen erreichbare Umgebung.
Aus einer Anfrage wird eine Prüfung, sobald sie eine Erwartung hat.
Zum Senden einer Anfrage ist ReqBin völlig ausreichend. Eine ReqBin Alternative brauchen Sie, wenn an der Anfrage eine Erwartung hängt, wenn mehr als ein Aufruf beteiligt ist oder wenn sie ohne Sie laufen muss. Unterhalb dieser Grenze sollten Sie nicht mehr kaufen als nötig.