# Patent

## Title
System and method for automatically testing motherboards

## Abstract

A system for automatically testing motherboards includes a test server (1), client computers (2), and a network (5) connecting the test server with the client computers. The test server is for storing a plurality of high-level OSs (Operating Systems), test programs and test script files, for setting contents of test configuration files, and for storing test results. Each client computer has a motherboard installed therein, and is operated under a DOS (Disk Operating System). The client computer downloads and installs a high-level OS from the test server, downloads and installs one or more test programs and a test script file according to a test configuration file set by the test server, executes the test script file to auto-run test programs in a sequence specified in the test configuration file, and then transmits test results to the test server.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is related to systems and methods for testing motherboards installed in computers, and more particularly to a system and method for testing motherboards of client computers automatically by using a test server.
2. Prior Art
A motherboard is a main component of a typical personal computer. The motherboard may provide a south-bridge chipset, a north-bridge chipset, a plurality of buses, and interfaces for peripheral devices. Reliability and compatibility with other components count for much.
Usually, the reliability and compatibility of a new motherboard are tested before the motherboard leaves the factory. Generally, a motherboard is installed in a testing computer which has had a plurality of test programs already installed therein. An operator works the testing computer to execute each of the test programs one-by-one to obtain test results.
However, because there are normally various test programs to be executed, and all the test programs must be installed in a single testing computer, the test procedure generally consumes too much time. Also, the test procedure cannot work without an operator working the testing computer.
To solve the problems disclosed above, recent patents or applications in the art include China patent application No. 02152981.7 entitled “Method and system for testing motherboards automatically” and published on Jul. 23, 2003. The patent application discloses a method for automatically testing a motherboard installed in a testing computer by using a testing server. The method comprises the steps of: selecting test items for the motherboard; selecting a high-level OS (Operating System); connecting the testing computer with the testing server; downloading and installing the high-level OS from the testing server; downloading test programs for the selected test items; installing the test programs; and executing each of the test programs and then transmitting test results to the testing server.
However, the testing method described above only provides final test results. Sometimes monitoring of the testing process is desirable, especially for detecting and dealing with any error that may occur during the testing process.
What is needed, therefore, is a system and method for testing motherboards automatically, in which a function of monitoring the testing process is provided.
SUMMARY
A preferred embodiment of the present invention provides a system for automatically testing motherboards (hereinafter, “the system”). The system may include a test server, a plurality of client computers, and a network for connecting the test server with the client computers. The test server is used for storing a plurality of high-level OSs (Operating Systems), test programs and test script files, for setting contents of test configuration files, and for storing test results. Each of the client computers has a motherboard to be tested installed therein, operates under a DOS (Disk Operating System) connecting to the test server, downloads and installs a high-level OS from the test server, downloads and installs test programs and a test script file according to a test configuration file set by the test server, tests the motherboard by executing the test script file to auto-run test programs in a sequence specified in the test configuration file, and then transmits test results to the test server.
The preferred embodiment of the present invention also provides a method for testing a motherboard automatically (herein after, “the method”). The method may include the steps of: providing a test server and a client computer in which the motherboard to be tested is installed; connecting the client computer with the test server, and downloading and installing a high-level OS (Operating System) from the test server setting contents of a test configuration file in the test server, and transmitting the test configuration file to the client computer; downloading test programs and a test script file according to the test configuration file; installing the test programs and the test script file; testing the motherboard installed in the client computer by executing the test script file to auto-run the test programs in a sequence specified in the test configuration file; and transmitting test results to the test server.
Other objects, advantages and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which:



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of hardware configuration of a system for automatically testing motherboards in accordance with the preferred embodiment of the present invention; and
FIG. 2 is a flowchart of the preferred method of implementing the system for testing a motherboard in a client computer, in accordance with the preferred embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a schematic diagram of hardware configuration of a system for automatically testing motherboards (hereinafter, “the system”) in accordance with the preferred embodiment of the present invention. The system typically includes a test server 1, a plurality of client computers 2 (four shown), and one or more networks 5 connecting the test server 1 with the client computers 2. There can be a router 4 between two networks 5 for connecting the networks 5. The system may further comprise a serial device server 6 and a plurality of power controllers 8. The serial device server 6 and the power controllers 8 are connected via serial lines 7. Each power controller 8 is connected with a certain number of client computers 2 via power control lines 9. The test server 1 controls power sources of the client computers 2 through the serial device server 6. Each client computer 2 is installed with a motherboard 3 to be tested. Each network 5 is an electronic communications network that supports a Transmission Control Protocol and an Internet Protocol (TCP/IP). The network 5 can be an intranet, the Internet, or any other suitable type of communications network.
The test server 1 is provided for storing a plurality of high-level OSs (Operating Systems), test programs and test script files, for setting contents of test configuration files and for storing test results. Each client computer 2 is connected to the test server 1 under a DOS (Disk Operating System). The client computer 2 can download and install a high-level OS, one or more test programs, a test script file and a test configuration file from the test server 1, and transmit test results to the test server 1 through the network(s) 5. The high-level OS can be Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows 2000, Microsoft Windows NT, a Unix OS, or a Linux OS. The test programs can be used to test the motherboard 3 installed in the client computer 2. The test configuration file includes hardware configuration of the client computer 2, a list of the test programs and the test script file and their locations stored in the test server 1, a sequence in which the test programs are executed during the process of testing the motherboard 3, a test time limitation, and exceptional procedures when any error occurs during a downloading process or testing process. The test script file can be executed to auto-run the test programs in the sequence specified in the test configuration file, in order to test the motherboard 3.
FIG. 2 is a flowchart of the preferred method of implementing the system to test a motherboard 3 installed in a client computer 2, in accordance with the preferred embodiment of the present invention. In step S201, the test server 1 turns on a power source of the client computer 2, by the serial device server 6 sending a corresponding command to a power controller 8 connected to the client computer 2. Once powered on, the client computer 2 loads a DOS and connects to the test server 1. In step S202, the client computer 2 downloads a high-level OS from the test server 1, and installs the high-level OS on itself. In step S203, the test server 1 sets contents of a test configuration file for the client computer 2, and transmits the test configuration file to the client computer 2.
Specifically, the setting step may include the steps of: setting hardware configuration of the client computer 2; determining a list of test programs and a test script file, and their locations stored in the test server 1; determining the sequence in which the test programs are executed in the client computer 2 when testing the motherboard 3; setting a test time limitation; and determining exceptional procedures for when any error occurs during a downloading process or testing process.
In step S204, the client computer 2 receives the test configuration file, and downloads the test programs and the test script file according to the test configuration file from the test server 1. In step S205, the client computer 2 determines whether any error occurs during the process of downloading the test programs and the test script file.
If any error occurs during the downloading process, the procedure goes directly to step S212 described below. Otherwise, if no error occurs during the downloading process, in step S206, the client computer 2 installs the test programs and the test script file on itself. In step S207, the client computer 2 executes the test script file to auto-run the test programs in the sequence specified in the test configuration file, in order to test the motherboard 3 of the client computer 2. In step S208, the client computer 2 determines whether any error occurs during the testing process.
If any error occurs during the testing process, the procedure goes directly to step S212 described below. Otherwise, if no error occurs during the testing process, in step S209, the client computer 2 transmits test results to the test server 1. Then in step S210, the client computer 2 uninstalls and deletes the test programs and the test script file which have been downloaded from the test server 1. Then in step S211, the client computer 2 exits the high-level OS, and the test server 1 turns off the power source of the client computer 2 by way of the serial device server 6 sending a corresponding command to the power controller 8 connected to the client computer 2.
When any error occurs during the downloading process or the testing process, in step S212, the client computer 2 reports the error to the test server 1. Then in step S213, the client computer 2 determines whether to continue to test the motherboard 3 according to the test configuration file. If the client computer 2 determines not to continue to test the motherboard 3, the procedure goes to step S210 described above. Otherwise, if the client computer 2 determines to continue to test the motherboard 3, in step S214, the test server 1 restarts the client computer 2, and then the procedure returns to the step S202 described above.
The above-described steps of the method can be repeated by the test server 1 in order to test motherboards 3 of various client computers 2 one by one or synchronously according to user requirements.
Although the present invention has been specifically described on the basis of a preferred embodiment and preferred method, the invention is not to be construed as being limited thereto. Various changes or modifications may be made to the embodiment and method without departing from the scope and spirit of the invention.

