Sobes.tech
Middle

Gib ein Beispiel, wie du Testfälle für eine PUT-Anfrage auswählen würdest.

sobes.tech KI

Antwort von AI

Für die Auswahl von Testfällen für die PUT-Anfrage würde ich die folgenden Ansätze anwenden, wobei ich mich auf verschiedene Aspekte konzentriere:

  • Gültige Daten:

    • Erstellen / Ändern eines Datensatzes mit korrekten, vollständigen Daten.
    • Nur bestimmte Felder ändern, die anderen bleiben unverändert.
    • Alle Felder auf neue, gültige Werte ändern.
    • Verwendung von Grenzwerten für numerische Felder (Minimal, Maximal).
    • Verwendung verschiedener Datenformate, die in der Spezifikation erlaubt sind (z.B. Datum, Uhrzeit).
  • Ungültige Daten:

    • Übermittlung von Daten mit falschem Feldtyp (z.B. String statt Zahl).
    • Übermittlung von Daten, die die Einschränkungen bei der Länge der Zeichenkette oder dem Zahlenbereich verletzen.
    • Übermittlung von Daten, die die Einzigartigkeit des Feldes verletzen (falls zutreffend).
    • Übermittlung von Daten mit falschem Format (ungültiges Datum, E-Mail).
    • Fehlende Pflichtfelder.
    • Übermittlung leerer Strings oder null für Felder, die nicht leer sein dürfen.
  • Vorhandensein der Ressource:

    • PUT-Anfrage an eine vorhandene Ressource.
    • PUT-Anfrage an eine nicht vorhandene Ressource (Erwartete Antwort 404).
  • Autorisierung und Authentifizierung:

    • PUT-Anfrage mit korrekten Anmeldedaten eines Benutzers, der das Recht hat, die Ressource zu ändern.
    • PUT-Anfrage mit falschen oder fehlenden Anmeldedaten (erwartet 401 Unauthorized oder 403 Forbidden).
    • PUT-Anfrage von einem Benutzer ohne die erforderlichen Rechte zur Änderung dieser Ressource (erwartet 403 Forbidden).
  • Synchronisierung und Konkurrenz:

    • Gleichzeitige PUT-Anfragen an dieselbe Ressource (z.B. mit ETag).
  • Fehlerbehandlung:

    • PUT-Anfrage, die einen Fehler auf Serverseite verursachen soll (z.B. aufgrund eines internen Fehlers).

Beispieltabelle mit Testfällen:

ID Beschreibung des Testfalls Voraussetzungen Testdaten (Teils der Anfrage) Erwartetes Ergebnis HTTP-Code
PUT-001 Änderung einer bestehenden Ressource mit gültigen Daten Ressource mit ID=123 existiert { "name": "Neuer Name", "value": 100 } Ressource erfolgreich aktualisiert, Daten entsprechen der Anfrage 200
PUT-002 Änderung einer bestehenden Ressource mit teilweiser Aktualisierung Ressource mit ID=123 existiert { "name": "Nur Name geändert" } Ressource erfolgreich aktualisiert, nur das Feld name geändert 200
PUT-003 Versuch, eine nicht existente Ressource zu ändern Ressource mit ID=999 existiert nicht { "name": "Nicht existente Aktualisierung" } Ressource nicht gefunden 404
PUT-004 Änderung einer Ressource mit ungültigem Datentyp Ressource mit ID=123 existiert { "value": "nicht_eine_nummer" } Validierungsfehler bei den Daten 400
PUT-005 Änderung einer Ressource ohne Authentifizierung Ressource mit ID=123 existiert, Anfrage ohne Token { "name": "Unbefugte Änderung" } Nicht autorisiert 401

Jeder Testfall sollte atomar sein und einen bestimmten Aspekt der Funktionalität der PUT-Anfrage überprüfen.