Menü

Grenzüberschreitende Adressszenarien: wie viele Länder stecken in einer Bestellung

Grenzüberschreitende Adressszenarien sind meist ein Ein-Land-Problem in Verkleidung. Eine Transaktion kann mehrere Länderwerte tragen, die sich einigen müssen.

Veröffentlicht am

  • Grenzverkehr
  • Adresse
  • Testdaten

Grenzüberschreitende Adressszenarien werden oft so getestet, als wandere ein einziger Länderwert durch die Transaktion. In der Praxis trägt eine Bestellung häufig mehr als einen: wo die Kundin registriert ist, wohin die Rechnung geht, wohin das Paket geliefert wird und nach den Identitätsregeln welchen Landes die Person geprüft wurde.

Jeder dieser Werte ist ein berechtigtes Land, und sie müssen nicht übereinstimmen. Die interessante Arbeit besteht darin, zu entscheiden, was übereinstimmen muss, was abweichen darf und welcher der Werte eine Prüfregel bestimmen darf.

Wie viele Länderwerte kann eine Bestellung tragen?

Vier sind eine brauchbare Ausgangszahl, und sie sind so verschieden, dass das Zusammenlegen von zweien Information vernichtet.

Rolle Was sie beschreibt Wann sie sich ändert
Registrierungsland Wo das Konto angelegt wurde Praktisch nie
Rechnungsland Welchen Regeln und welcher Währung die Zahlung folgt Beim Wechsel der Zahlungsart
Lieferland Wohin die Ware geht Bei jeder Bestellung
Identitätsland Mit welchem Dokument die Person geprüft wurde Bei Erneuerung oder Ersatz des Dokuments

Ein fünfter Wert erscheint, sobald eine Plattform, ein Marktplatzhändler und ein Kurier jeweils eine eigene Sicht auf das Ziel halten. Das ist kein Randfall, sondern die normale Form einer grenzüberschreitenden Transaktion mit mehr als einem Beteiligten.

Die erste Modellierungsentscheidung lautet, ob diese Werte als eine Adresse mit mehreren Bezeichnungen gespeichert werden oder als mehrere Adressen, die zufällig zusammenhängen. Beides kann funktionieren, aber ein System, das ein einziges Land speichert und es bei jedem Schritt überschreibt, kann anschließend die Frage nicht beantworten, die ein Streitfall stellen wird: Welches Land galt in dem Moment, in dem die Bestellung aufgegeben wurde?

Welcher davon sollte die Prüfung bestimmen?

Eine allgemeingültige Antwort gibt es nicht, und genau deshalb muss die Regel aufgeschrieben werden. Es existieren mehrere vertretbare Richtlinien, und sie stillschweigend zu vermischen erzeugt den Defekt, bei dem ein Wert auf einer Seite angenommen und auf der nächsten abgelehnt wird.

Eine Richtlinie besagt, dass das Lieferland bestimmt, weil die Adresse, die physisch erreichbar sein muss, am wichtigsten für die Konventionen ist. Eine andere besagt, dass das Rechnungsland bestimmt, weil Zahlungsinstrumente und ihre Regeln meist der zahlenden Person folgen. Eine dritte besagt, dass jedes Feld gegen das Land geprüft wird, zu dem es gehört – die korrekteste und die aufwendigste Umsetzung.

Welche Sie auch wählen: Das Fehlerbild des Nichtwählens ist gleichbleibend. Zwei Komponenten widersprechen sich, der Person wird mitgeteilt, ihre Adresse sei ungültig, und nichts in der Meldung sagt, auf welchen der vier Länderwerte sich die Beanstandung bezieht.

Was geschieht, wenn die Felder einander widersprechen?

Ein Widerspruch ist normalerweise ein Signal und kein Fehler. Eine Lieferadresse in einem Land und eine Telefonnummer, deren Vorwahl zu einem anderen gehört, ist für jemanden nahe einer Grenze unauffällig, und zugleich ein bekanntes Muster bei Betrug. Sie automatisch als ungültig zu behandeln, kostet daher legitime Kundschaft.

Der praktische Ansatz besteht darin, blockierende Bedingungen von beratenden zu trennen. Nur sehr wenige Widersprüche verhindern tatsächlich, dass eine Bestellung weiterläuft; die meisten senken lediglich die Sicherheit, und Sicherheit lässt sich besser als gesammeltes Signal für eine Prüfung behandeln denn als Validierungsfehler gegenüber der Kundin.

