Two of the most important tools I have used whilst diagnosing PC faults are the Spinrite and Memtest packages. Both tools are fundamentally similar and have been industry standards for a while. They work by writing sequences of data to their respective components (Spinrite to hard drives, Memtest to RAM) and reading those sequences back to check for errors.
From my very first days in computer maintenance I have almost always submitted customer machines to these tests whenever time was not a limiting factor. Catching HDD and RAM errors early has saved me many headaches. At the very least, Spinrite’s SMART data reading capabilities allowed me to give customers a quick overview of their hard drive health so that they could make sure that important data was safe before the worst could happen.