Search code examples
visual-studio-2010randomdatasourcewebtestload-testing

Exactly how do Visual Studio 2010 Data Sources behave when Access Method is "Random"?


In Visual Studio 2010, if you bind a Data Source to a Web Performance Test you have the option of setting the Access Methods to "Random", defined as follows:

Move randomly through the rows in a table. This access method will loop through data in a table throughout the duration of a test.

We've been parsing this definition, but are not sure exactly what happens. Does it mean:

  • Each time the source is accessed a row is chosen at random (i.e. you might get the same row in two tests in a row by chance); OR
  • The source is first shuffled into a random order, and then the data source will "loop through" the shuffled data (i.e. every row is used once before any row is seen a second time); OR
  • Something else?

Note we only have one agent, so repetition from that source is not a concern.

Thanks in advance.


Solution

  • Testing confirms that indeed the row is chosen entirely at random.

    With a simple data source:

    value
    0
    1
    2
    3
    

    the order of values chosen in a test I just ran was:

    3
    3
    3
    1
    1
    2
    3
    ...etc
    

    For an actual "shuffle" implementation you'd need to write your own WebTestPlugin or WebTestRequestPlugin.