A load tester is an application that generates an arbitrary number of simultaneous user interactions with a system. There are several load testers on the market (see "Software Solutions" later in this article), but there is core functionality that each presents:
The capability to perform user-defined transactions against a system, and in the proper frequency.
The capability to control the number of simultaneous users in the load.
The capability to fine-tune its behavior in the areas of user think-time between requests and the rate at which to ramp up to the desired number of users.
Most commercial load testers also provide you with a "learning" engine that will allow you to manually perform your transactions while it watches and records what you have done.
The goal of a load tester then is to simulate the real-life use of your application once you release it into a production environment. Without a representative load on your system, you cannot accurately tune it to support real-life users.