It takes a while, but if you really want to be sure of your hardware (as sure as you can be, at least.)
Check the SMART status. If there are any re-allocated sectors, make note of the number.
Run badblocks with the -w switch against the drive (from a Linux live cd of your choice, for example)
That should completely read/write test the drive 4 times with multiple patterns. There should be no errors reported. This test will take longer than overnight on modern drives.
Check the SMART data again. Be wary if there has been an increase in Re-allocated sectors. This is considered normal and does not constitue drive failure. However, most drives should not have any reported re-allocations so early in life, and this may indiacate you have a drive of marginal quality.
Do not try this on SSD drives.