Die Testsuite sollte daher bewusste Abweichungen enthalten. Ein Lieferland, das vom Rechnungsland abweicht, eine Vorwahl, die zu einem dritten Land gehört, und eine Währung, deren übliche Heimat ein viertes ist, sind drei Fälle, die ein Fixture mit einem einzigen Land nie erzeugen kann, und genau dort sammeln sich grenzüberschreitende Defekte.

Zu einem dieser Signale gibt es bereits einen eigenen Leitfaden, nämlich zur Zuordnung von Telefonvorwahlen und Orten, der die Vorwahlseite ausführlich behandelt; hier genügt der Hinweis, dass das Signal zu einem anderen Land gehört als die Adresse, die es begleitet.

Wer verantwortet die Entscheidung, wenn ein Wert abgelehnt wird?

Die Zuständigkeit ist der Teil, der übersprungen wird, und ihr Fehlen macht aus einem grenzüberschreitenden Fehler eine lange Diskussion.

Zu jeder Prüfregel sollte jemand drei Fragen beantworten können. Welcher Länderwert hat diese Regel ausgewählt? Wie ist die Regel begründet? Und wer kann sie ändern? Eine Regel ohne bekannte Zuständigkeit lässt sich nicht gefahrlos anpassen, also bleibt sie bestehen und sammelt an den Rändern Ausnahmen.

Die Vergabe von Zuständigkeiten legt zugleich Regeln offen, die ohne Grund existieren. Eine geerbte Regel, die einen wohlgeformten Wert für ein Land ablehnt, mit dem niemand handelt, ist reiner Aufwand, und sie tritt erst zutage, wenn jemand sie verteidigen soll.

Für Entwickler: die Rollen modellieren, nicht ein Länderfeld

Geben Sie jeder Rolle einen eigenen Wert mit eigenem Lebenszyklus und eigener Prüfung, und lassen Sie die Transaktion festhalten, welche Rolle welche Entscheidung bestimmt hat. Diese eine Änderung verwandelt die meisten grenzüberschreitenden Fragen von Archäologie in einen Nachschlagevorgang.

Testen Sie anschließend die Kombinationen statt der Felder. Eine Matrix, in der Lieferland, Rechnungsland und Vorwahl unabhängig variiert werden, ist klein genug zum Ausführen und groß genug, um die wichtigen Widersprüche zu finden. Ist ein kleines Territorium beteiligt, behandelt der Leitfaden zu den kleinen Territorien und Sondercodes die spezifischen Fallstricke, denn bei solchen Zielen werden Rollenkonflikte am häufigsten falsch behandelt.

Halten Sie die entstehenden Fälle lesbar. Ein Fall, der nach dem benannt ist, was er variiert, ist mehr wert als ein Fall, der nach dem Ticket benannt ist, das ihn erzeugt hat. Für die Form der Adresse selbst, wenn das Land einmal feststeht, zeigen das Länder- und Regionenverzeichnis und eine Seite wie der Eintrag zu Deutschland, wie die Konventionen eines einzelnen Landes isoliert beschrieben werden – der richtige Vergleichspunkt, bevor ein zweites Land in die Transaktion kommt.

Alle Adressen, Länderkombinationen und Bestelldetails in diesem Beitrag sind fiktive Beispiele zur Veranschaulichung einer Modellierungsfrage. Sie beschreiben keine reale Kundschaft, keine reale Bestellung und keine reale Transaktion, und kein hier gezeigter Wert sollte als Datensatz aus einem Produktivsystem gelesen werden.

Nächste Schritte

Nehmen Sie einen vorhandenen Bestelldatensatz und versuchen Sie, allein aus den gespeicherten Daten zu beantworten, welches Land jede Prüfung bestimmt hat, die während des Bezahlvorgangs lief. Ist eine dieser Antworten nicht verfügbar, sind die Rollen noch nicht getrennt modelliert. Der Leitfaden zu Land und Sprache in Testdaten behandelt die benachbarte Unterscheidung zwischen dem Ort und der Sprache, die grenzüberschreitende Fälle in gleicher Weise verwechseln.

Weiterlesen

Artikel zu Formate für Adress- und Identitätsdaten in 86 Ländern