AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Realdaten konsistent verwürfeln?

Ein Thema von stahli · begonnen am 26. Aug 2016 · letzter Beitrag vom 29. Aug 2016
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Realdaten konsistent verwürfeln?

  Alt 29. Aug 2016, 17:04
Genau so ist es zutreffend.
Rückwandlung von B nach A ist nicht notwendig.

Für mich werde ich ein entsprechendes Tool bauen.

Die Frage ist, ob es generell Nachfrage dafür geben kann, wenn man das etwas allgemeiner hält.
Ggf. könnte man so ein Tool auch auf eine rel. Datenbank anwenden, wobei das dann sicherlich etwas komplexer wird - zumindest wenn mach die Schlüssel und Fremdschlüssel ändern will.

Braucht man keine Schlüsseländerung (was sicherlich meist der Fall ist), wäre dann ein Tool dafür sinnvoll und flexibel genug?
Man könnte natürlich einzelne Tabellen auch als csv exportieren, umwandeln und die neuen csv wieder in eine neue Datenbank importieren.

Also die Frage: Wäre so ein allgemeines, flexibles Tool wohl interessant?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Realdaten konsistent verwürfeln?

  Alt 29. Aug 2016, 17:31
Testdaten werden immer und überall gebraucht und ich weiß nicht wieviele Leute ich schon kennengelernt habe, die vor genau Deinem Problem standen:

Wie bekomme ich reproduzierbare Testdaten hin?

Oder zu Deiner Frage konkret:
Zitat von stahli:
Also die Frage: Wäre so ein allgemeines, flexibles Tool wohl interessant?
Meiner Meinung nach eindeutig: Ja

Die Fragen dazu sind nur:
  • Gibt jemand dafür Geld aus?
  • Und wenn ja, wieviel?

Für Deine Aufgabenstellung wäre eigentlich (wenn man's datenbankgestützt sieht), eine dreispaltige Tabelle erforderlich.

Spaltenname|Originalwert|Testwert
Name|Peter Maier|Hansi Müller
KundenID|4711|1234
Bank|Postbank|Targo-Bank

@BUG

Reproduzierbar deshalb, weil stahli immer wieder Datenergänzungen per CSV-Dateien bekommt, die er sowohl den Originaldaten als auch den Testdaten zuordnen muss. Und zwar nicht irgendwie, sondern konsistent.

Es muss also immer aus Peter Meier Hansi Müller werden, es muss immer aus der KundenID 4711 die KundenID 1234 werden.

Und wenn stahli diese Informationen in einer Tabelle ablegt, dann ist die erstmalig per Zufall erstellte Zuordnung anschließend über eben diese Tabelle reproduzierbar.

Und wenn er die Testdaten vollständig löscht und anschließend neu erstellt, dann müssen sie mit den ursprünglichen Testdaten zu 100% übereinstimmen.
Und damit müssen sie reproduzierbar ein.

Oder sollte ich die Aufgabenstellung immer noch nicht verstanden haben?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Realdaten konsistent verwürfeln?

  Alt 29. Aug 2016, 17:49
@nahpets

Vollkommen korrekt, aber etwas einfacher.
Normalerweise sollte für uns jetzt eine einmalige Konvertierung von 600 Testdateien reichen um ein neues Projekt aufzubauen und den Import zu testen.

Für andere Projekte könnte es ggf. interessant sein, dass man nach und nach immer weitere Dateien umwandelt. Das wäre dem Tool dann aber letztlich egal. Man müsste nur die Übersatzungstabelle aufheben.

Ich bastle mal was. Kann aber etwas dauern...

@BUG

Für IBANS, Telefonnummern und eMailadressen könnte man zum normalen verwürfeln noch eine Verstümmelung von 0..100% einstellen.
Max Mustermann würde dann die eMail "Weltherrscher@dp.com" zugeordnet und da diese in sich ja noch real ist könnten z.B. 80% der Zeichen noch verändert bzw. gelöscht werden.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Realdaten konsistent verwürfeln?

  Alt 29. Aug 2016, 17:55
Für IBANS, Telefonnummern und eMailadressen könnte man zum normalen verwürfeln noch eine Verstümmelung von 0..100% einstellen.
Max Mustermann würde dann die eMail "Weltherrscher@dp.com" zugeordnet und da diese in sich ja noch real ist könnten z.B. 80% der Zeichen noch verändert bzw. gelöscht werden.
Bei IBANs sollte das gut gehen, eventuell muss man die Prüfsumme noch neu errechnen. Bei Telefonnummern wird es schwerer, die so zu verstümmeln, das die Struktur erhalten bleibt: Vorwahlen, nicht numerische Zeichen, usw. Wenn so etwas in den realen Daten ist, wäre es nett, wenn das in den Testdaten auch mit dabei ist.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Realdaten konsistent verwürfeln?

  Alt 29. Aug 2016, 18:38
@nahpets

Vollkommen korrekt, aber etwas einfacher.
Normalerweise sollte für uns jetzt eine einmalige Konvertierung von 600 Testdateien reichen um ein neues Projekt aufzubauen und den Import zu testen.
Und meiner Meinung nach braucht man dazu reproduzierbare Testdaten.
Wenn der Importtest (aus welchen Gründen auch immer) scheitert, "dumme Sachen macht", also nicht perfekt funktioniert, so muss mit den Originaldaten wieder ein Testdatenbestand erstellt werden und der Import erneut getestet werden.
Klar, man kann auch alle "Testdatenzwischenstufen" für immer und wiederholte Nutzung aufheben. Und man muss da dann auch (hoffentlich) den Durchblick behalten.

Klar, die Übersetzungstabelle "muss" erhalten bleiben. Ist sie nicht mehr vorhanden, so kann man neue Daten "würfeln".

Und nach der erstmaligen Befüllung des Projektes mit Testdaten kommt ganz bestimmt sehr bald irgend jemand, der sagt: "Du, stahli, Testdaten kaputt, kannst Du bitte mal eben neu machen?"
Und wenn jemand sagt: "Das brauchen wir garantiert nur einmalig!" Jede Wette, der kommt bald wieder und sagt: "Nochmalhabenwollen"

Für andere Projekte könnte es ggf. interessant sein, dass man nach und nach immer weitere Dateien umwandelt. Das wäre dem Tool dann aber letztlich egal. Man müsste nur die Übersatzungstabelle aufheben.
Sowas würd' ich immer einplanen, wenn ich mir sowieso schon viel Arbeit machen muss, dann ist das sicherlich einfacher sofort integriert, als später (in vier Wochen oder 'nem Jahr) noch nachträglich einzubauen.

