The other day I wrote about the Zen of being a tester of a new piece of software. Be patient. It's a long journey. The bugs are there for a reason, it's best to assume they will always be there then you will be surprised and delighted in the unlikely event that one of them goes away.
You've been asked to test the software because the people who are writing it would like your help to make it better. They want to fix bugs, and the easier you make it for them, the more likely it is they will be able to. Sometimes people produce bug reports that are so insightful they lead the programmer right to the mistake in the code.
All three parts are very important. If you really did discover a bug, the programmer will need to know what you were doing so he or she can try to reproduce it. If they can't, it will be next to impossible to fix it.
The second part helps nail down the first part. Usually people know what they were expecting. Also, it's possible that what you were expecting isn't what the software does. An extreme example: "I was expecting that when I pressed the blue button at the bottom of the screen I would be granted three wishes."
Another way to help the programmer is to say if the problem is or isn't reproducible. That is, if you try step #1 again, do you get the results in step #3? By trying to reproduce it you may add important information to the first part of the report.
PPS: Another howto re bug reports.