variable with a "var" in front of it is a global variable -- it can be accessed/operated by all VUSERs.

"list[i]" in VUSER() function means i'th element of the list, in another word, it's i'th row of the csv file. Since each row contains 2 elements, so "list[i]" (hence "item") is itself an array.

"item[0]", "item[1]" are the first two fields of that row. In our case, they are username and password.

Sometimes, when data is uniform, we don't need a csv file. For example, if we want to emulate test users like userxxxxx, where xxxxx ranges from 00000, 00001, ... to 99999, we don't have to populate a csv file with these usernames and load it into test.

Of course, you can make it fancier, by adding a think-time in the csv file every other line. In another word, after user does query, he pauses for the specified millisecond before proceeding. The script is essentially the same as above. The difference is, for the odd numbered lines, the item is the number of milliseconds to sleep.

You may have recognized the power of csv file by now and wonder if you could make it a "CSV-driven test". Absolutely! This will work well where a good test script is written by you and other user can vary his csv file to control the behavior of the test.