## Claims

1. A system for automatically testing motherboards, comprising:
a test server for storing a plurality of high-level OSs (Operating Systems), test programs and test script files, for setting contents of test configuration files, and for storing test results;
a plurality of client computers in which motherboards to be tested are installed, each of the client computers configured for operating under a DOS (Disk Operating System), downloading and installing a high-level OS from the test server, downloading and installing test programs and a test script file according to a test configuration file that comprises hardware configuration of each of the client computers, a list of the test programs and the test script file and locations of the test programs and the test script file stored in the test server, executing the test script file to auto-run the test programs in a sequence specified in the test configuration file, transmitting test results to the test server, and uninstalling and deleting the test programs and the test script file if testing of the motherboard does not need to be continued according to the test configuration file;
a serial device server and a plurality of power controllers for the test server to control power sources of the client computers; and
a network for connecting the test server with the client computers.

2. The system as claimed in claim 1, wherein the test configuration file further comprises the sequence in which the test programs are executed during testing the motherboard, a test time limitation, and exceptional procedures when any error occurs during downloading the test programs and the test script file or testing the motherboard.

3. A method for testing a motherboard automatically, comprising the steps of:
providing a test server and a client computer in which the motherboard to be tested is installed;
providing a serial device server and a power controller for the test server to control a power source of the client computer;
connecting the client computer with the test server, and downloading and installing a high-level OS (Operating System) from the test server;
setting contents of a test configuration file in the test server, comprising:
setting hardware configuration of the client computer; and
determining a list of test programs and a test script file, and locations of the test programs and the test script file stored in the test server;
transmitting the test configuration file to the client computer;
downloading the test programs and the test script file according to the test configuration file;
installing the test programs and the test script file;
testing the motherboard installed in the client computer by executing the test script file to auto-run the test programs in a sequence specified in the test configuration file;
transmitting test results to the test server;
the client computer determining whether to continue to test the motherboard according to the test configuration file; and
uninstalling and deleting the test programs and the test script file from the client computer, if the client computer determines not to continue to test the motherboard according to the test configuration file.

