How To

Test Data Generator Project

Need hundreds, thousands or millions of rows of test data? Well you probably didn't think to use Data Synchronisation Studio. Why would you, it's a synchronising tool right? Well, yes, this is true. However, Data Sync includes a provider that can generate as many rows as you need. Utilising this, we created a test data generator using dynamic columns. It can create you an entire user base in seconds!

You can download and use Data Sync Studio to see how this solution works and generate some data! Click here to go to the Download page

If you have used Data Synchronisation Studio before, you will be familiar with data source sides A and B. You may also be familiar with the term Dynamic Columns. This test generator works by creating a faux data source on side A using Dynamic Columns. You can then use this to create faux data for Dynamics CRM, SQL, SharePoint etc. to give yourself an instant user base for testing.


Download Test Data Generator Project


  • Generates random name combinations
  • Generates dates of births
  • Chooses from five different countries
  • Chooses a region based on the country
  • Chooses a city based on the region
  • Generates random road names
  • Creates phone numbers based on the country's number format
  • Creates user identification codes
  • Generates email address based on the users names
  • Creates a password hash
  • Generates 'Date Joined' 'Previous Login' & 'Last Login'
  • Randomly selects a security question and answer
  • Creates a security PIN


  • ID (Int32)
  • UID (Guid)
  • UserCode (String)
  • FirstName (String)
  • MiddleInitial (String)
  • LastName (String)
  • DateOfBirth (DateTime)
  • HouseNumberName (String)
  • AddressLine1 (String)
  • AddressLine2 (String)
  • TownCity (String)
  • Region (String)
  • PostalCode (String)
  • Country (String)
  • PhoneNumber (String)
  • MobileNumber (String)
  • WorkNumber (String)
  • Email (String)
  • PasswordHash (String)
  • Role (Int32)
  • DateJoined (DateTime)
  • PreviousLogin (DateTIme)
  • LastLogin (DateTime)
  • AccountStatus (Int32)
  • SecurityQuestion (Int32)
  • SecurityAnswer (String)
  • SecurityPin (Int32)
  • NewsletterSubscription (Boolean)
  • AgreedToTerms (Boolean)
  • Other (String)

How do I use this generator?

  • Download the project, using the link above
  • Open the project, making sure you are connected to the internet. This is so the project can download the names database (only happens once)


  • Set the row count to the amount of rows you would like to create and set the seed to zero for completely random data.

Row Count

  • Click the 'Preview A' button to check the data (optional)

Preview A

This is optional, because it can take a few minutes to generate the rows. This depends on the machine spec and the row count chosen. Below is a basic guide to timings.

  • 10,000 = 1.5s

  • 100,000 = 12s

  • 1,000,000 = 2m

  • Now that you have setup the generator to your liking, we can go about inserting the data into a usable SQL table. You can choose other data sources, but for this post we'll use SQL.

  • Go to the tools menu and select create SQL Table.

  • Follow the instructions of the SQL Table Wizard

  • Once you've created your new SQL Table, Click 'Compare A->B'

This will compare the generated data with your new table. Obviously your new table is empty, so once the sync has completed you will see a list of items to add to SQL.

Compare Results

  • Click the 'Synchronise' button and then click 'Start'
    This will fill your SQL Table with all of your new generated data. You now have a test database to work with!