For example, say you have a simple database program and you want to test user input/create records. Instead of sitting their monotonously testing it yourself, you could use this other program to "simulate" the testing (create records etc). This other program would work just like a user (no shortcuts or tricks), except it does the work itself.