It's straightforward to user-test software! What you need is a quiet room with a computer and some video gear. You need to be able to record someone at the computer, recording both the screen and the user's face and hands, in sync. You bring in users and give them a few set tasks. For an image processing program, one task might be read in the images from this CD, edit out all telephone poles and wires in the background, then print the images on the printer. Each user gets about an hour or two worth of tasks. You do this for five or so users. Then you review the tapes. You look for every place where the user made a mistake, had to back up, became frustrated, encountered a bug, or could not make further progress. Any problem encountered by more than one tester must be fixed. Any problem that kept any tester from completing the task must be fixed. After fixing the problem, you retest, using a mix of people from the previous round and new people. It's worth editing the tapes down to a highlights reel of problems, and making the developers sit through it.