Kann aber etwas dauern ...
Wenn das morgen fertig wäre, dann aber Hut ab

@BUG

Für IBANS, Telefonnummern und eMailadressen könnte man zum normalen verwürfeln noch eine Verstümmelung von 0..100% einstellen.
Max Mustermann würde dann die eMail "Weltherrscher@dp.com" zugeordnet und da diese in sich ja noch real ist könnten z.B. 80% der Zeichen noch verändert bzw. gelöscht werden.
Für die Mails würd' ich mir 'ne Domaine aussuchen, die es nicht gibt und (höchstwahrscheinlich) nie geben wird.
Vor die Domaine kommen Vorname.Nachname.KundenID und fertig ist die Laube. Email-Dubletten sind damit dann (hoffentlich) auch ausgeschlossen. Z. B.: Peter.Meier.4711@Projektname.Testdaten.test
Sollte es mehrere Peter Meier geben, was bei 'nem größeren Datenbestand wahrscheinlich ist, so unterscheiden sich die Emailadressen auf jeden fall, ohne dass man mehr oder weniger komplizierte Algorithmen über die Originalemailadressen jagen muss.

Telefonnummern und IBAN würd' ich aus der KundenID (oder sowas) erstellen, indem ich die solange mit sich selbst repliziere, bis die Länge passt. Bei der IBANs könnte man noch die Prüfziffer der Kontonummer berechnen, falls die nachfolgende Software da irgendeine Prüfung drinne hat, die sonst über ungültige IBANs stolpert.
Z.B.: DE47114711471147114711 = DE + KundenID sooft aneinandergehängt, bis mehr als 20 Zeichen entstanden sind und davon dann die ersten 20 Zeichen nehmen.

Bei mir sieht 'ne Test-ISBN so aus: 978-699-2-00000-6.
Wirkt echt, ist sie aber nicht, weil 699 nicht vergeben.

Telefonnummern werden (laut Norm) von rechts nach links zweistellig durch Leerzeichen getrennt. Wir nehmen dann halt die Vorwahl des Ortes + KundenID, ergibt für Peter Meier aus Köln dann "02 21 / 47 11". Naja, wenn wir 'ne Handynummer haben, dann behalten wir die Vorwahl und hängen die Kundennummer dran. Also z. B. "0160 / 47 11". Man könnte auch noch die Auslandsvorwahl davorschreiben, wenn erforderlich ...

Daten so repräsentativ wie nötig mit so wenig Aufwand wie möglich.

Ist eine Abbildung von fehlerhaften Daten (insbesondere in Bezug auf IBAN, Telefonnummern ...) nötig, dann geht's halt nicht so einfach, aber hier würd' ich dann erstmal abklären, ob der "allgemeine Datenerfassungshumbug in den Quelldaten" auch in den Testdaten erforderlich ist.

Also: Muss mit 'nem Peter Meier aus Köln mit der Kundennummer 4711 auch dann noch korrekt umgegangen werden, wenn er auf einmal als Petr Maier aus Cölln mit der Kundennummer 4711 daher kommt. Sind "Besonderheiten" in der Telefonnummer wie z. B. +491604711, +49 0160/4711, 01604711, 00491604711 ... auch "originalgetreu" abzubilden?

Fragen über Fragen ... garantiert etwas mehr Arbeit
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz