Memtest86, Prime95 are 2 good ones to test memory and processor. Once you see if those are stable for say 8 hrs without errors you then look into maybe a hard drive issue or driver issue. Now some people say you should be able to find out if there is errors in less time then running for that long. I just like to be 100% sure before I move on to other testing.
In my personal systems I make sure they run stable for 24 hrs before I move on being they run 24/7.