At some point in your career, you may need to test the effectiveness and desirability of a product you are designing. Whether it's a software product or not, there are seven user testing methods will be your arsenal for ensuring that you build a successful product. Rather than explaining each in-depth via text, I've created a succinct comparison chart including each method's advantages, disadvantages, and whether they have any of five attributes (Reliability/Precision, Generalizability, Realism, Ease, and Comparison).
This chart condenses information I gathered while participating in Coursera's Human Computer Interaction course. Click on the image for a larger version.
Evaluation is both a science and an art.
You should employ multiple methods because each one answers different questions.
Some methods are more effective at certain times in the design cycle.
The use patterns of your product can be context-dependent and evolve over time.