A system for diagnosing and testing computers includes a graphical user interface tier, an invoking logic tier, and a test logic tier. The graphical user interface tier offers users a graphical user interface to show the progress and results of testing hardware components and generating diagnosis configuration files in accordance with a selected computer hardware component as needed; the invoking logic tier invokes the test logic tier in accordance with the diagnosis configuration files; and the test logic tier includes a test items module, the test items module includes a plurality of sub-modules which run to test different computer hardware components after invoked by the invoking logic tier.