posted 02-20-2003 06:46 AM
OK, I'll take a shot.Different tools work in different ways, but fundamentally they all do the same thing. As jonboy said, they sit between the client (IE/Netscape) and the web server and capture the traffic (let's use HTTP/HTML for example) between the to. The tools have functions built into the language that they use to write the scripts that will send and receive the HTTP/HTML traffic.
Now, there is all kinds of logic and programming stuff you can do with these scripts to make them do what you want.
Now, how the virtual users work. The virtual users are, as the name states, virtual. They do not exist, you don't need 100 machines to simulate 100 users, that's the point of the tool. What the tool does is runs the code of the script as a process for each virtual user. The code is sending and receiving the HTTP/HTML and performing any logic that you have added to the script. And the tools will allow you to specify how many virtual users you want to run, how long you want them to run, if you want them to all run at the same time or start up on an interval, and a whole lot of other options.
Some tools also allow you to run the virtual user as a thread within a process which allows for faster execution because the users/processes aren't fighting over processor time. They are all part of one process, so once that process grabs the processor, then all of the virtual users can run. There are advantages of one over the other and a lot depends on what you are testing and the environment you are testing in. Use the search tool here on the forum to find out more.
Let me know if this helped at all or if you have a question or problem with what I've said. Sometimes I ramble and end up with an incoherent mess. 
------------------
Steve_Jones@SoftHome.net