Abstract:
A baseboard management controller (BMC) server connects to an electronic device. The electronic device includes a BMC. The BMC server stores test instructions of test items of the BMC. If a user selects test items of the BMC, the BMC server download the corresponding test instructions to the electronic device. The electronic device executes the test instructions and acquires test results. If the test results accord with standard test results of the test items, the BMC server prompts that tests of the test items pass. If the test results do not accord with the standard test results of the test items, the BMC server determines that the tests of the test items fail.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    Embodiments of the present disclosure relate to test management systems and methods, and particularly to a system and a method for managing a test of a baseboard management controller (BMC). 
         [0003]    2. Description of Related Art 
         [0004]    A plurality of electronic devices (like servers, computers) include baseboard management controllers (BMC). If users want to test the electronic devices, it is very important to test the BMC. Presently, a test of the BMC and analysis of test results are performed manually. If the BMC has a large number of test items, the analysis of the test results may be error-prone because of users&#39; carelessness. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]      FIG. 1  is a block diagram of one embodiment of a baseboard management controller server comprising a management system. 
           [0006]      FIG. 2  is a block diagram of one embodiment of the function modules of the management system in  FIG. 1 . 
           [0007]      FIG. 3  is a flowchart illustrating one embodiment of a method for managing test of a baseboard management controller. 
       
    
    
     DETAILED DESCRIPTION 
       [0008]    The application is illustrated by way of examples and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. 
         [0009]    In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media may include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. 
         [0010]      FIG. 1  is a block diagram of one embodiment of a baseboard management controller (BMC) server  1  including a management system  10 . The BMC server  1  is electronically connected to at least one electronic device  2 . In some embodiments, the electronic device  2  may be a computer or a server. The electronic device  2  includes a BMC  20 . The BMC server  1  provides an interface displayed on a display screen  13  for a user. The user can select test items of the BMC  20  of each electronic device  2  from the interface. 
         [0011]    In an exemplary embodiment, the BMC server  1  further includes at least one processor  11  and a storage system  12 . The management system  10  may include one or more modules (described in  FIG. 2 ). The one or more modules may comprise computerized code in the form of one or more programs that are stored in the storage system  12  (or memory). In one embodiment, the storage system  12  may be a magnetic, an optical, or other suitable storage medium. The computerized code includes instructions that are executed by the at least one processor  11  to provide functions for the one or more modules described below. The storage system  12  stores an intelligent platform management interface specification (IPMI Spec) and test instructions for testing the BMC  20 . The test instructions can test all the test items of the BMC  20 . Different electronic devices  2  may correspond to different test instructions. The storage system  12  includes a public pool and a plurality of private pools. The public pool stores common test instructions for all the electronic devices  2 . Each private pool stores particular test instructions for an appointed electronic device  2 . 
         [0012]    As shown in  FIG. 2 , the management system  10  includes a detection module  100 , a receiving module  101 , a downloading module  102 , a controlling module  103 , an obtaining module  104 , a determining module  105 , an outputting module  106 , and a storing module  107 . 
         [0013]    The detection module  100  detects if the test items of an electronic device  2  exist in the storage system  12 . In one embodiment, the interface may display all the test items stored in the storage system. The interface may also provide an inputting item for the user to input the test items that are not stored in the storage system  12 . If the test items of the electronic device  2  do not exist in the storage system  12 , the user may select the inputting item. 
         [0014]    In response that the detection module  100  detects the selection of the inputting item, the receiving module  101  prompts the user to input test item information, and stores the test item information into the storage system  12 . In one embodiment, the test item information may include test items and standard test results of the test items. The receiving module  101  may store the test item information into the private pool corresponding to the electronic device  2 . 
         [0015]    If the test items of the electronic device  2  exist in the storage system  12 , the downloading module  102  downloads the test instructions corresponding to the test items to the electronic device  2 . In one embodiment, before downloading the test instructions, the downloading module  102  searches for the test instructions corresponding to the test items in the storage system  12 . The downloading module  102  may first search for the test instructions in the public pool. If the test instructions cannot be found in the public pool, the downloading module  102  searches for the test instructions in the private pool corresponding to the electronic device  2 . 
         [0016]    The controlling module  103  controls the electronic device  2  to execute the downloaded test instructions according to the IPMI Spec and acquire test results corresponding to each test item. 
         [0017]    The obtaining module  104  obtains the test results of all the test items from the electronic device  2 . 
         [0018]    The determining module  105  detects if the test results accord with the corresponding standard test results. In one embodiment, if the test results are the same as the corresponding standard test results, the determining module  105  may determine that the test results accord with the corresponding standard test results. In another embodiment, the determining module  105  determines that a test result accord with a corresponding standard test result when a difference between the test result and the standard test result is within a predefined range. 
         [0019]    If the test results accord with the corresponding standard test results, the outputting module  106  prompts that the BMC  20  has passed the test. If the test results do not accord with the corresponding standard test results, the outputting module  106  prompts that the BMC  20  has failed the test. In one embodiment, the display screen  13  may display a window for prompting the user of the test results. 
         [0020]    The storing module  107  stores all the test results in the storage system  12 . 
         [0021]      FIG. 3  is a flowchart illustrating a method for managing test of the BMC  20  of the electronic device  2 . Depending on the embodiment, additional steps may be added, others removed, and the ordering of the steps may be changed. 
         [0022]    In step S 30 , the detection module  100  detects if the test items of an electronic device  2  exist in the storage system  12 . If the test items of the electronic device  2  do not exist in the storage system  12 , step S 31  is implemented. If the test items of the electronic device  2  exist in the storage system  12 , step S 32  is implemented. 
         [0023]    In step S 31 , the receiving module  101  prompts the user to input test items information and stores the test items information into the storage system  12 . 
         [0024]    In step S 32 , the downloading module  102  downloads the test instructions corresponding to the test items to the electronic device  2 . The downloading module  102  searches for the test instructions corresponding to the test items in the storage system  12 , and then downloads the test instructions. The downloading module  102  may search for the test instructions in the public pool at first. If the test instructions cannot be searched in the public pool, the downloading module  102  searches for the test instructions in the private pool corresponding to the electronic device  2 . 
         [0025]    In step S 33 , the controlling module  103  controls the electronic device  2  to execute the downloaded test instructions according to the IPMI Spec and acquire test results corresponding to each test item. 
         [0026]    In step S 34 , the obtaining module  104  obtains the test results of all the test items from the electronic device  2 . 
         [0027]    In step S 35 , the determining module  105  detects if the test results accord with the corresponding standard test results. If the test results accord with the corresponding standard test results, step S 36  is implemented. If the test results do not accord with the corresponding standard test results, step S 37  is implemented. 
         [0028]    In step S 36 , the outputting module  106  prompts that the BMC  20  has passed the test. 
         [0029]    In step S 37 , the outputting module  106  prompts that the test of the BMC  20  has failed. 
         [0030]    In step S 38 , the storing module  107  stores all the test results in the storage system  12 . 
         [0031]    Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.