Testing & QA · 6 Min. Lesezeit

Fake-Adressgenerator: Gültige Testadressen erstellen (2026)

Ein Fake-Adressgenerator erzeugt strukturell gültige synthetische Adressen für Formular- und QA-Tests. Erfahren Sie mehr über Feldreihenfolge, Abdeckung in 38 Ländern, Seeding und Grenzen.

Von Charlie Simmon ·

Ein Fake-Adressgenerator erzeugt Adressen, die strukturell korrekt aussehen, aber keinen realen Haushalt, kein Unternehmen und kein Postfach beschreiben. Genau diese Unterscheidung macht das Produkt aus. Die Ausgabe ist ein Fixture für Formulartests, Datenbank-Seeding, Screenshot-Mockups und Demo-Umgebungen. Sie ist kein Weg, eine Person zu erreichen, und kein Ersatz für einen Adressverifizierungsdienst. Jede Adresse, die diese Seite zurückgibt, wird aus synthetischen Fixtures zusammengesetzt.

Das Nützliche an einer generierten Adresse ist ihre Form: die Zeilenreihenfolge, das Muster der Postleitzahl, der Bundesstaats- oder Provinzcode, der Zeichensatz. Genau diese Dinge bringen Formulare in der Produktion zum Scheitern. Eine generierte Adresse, die sie ignoriert, ist schlimmer als gar kein Fixture, weil sie Ihr Formular besteht und dann bei Live-Daten versagt – oder Ihr Formular aus einem Grund ablehnt, der gar nicht auftreten kann. Dieser Leitfaden behandelt, was ein Generator richtig machen muss, wie man ihn seedet und wie synthetische Daten an Orte gelangen, an die sie niemals gehören.

Was eine synthetische Adresse tatsächlich enthält

Jedes Ergebnis wird aus einer Länderdefinition, einer von fünf Stadt-Fixtures dieses Landes, einer Straßennamenliste, einer Hausnummer und einem Postleitzahlenmuster zusammengesetzt. Der Generator wählt ein Land, wählt darin ein Stadt-Fixture, baut eine Straßenzeile in der lokalen Reihenfolge und füllt die Postleitzahl aus dem Muster. Nichts wird aus einer Lieferdatenbank entnommen, und nichts wird von einem echten Briefkasten kopiert.

Das ergibt zwei Garantien und zwei Nicht-Garantien. Garantiert: Das Format folgt den Konventionen des Landes, und derselbe Seed liefert dieselbe Adresse. Nicht garantiert: dass die Straße unter dieser Nummer existiert oder dass eine nicht-US-Postleitzahl zu einem realen Zustellgebiet gehört. Für US-ZIPs gibt es eine separate Existenzprüfung gegen einen Datensatz mit 40.979 Zeilen im Postleitzahlen-Checker. Außerhalb der Vereinigten Staaten ist die Prüfung rein strukturell, und die Seite sagt das auch, statt mehr zu suggerieren.

  • Format: bei jeder Ausgabe korrekt für das gewählte Land
  • Reproduzierbarkeit: deterministisch für einen gegebenen Seed
  • Existenz: nur US-ZIP-Lookup, gegen 40.979 Zeilen
  • Zustellbarkeit: nie zugesagt und nie durch ein grünes Häkchen impliziert
  • Personenbezogene Daten: keine, da keine reale Person repräsentiert wird

Warum Formatkorrektheit auch bei Wegwerfdaten zählt

Adressformulare testen selten die Adresse. Sie testen die Validierungsschicht, die Maskierung, die Längenbegrenzungen, die Abhängigkeit von Land zu Region und den Serializer, der die Zeile in die Datenbank schreibt. Ein Fixture, das bereits fehlerhaft ist, verdeckt all das. Wenn Ihr kanadisches Fixture „123 Main St, Toronto, ON 12345“ lautet, akzeptiert das Formular ein Muster, das eine echte kanadische Postleitzahl niemals erfüllen kann, und der Bug geht in Produktion.

Der umgekehrte Fehler ist ebenso häufig. Teams schreiben von Hand ein Fixture, das echt aussieht, aber für das Land falsch ist, und bauen dann einen Workaround in den Validator ein, damit er es akzeptiert. Ein halbes Jahr später ist der Workaround tragend, und niemand erinnert sich, warum das deutsche Postleitzahlenfeld Buchstaben erlaubt. Generierte Daten, die den veröffentlichten Mustern folgen, beseitigen beide Arten der Drift – solange der Generator selbst ehrlich darüber ist, was er weiß.