4. The method as claimed in claim 3, wherein the setting step comprises the steps of:
determining the sequence in which the test programs are executed in the client computer;
setting a test time limitation; and
setting exceptional procedures for when any error occurs during downloading the test programs and the test script file or testing the motherboard.

5. The method as claimed in claim 3, further comprising the step of exiting the high-level OS and turning off the power source of the client computer after transmitting test results to the test server.

6. The method as claimed in claim 3, further comprising the step of reporting to the test server when any error occurs on the client computer during downloading the test programs and the test script file or testing the motherboard.

7. The method as claimed in claim 3, further comprising the step of the test server restarting the client computer and returning to the step of downloading and installing a high-level OS from the test server, if the client computer determines to continue to test the motherboard according to the test configuration file.

8. A method for testing a motherboard automatically, comprising the steps of:
connecting a client computer in which the motherboard to be tested is installed with a test server;
providing a serial device server and a power controller for the test server to control a power source of the client computer;
downloading and installing an operating system (OS) from the test server;
setting contents of a test configuration file in the test server;
transmitting the test configuration file to the client computer;
downloading test programs and a test script file according to the test configuration file;
assuring availability of the test programs and the test script file by verifying whether any error occurs during downloading the test programs and the test script file;
installing the test programs and the test script file if no error occurs during downloading the test programs and the test script file;
testing the motherboard in a sequence specified in the test configuration file by executing the test script file to auto-run the test programs;
determining whether to continue to test the motherboard according to the test configuration file; and
uninstalling and deleting the test programs and the test script file from the client computer, if the client computer determines not to continue to test the motherboard according to the test configuration file.

9. The method as claimed in claim 8, further comprising the step of reporting to the test server when any error occurs during downloading the test programs and the test script file or testing the motherboard.

10. The method as claimed in claim 8, wherein the setting  step comprises the steps of:
setting hardware configuration of the client computer;
determining a list of the test programs and the test script file, and locations of the test programs and the test script file stored in the test server;
determining the sequence in which the test programs are executed in the client computer;
setting a test time limitation; and
setting exceptional procedures for when any error occurs during downloading the test programs and the test script file or testing the motherboard.