Laden...

Datensätze für Test programatisch generiern

Erstellt von novski vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.305 Views
N
novski Themenstarter:in
2 Beiträge seit 2018
vor 5 Jahren
Datensätze für Test programatisch generiern

verwendetes Datenbanksystem: <MS-SQL>

Ich muss für ein Schulprojekt eine Datenbank mit Testdaten populieren. Es sollten gegen 5000 Datensätze von Personen mit Wohnort sein.
Ich muss auch mit C# und Visualstudio ADO.NET und EF6 arbeiten.

Mich würde interessieren ob es quellen gibt die man anzapfen und benutzen darf oder ob es besser ist, über random was eigenes zu generiern.

Auch möchte ich nicht das ich zum erstellen des Projektes mehr als 2-3min warten muss.

Falls jemand erzählen möchte wie das grosse Firmen machen, nur zu...

16.835 Beiträge seit 2008
vor 5 Jahren

Schon mal gegoogelt? Google-Suche nach c# test data generator
Gibt hunderte Open Soure Projekte für sowas.

Falls jemand erzählen möchte wie das grosse Firmen machen, nur zu...

Nur weil eine große Firma etwas macht, heisst das nicht, dass das gut, modern oder gar die beste Lösung ist.... 😉

5.658 Beiträge seit 2006
vor 5 Jahren

Hi novski,

für den Entity Framework gibt es dazu die Seed-Methode. Siehe dazu z.B. Use Code First Migrations to Seed the Database.

Die 5000 Adress-Datensätze kannst du dir per Zufallsgenerator selbst generieren, oder aus öffentlich verfügbaren Quellen übernehmen (solange du dafür die Lizenzbestimmungen beachtest).

Weeks of programming can save you hours of planning

C
2.121 Beiträge seit 2010
vor 5 Jahren

Wichtig ist dass du "Grenzfälle" mit abdeckst. Also nicht nur 5000 Datensätze bei denen sich nur die Buchstaben unterscheiden. Sondern auch welche mit leeren Feldern und mit maximal gefüllten Feldern. Duplikate, einige gleiche Postleitzahlen um bei einer Gruppierung zu sehen ob alles passt usw.
Kurz gesagt, alle Anwendungsfälle deines Programms sollten hier an ihre Grenzen stoßen.

Inhaltlich kann ein Wohnort auch ein Zufallswort mit unaussprechbaren Buchstabenfolgen sein, das passt genauso wie ein existierender Ortsname. Daher würde ich nicht noch extra Daten suchen und die irgendwo vorhalten sondern lieber Aufwand in das soeben beschriebene stecken.