Wo synthetische Adressen das richtige Werkzeug sind

Synthetische Adressen gehören in jede Schicht unterhalb der Produktion: Unit-Tests für Parser und Validatoren, Integrationstests, die Adresszeilen schreiben und lesen, End-to-End-Tests, die ein Checkout-Formular ausfüllen, Lasttests, die Volumen brauchen, ohne einen echten Kunden zu berühren, und lokalisierte Screenshot-Läufe für eine Marketingseite. Sie sind auch für Fuzzing nützlich, weil man gezielt Werte an der Grenze eines Längenlimits oder eines Zeichensatzes erzeugen kann.

Sie sind das falsche Werkzeug für alles, was von einem realen Zustellpunkt abhängt. Verwenden Sie sie nicht für Betrugsprüfungen, Identitätsverifizierung, Sperrumgehung, Account-Farming, Bewertungsmanipulation oder das End-to-End-Testen einer Versandintegration. Eine synthetische Adresse hat keinen Briefkasten, daher wird jeder Schritt scheitern, der einen tatsächlichen Carrier-Scan erfordert, und die Verwendung generierter Identitäten, um Waren oder Dienstleistungen zu erlangen, ist Betrug – unabhängig davon, wie die Daten erzeugt wurden.

  • Gut: Unit-Tests für Validatoren, Staging-Seeds, E2E-Formularausfüllung, Lastvolumen
  • Gut: Lokalisierungs-QA, bei der jedes Locale eine plausible lokale Adresse braucht
  • Gut: Screenshot- und Demo-Umgebungen, die niemals einen Kunden zeigen dürfen
  • Schlecht: KYC, Betrugsbewertung, Sanktionsprüfung oder alles, was eine Zustellung erwartet
  • Schlecht: Produktionsanalysen, weil generierte Zeilen die Conversion-Berechnung verfälschen

Abdeckung: 38 Länder mit je fünf Stadt-Fixtures

Der Generator deckt 38 Länder ab. Jedes Land enthält fünf Stadt-Fixtures, insgesamt also 190 Stadtdefinitionen, und jede Stadt kennt ihren Regionscode, ihr Postleitzahlenmuster und die lokalen Straßenkonventionen. Der Schwerpunkt liegt auf Märkten, in denen Adressformulare tatsächlich gebaut werden: Nordamerika, West- und Nordeuropa sowie die größeren Märkte im asiatisch-pazifischen Raum und in Lateinamerika.

Zwei Länder im Set haben überhaupt keine Postleitzahl: Hongkong und die Vereinigten Arabischen Emirate. Der Generator lässt das Feld für beide leer, statt eine Nummer zu erfinden. Das ist das korrekte Verhalten. Ein Formular, das die Postleitzahl in diesen Ländern als Pflichtfeld markiert, ist fehlerhaft, und ein Fixture, das einen Fake-Code liefert, verdeckt den Defekt, bis ein echter Nutzer darauf stößt.

RegionLänder im Fixture-SetAnzahlPostleitzahl
NordamerikaVereinigte Staaten, Kanada, Mexiko3Ja, alle drei
WesteuropaVereinigtes Königreich, Irland, Frankreich, Deutschland, Niederlande, Belgien, Schweiz, Österreich8Ja, alle acht
NordeuropaSchweden, Norwegen, Dänemark, Finnland4Ja, alle vier
Süd- und OsteuropaSpanien, Portugal, Italien, Polen, Tschechien, Griechenland, Rumänien, Ungarn8Ja, alle acht
Asien-PazifikJapan, Südkorea, Singapur, Australien, Neuseeland, Indien, China, Hongkong8Nein für Hongkong
LateinamerikaBrasilien, Argentinien, Chile, Kolumbien, Peru5Ja, alle fünf
Naher Osten und AfrikaVereinigte Arabische Emirate, Südafrika2Nein für die VAE
Gesamt38 Länder, je fünf Stadt-Fixtures38Zwei ohne Code

Feldreihenfolge und Postleitzahlenmuster zum Nachprüfen

Ein Generator ist nur so gut wie seine Ländertabelle. Die folgenden Muster sind diejenigen, die am häufigsten in eine einzige US-förmige Vorlage gepresst werden. Beachten Sie, dass Japan die Reihenfolge vollständig umkehrt, dass die Niederlande Buchstaben nach die Ziffern setzen und dass Brasilien und Japan beide einen Bindestrich verwenden, der konventionell und nicht strukturell bedingt ist.

Postleitzahlen müssen als Strings gespeichert werden. Deutschland, Frankreich, Spanien, Italien und Polen vergeben allesamt Codes mit führenden Nullen, und eine Integer-Spalte macht aus 01067 stillschweigend 1067. Dasselbe gilt für australische und brasilianische Codes. Wenn Ihr Schema eine numerische Postleitzahlenspalte hat, wird das Fixture sie in dem Moment aufdecken, in dem Sie eine deutsche Adresse seeden.

LandZeilenreihenfolgePostleitzahlenmusterHinweis zur Speicherung
Vereinigte StaatenStraße, Stadt, ST ZIP5 Ziffern oder 12345-6789Bindestrich bei ZIP+4 beibehalten
KanadaStraße, Stadt, ST A1A 1A1Buchstabe Ziffer Buchstabe, Leerzeichen, Ziffer Buchstabe ZifferD, F, I, O, Q, U als erster Buchstabe nicht zulassen
Vereinigtes KönigreichStraße, Stadt, A9A 9AA2-4 Zeichen außen, Leerzeichen, 3 Zeichen innenNur ein Leerzeichen; Großbuchstaben
DeutschlandStraße, 5-stellige Stadt5 ZiffernFührende Nullen sind signifikant
NiederlandeStraße, 4-stellige AB Stadt4 Ziffern, Leerzeichen, 2 GroßbuchstabenDie Buchstaben gehören zum Code
JapanPostleitzahl, Präfektur, Stadt, Straße3 Ziffern, Bindestrich, 4 ZiffernGrößte Einheit zuerst
BrasilienStraße, Stadt - ST, 12345-6788 Ziffern, Bindestrich nach der fünftenBindestrich ist konventionell
HongkongStraße, Bezirk, HongkongKeineNiemals einen Code verlangen
Vereinigte Arabische EmirateStraße, Stadt, EmiratKeineP.O. Box ist die übliche Konvention

Seeding: dieselbe Fake-Adresse zweimal zurückbekommen

Ein Generator, der bei jedem Aufruf eine andere Adresse liefert, ist kein Fixture, sondern Rauschen. Geseedete Generierung legt eine Eingabe fest, sodass die Ausgabesequenz über Maschinen und Läufe hinweg stabil bleibt. Übergeben Sie den Seed in Tests explizit, protokollieren Sie ihn mit jedem generierten Datensatz und behandeln Sie eine Änderung des Seeds als Änderung des Fixtures, die überprüft werden muss.

Das praktische Muster besteht darin, pro Entität Seeds aus einem übergeordneten Seed abzuleiten, zum Beispiel einen Hash aus Seed und Datensatzindex. Das hält den Datensatz stabil und erzeugt trotzdem unterschiedliche Werte pro Zeile. Es macht Fehler außerdem reproduzierbar: Wenn CI eine fehlerhafte Adresse meldet, reichen Seed plus Index, um genau diese Zeile erneut zu erzeugen. Leiten Sie den Seed niemals aus der Uhr oder aus einem Zufallsaufruf ab, denn so wird aus einem flaky Test ein dauerhaftes Rätsel.

  • Den Seed neben dem generierten Datensatz speichern, nicht in einem Kommentar
  • Datensatz-Seeds als hash(seed, index) ableiten, damit Reihenfolgeänderungen sichtbar bleiben
  • In Tests niemals mit Date.now() oder der Zufallsquelle des Prozesses seeden
  • Den ersten und letzten Datensatz jedes Sets als Snapshot sichern, nicht alle
  • Große JSON-Blobs mit Fake-Adressen lieber neu generieren als committen

Strukturelle Validierung versus Existenzprüfung

Das sind zwei verschiedene Aussagen, und sie zu vermischen ist der häufigste Weg, auf dem eine Testsuite ihre Eigentümer belügt. Eine strukturelle Prüfung beantwortet die Frage „Entspricht dieser String dem Muster des Landes?“. Eine Existenzprüfung beantwortet die Frage „Kommt dieser Code in einem Referenzdatensatz vor?“. Der Postleitzahlen-Checker auf dieser Seite erledigt das Erste für jedes Land und das Zweite nur für US-ZIPs, wo er 40.979 Zeilen konsultiert.

Ein struktureller Durchlauf sagt Ihnen, dass das Formular einen wohlgeformten Wert nicht ablehnen wird. Er sagt Ihnen nichts darüber, ob ein Carrier dorthin zustellen kann, ob die Hausnummer für diese Straße im gültigen Bereich liegt oder ob die Stadt zur Postleitzahl passt. Dafür braucht es Postreferenzdaten, die diese Seite nicht mitliefert. Formulieren Sie Ihre Assertions passend zu der Prüfung, die Sie tatsächlich durchführen, sonst versprechen die Testnamen jahrelang zu viel.

PrüfungWas ein Bestehen beweistWas es nicht beweist
Übereinstimmung mit dem LändermusterDer Wert ist für dieses Land wohlgeformtDass der Code vergeben ist
US-ZIP-Existenz (40.979 Zeilen)Die 5-stellige ZIP kommt im Datensatz vorDass Straße oder Stadt passen
PflichtfeldprüfungDas Formular wird abgeschicktDass die Adresse kohärent ist
Parser-RoundtripDer String lässt sich zerlegen und wieder zusammensetzenDass die Zerlegung semantisch richtig ist
Ausgabe des AdressgeneratorsDas Fixture hat die richtige FormIrgendetwas über die reale Welt

Felder, die dieser Generator bewusst nicht erzeugt

Die Seite erzeugt keine Sozialversicherungsnummern, Zahlungskartennummern, IMEI- oder IMSI-Werte, Bluetooth-Adressen oder Geräteseriennummern. Das ist eine bewusste Grenze, kein fehlendes Feature. Diese Identifikatoren tragen Prüfsummen, Vergaberegister oder rechtliche Beschränkungen, und ein plausibel aussehender generierter Wert ist weit gefährlicher als ein offensichtlich falscher, weil er einen naiven Validator bestehen und in einem Screenshot, einem Ticket oder einem Commit landen kann.

Dieselbe Grenze gilt für Kontaktdaten. Generierte E-Mail-Adressen verwenden immer die reservierte Domain example.test, die niemals zu einem echten Postfach auflösen kann. Generierte Telefonnummern sind auf den NANP-Block 555-0100 bis 555-0199 in den USA und Kanada beschränkt, den für fiktive Nutzung reservierten Bereich. Wenn ein Workflow eine Kartennummer oder eine Steuer-ID benötigt, verwenden Sie die offiziellen Testwerte, die der Prozessor oder die Steuerbehörde veröffentlicht, und niemals einen aus einem Generator gescrapten Wert.

  • Nicht generiert: SSN, ITIN, EIN oder eine nationale ID
  • Nicht generiert: Kredit- oder Debitkartennummern, auch nicht Luhn-gültige
  • Nicht generiert: IMEI, IMSI, MEID oder Bluetooth-Geräteadressen
  • Nicht generiert: Seriennummern, Kfz-Kennzeichen oder Passnummern
  • Generierte E-Mails: nur example.test, eine reservierte, nicht auflösende Domain
  • Generierte Telefonnummern: nur US und Kanada NANP 555-0100 bis 555-0199

Fragen

Sind die Adressen echt?+
Nein. Jede Adresse wird aus synthetischen Fixtures zusammengesetzt und beschreibt keinen realen Zustellpunkt. Die Seite erhebt keinen Anspruch auf Zustellbarkeit, und nur US-ZIPs erhalten eine Existenzprüfung gegen einen Datensatz mit 40.979 Zeilen.
Wie viele Länder deckt der Generator ab?+
38 Länder mit je fünf Stadt-Fixtures. Hongkong und die Vereinigten Arabischen Emirate sind enthalten, liefern aber eine leere Postleitzahl, da keines der beiden Länder Postleitzahlen verwendet.
Kann ich dieselbe Adresse zweimal bekommen?+
Ja. Die Generierung ist geseedet, sodass derselbe Seed und Index auf jeder Maschine dieselbe Adresse liefern. Speichern Sie den Seed mit dem Datensatz, damit Fehler reproduzierbar bleiben.
Kann ich generierte Adressen in der Produktion verwenden?+
Nein. Sie sind Test-Fixtures. Generierte Zeilen in Produktionsanalysen oder Kundentabellen verfälschen das Reporting und können jeden irreführen, der sie später für echte Datensätze hält.
Warum weigert sich das Tool, SSNs oder Kartennummern zu generieren?+
Diese Identifikatoren sind reguliert, mit Prüfsummen versehen oder beides, und ein plausibler Fake kann an einer naiven Validierung vorbei in Screenshots und Tickets gelangen. Verwenden Sie stattdessen offizielle Testwerte vom Prozessor oder von der Behörde.

Beispiele sind synthetisch. Verwenden Sie eine generierte Adresse nicht für Identitätsprüfungen, Kontoregistrierungen oder Lieferungen.

Referenzstandards

Als Nächstes lesen

Alle Ratgeber