Testing method and system for device to be tested and testing machine

By running the user test program host process independently in the test machine system, the instability problem of the test machine system caused by the user test program crash is solved, and the stability and processing performance of the system are improved.

CN119201655APending Publication Date: 2024-12-27HANGZHOU CHANGCHUAN TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202310714595.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-15
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The existing test machine system is prone to crash during the user's test program operation, resulting in poor stability of the test machine system.

Method used

By isolating the test machine system process and the test program host process, the test program host process independently runs the user test program to avoid the impact of user test program crash on the test machine system.

Benefits of technology

It effectively improves the stability of the test machine system, reduces the overall impact of user test program crashes on the system, and improves processing performance and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201655A_ABST
    Figure CN119201655A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a method and system for testing a device to be tested and a testing machine, and the method comprises the steps: a system process of the testing machine forwards a testing command of an upper computer to a host process of a testing program; and the test program host process runs a corresponding user test program according to the test command to test the to-be-tested device to obtain a test result corresponding to the to-be-tested device. Through communication between the test machine system process and the test program host process, the test machine system related program is isolated from the user test program, and the user test program is independently operated through the test program host process, so that a device to be tested is tested, the overall influence of crash of the user test program on the test machine system can be effectively avoided, and the test efficiency is improved. Therefore, the stability of the testing machine system is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of testing technology, and in particular to a testing method, system and testing machine for a device under test. Background Art

[0002] In the field of testing technology, testing of wafers, chips and other test devices by testing machine systems has been widely used. In related technologies, when testing, the user test program is prone to crash during operation, which will affect the entire test machine system and cause poor stability of the test machine system. Summary of the invention

[0003] The embodiments of the present disclosure provide a testing method, system and testing machine for a device under test. The testing machine system-related programs are run through the testing machine system process, and the user testing program is independently run through the testing program host process, so as to avoid the impact of the crash of the user testing program on the testing machine system, thereby effectively improving the stability of the testing machine system.

[0004] One aspect of an embodiment of the present disclosure provides a method for testing a device under test, including:

[0005] The test machine system process forwards the test command of the host computer to the test program host process;

[0006] The test program host process runs the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

[0007] In some optional embodiments of the present disclosure, before the test machine system process forwards the test command of the host computer to the test program host process, it also includes:

[0008] The test machine system process loads the test engineering data according to the loading command received from the host computer;

[0009] After the test engineering data is loaded, the test machine system process starts the test program host process;

[0010] After the test program host process runs the corresponding user test program according to the test command, the method further includes:

[0011] The test program host process reports the test result to the test machine system process;

[0012] The testing machine system process sends the test result to the host computer.

[0013] In some optional embodiments of the present disclosure, before the test program host process runs the corresponding user test program according to the test command, the process further includes:

[0014] The test program host process loads the user test program into the memory;

[0015] When the test program host process runs the corresponding user test program according to the test command, the test program host process records the data log.

[0016] In some optional embodiments of the present disclosure, it also includes:

[0017] The test machine system process monitors the status of the test program host process, and in response to monitoring that the test program host process exits abnormally, performs preset security processing on the test machine system.

[0018] In some optional embodiments of the present disclosure, it also includes:

[0019] The remote connection server process receives a connection request from the remote connection client process and establishes a network connection with the remote connection client process;

[0020] The remote connection server process receives a first startup command sent by the remote connection client process, starts a debugging service process according to the first startup command, and attaches the debugging service process to the test program host process;

[0021] The remote connection server process receives a second startup command sent by the remote connection client process, starts a debugging process according to the second startup command, and connects the debugging process to the debugging service process.

[0022] In some optional embodiments of the present disclosure, it also includes:

[0023] The debugging service process receives the breakpoint debugging command sent by the debugging process, sends a breakpoint signal to the test program host process according to the breakpoint debugging command, obtains the running result of the test program host process at the position corresponding to the breakpoint signal, and feeds back the running result to the debugging process;

[0024] The debugging process feeds back the running result to the host computer.

[0025] Another aspect of the embodiments of the present disclosure provides a test system for a device under test, including:

[0026] The command forwarding module is used to forward the test commands of the host computer to the test program host process by using the test machine system process;

[0027] The test processing module is used to utilize the test program host process to run the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

[0028] In some optional embodiments of the present disclosure, it also includes:

[0029] The engineering data loading module is used to load the test engineering data according to the loading command received from the host computer by using the test machine system process;

[0030] A host process startup module, used to start the test program host process using the test machine system process after the test engineering data is loaded;

[0031] A test result reporting module, used to report the test result to the test machine system process using the test program host process;

[0032] The test result forwarding module is used to send the test result to the host computer by using the test machine system process.

[0033] In some optional embodiments of the present disclosure, it also includes:

[0034] A test program loading module, used to load the user test program into the memory by using the test program host process;

[0035] The log recording module is used to record data logs using the test program host process.

[0036] In some optional embodiments of the present disclosure, it also includes:

[0037] A status monitoring module, used to monitor the status of the test program host process using the test machine system process;

[0038] The security processing module is used to perform preset security processing on the test machine system using the test machine system process in response to monitoring the abnormal exit of the test program host process.

[0039] In some optional embodiments of the present disclosure, it also includes:

[0040] A remote connection module, used to receive a connection request from a remote connection client process using a remote connection server process, and establish a network connection between the remote connection server process and the remote connection client process;

[0041] A debugging service process startup module, used to receive a first startup command sent by the remote connection client process using the remote connection server process, start the debugging service process according to the first startup command, and attach the debugging service process to the test program host process;

[0042] The debugging process starting module is used to use the remote connection server process to receive a second starting command sent by the remote connection client process, start the debugging process according to the second starting command, and connect the debugging process to the debugging service process.

[0043] In some optional embodiments of the present disclosure, it also includes:

[0044] The breakpoint debugging module is used to use the debugging service process to receive the breakpoint debugging command sent by the debugging process, send a breakpoint signal to the test program host process according to the breakpoint debugging command, and obtain the running result of the test program host process at the position corresponding to the breakpoint signal, feed back the running result to the debugging process, and use the debugging process to feed back the running result to the host computer.

[0045] According to another aspect of the present disclosure, a test system is provided, including:

[0046] The upper computer and the lower computer;

[0047] The host computer is used to send a test command to the slave computer;

[0048] The lower computer includes a test machine system process and a test program host process, and is loaded with a user test program;

[0049] The test machine system process is used to forward the test command of the host computer to the test program host process;

[0050] The test program host process is used to run the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

[0051] In some optional embodiments of the present disclosure, the host computer is further used to send a loading command to the slave computer;

[0052] The test machine system process is also used to load the test engineering data according to the loading command received from the host computer;

[0053] After the test engineering data is loaded, the test machine system process is also used to start the test program host process;

[0054] After the test program host process runs the corresponding user test program according to the test command,

[0055] The test program host process is also used to report the test results to the test machine system process;

[0056] The test machine system process is also used to send the test results to the host computer.

[0057] In some optional embodiments of the present disclosure, before the test program host process runs the corresponding user test program according to the test command, the test program host process is further used to load the user test program into the memory;

[0058] In the process that the test program host process runs the corresponding user test program according to the test command, the test program host process is also used to record data logs.

[0059] In some optional embodiments of the present disclosure, the test machine system process is also used to monitor the status of the test program host process, and in response to monitoring the abnormal exit of the test program host process, perform preset security processing on the test machine system.

[0060] In some optional embodiments of the present disclosure, the host computer includes a remote connection client process;

[0061] The lower computer also includes: a remote connection server process, a debugging service process and a debugging process;

[0062] The remote connection server process is used to receive a connection request from the remote connection client process and establish a network connection with the remote connection client process;

[0063] The remote connection server process is also used to receive a first startup command sent by the remote connection client process, start the debugging service process according to the first startup command, and attach the debugging service process to the test program host process;

[0064] The remote connection server process is further used to receive a second start command sent by the remote connection client process, start the debugging process according to the second start command, and connect the debugging process to the debugging service process.

[0065] In some optional embodiments of the present disclosure, the debugging service process is used to receive a breakpoint debugging command sent by the debugging process, send a breakpoint signal to the test program host process according to the breakpoint debugging command, obtain the running result of the test program host process at the position corresponding to the breakpoint signal, and feed back the running result to the debugging process;

[0066] The debugging process is used to feed back the running result to the host computer.

[0067] According to another aspect of the present disclosure, a testing machine is provided, the testing machine comprising:

[0068] a memory for storing a computer program product;

[0069] The processor is used to execute the computer program product stored in the memory, and when the computer program product is executed, the test method of the device under test described in any of the above embodiments of the present disclosure is implemented.

[0070] The test method, system and test machine for the device under test provided by the present invention communicate with the test program host process through the test machine system process, isolate the test machine system-related programs from the user test program, and independently run the user test program through the test program host process to implement the test of the device under test. This can effectively avoid the impact of the crash of the user test program on the overall test machine system, thereby effectively improving the stability of the test machine system.

[0071] The technical solution of the present disclosure is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0072] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0073] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:

[0074] Figure 1 is a flow chart of a method for testing a device under test provided by an exemplary embodiment of the present disclosure;

[0075] Figure 2 is a flow chart of a method for testing a device under test provided by another exemplary embodiment of the present disclosure;

[0076] Figure 3 is a schematic diagram of an exemplary test flow provided by an exemplary embodiment of the present disclosure;

[0077] Figure 4 is a flowchart of a method for testing a device under test provided by another exemplary embodiment of the present disclosure;

[0078] Figure 5 is a flow chart of a method for testing a device under test provided by another exemplary embodiment of the present disclosure;

[0079] Figure 6is a flowchart of a method for testing a device under test provided by another exemplary embodiment of the present disclosure;

[0080] Figure 7 is a structural schematic diagram of a test system for a device under test provided by an exemplary embodiment of the present disclosure;

[0081] Figure 8 is a structural schematic diagram of a test system for a device under test provided by another exemplary embodiment of the present disclosure;

[0082] Fig. 9 is a structural schematic diagram of a test system for a device under test provided by yet another exemplary embodiment of the present disclosure;

[0083] Fig.10 is a structural schematic diagram of a test system for a device under test provided by another exemplary embodiment of the present disclosure;

[0084] Fig.11 is a structural schematic diagram of a test system for a device under test provided by yet another exemplary embodiment of the present disclosure;

[0085] Fig.12 is a structural schematic diagram of a test system provided by an exemplary embodiment of the present disclosure;

[0086] Fig.13 is a structural schematic diagram of a test system provided by another exemplary embodiment of the present disclosure;

[0087] Fig.14 It is a structural schematic diagram of a testing machine provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0088] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure unless otherwise specifically stated.

[0089] Those skilled in the art can understand that the terms "first" and "second" in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, etc., and neither represent any specific technical meaning nor indicate the necessary logical order between them.

[0090] It should also be understood that in the embodiments of the present disclosure, “plurality” may refer to two or more than two, and “at least one” may refer to one, two, or more than two.

[0091] It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.

[0092] In addition, the term "and / or" in the present disclosure is only a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in the present disclosure generally indicates that the associated objects before and after are in an "or" relationship.

[0093] It should also be understood that the description of the various embodiments in the present disclosure focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced to each other, and for the sake of brevity, they will not be described one by one.

[0094] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0095] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0096] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0097] Through research, it is found that in the field of testing technology, testing of wafers, chips and other test devices by test machine systems has been widely used. In related technologies, when testing, the user test program is prone to crash during operation, which will affect the entire test machine system, resulting in poor stability of the test machine system. In order to improve the stability of the test machine system, the embodiments of the present disclosure provide a test method, system and test machine for a device under test, which runs the test machine system-related programs through the test machine system process, and independently runs the user test program through the test program host process, thereby avoiding the impact of the user test program crash on the test machine system, thereby effectively improving the stability of the test machine system.

[0098] Figure 1 FIG. 1 is a flow chart of a method for testing a device under test provided by an exemplary embodiment of the present disclosure. The method comprises the following steps:

[0099] Step 210: the test machine system process forwards the test command of the host computer to the test program host process.

[0100] Among them, the test machine system process is the process of the entire test machine system, and the test machine system process is set in the lower computer (or test machine) to run the test machine system related programs. The test machine system process can receive commands sent by the upper computer and forward test commands to the test program host process. Test commands can include start and end batches, CP (ChipProbing, wafer) test related commands such as StartWafer (start wafer), EndWafer (end wafer) and touchDown (down needle), and can also include each round of chip execution commands. The test program host process is used to run the user test program.

[0101] In some optional embodiments, the test program host process may be a child process of the test machine system process.

[0102] In some optional embodiments, the test machine system process can also load the test project data to the lower computer, and uninstall the test project data from the lower computer when it is needed. The test machine system process can also start and monitor the test program host process, and perform corresponding security processing on the test machine system after the test program host process exits abnormally, etc.

[0103] Step 220 , the test program host process runs the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

[0104] Among them, the user test program can be pre-loaded into the memory of the lower computer. The test program host process reads the corresponding user test program from the memory and executes it according to the test command. By executing the user test program, the test resources of the lower computer are called to complete the test of the device under test and obtain the test results.

[0105] In some optional embodiments, the device under test may include one or more batches of devices under test, each batch of devices under test may include one or more wafers under test, and each wafer under test may include one or more groups of chip tests. The specific settings can be based on actual needs and are not limited in the present disclosure.

[0106] In some optional embodiments, the test results may include, but are not limited to, test command execution results, actual data of all test items, test time, test personnel, information related to the device under test, product batches of the device under test, test conclusions, and other related data. The test command execution result refers to whether the test program host process has completed the execution of all test items.

[0107] In some optional embodiments, the test program host process can also process test results, record logs, load user test programs, etc. As long as the user does not change the project data, the test program host process can reside in the test machine system without the need for frequent creation and destruction, effectively reducing the performance loss of the test machine system and improving the processing performance of the test machine system.

[0108] The testing method for the device under test provided by the embodiment of the present disclosure runs the test machine system-related programs through the test machine system process and runs the user test program through the test program host process. Therefore, during the test process, the test machine system process can communicate with the test program host process to isolate the test machine system-related programs from the user test program, and the user test program can be independently run through the test program host process to implement the test of the device under test. This can effectively avoid the impact of the crash of the user test program on the overall test machine system, thereby effectively improving the stability of the test machine system.

[0109] Figure 2 It is a flowchart of a method for testing a device under test provided by another exemplary embodiment of the present disclosure.

[0110] In some optional embodiments, before the test machine system process forwards the test command of the host computer to the test program host process in step 210, the following is further included:

[0111] Step 310: the test machine system process loads the test engineering data according to the loading command received from the host computer.

[0112] Among them, the test engineering data may include the configuration requirements of each functional board of the test machine, the start-up conditions, the test steps, the test program related information required for the test, and other related configuration data required to support the test of the device under test, which can be set according to actual needs. Before testing, the user can configure the test engineering data on the host computer, and after the configuration is completed, send a load command to the lower computer through the host computer. The test machine system process of the lower computer loads the test engineering data to the lower computer according to the load command to support the test of the device under test.

[0113] Step 320: After the test engineering data is loaded, the test machine system process starts the test program host process.

[0114] The test program host process can be a subprocess of the test machine system process. After the test machine system process completes the loading of the test engineering data, it starts the test program host process according to the trigger command of the subprocess in the test machine system program. After the test program host process is started, the user test program required for the test can be loaded from an external storage device such as a hard disk to the memory for subsequent operation to test the device under test.

[0115] After the test program host process in step 220 runs the corresponding user test program according to the test command, the following steps are also included:

[0116] Step 230: The test program host process reports the test result to the test machine system process.

[0117] Among them, the test program host process runs the user test program, and can perform the required tests on the device to be tested according to the specific test process of the user test program, such as electrical characteristics test and functional test of the grains on the wafer. Electrical characteristics test can include current and voltage parameter test (DC parameter test), time-related electrical parameter test (AC parameter test), etc. Functional test can include tests for logical operation, signal processing, control, storage, etc., which can be set according to actual needs. The test results can include the test results corresponding to each test, and the test program host process can report the test results to the test machine system process, and then the test machine system process sends the test results to the host computer for the user to view.

[0118] Exemplarily, the user test program is run through the test program host process, the drive resources of the lower computer are accessed, and voltage or current is output to the device under test (DUT) to perform relevant electrical parameter tests on the device under test. After the test is completed, the test program host process transmits the relevant data to the upper computer through the test machine system process, and presents it to the user through the upper computer. The user can perform analysis or classification and other processing based on the relevant data.

[0119] Step 240: The test machine system process sends the test results to the host computer.

[0120] After the test machine system process receives the test results reported by the test program host process, it forwards the test results to the host computer for the user to view and analyze.

[0121] In some optional embodiments, the test program host process can send the test results to the host computer through the test machine system process in real time or regularly, which can be set according to actual needs. For example, when it is necessary to perform multiple tests on the device under test, the user test program can include a group of test items, and the group of test items can include one or more test items. When multiple test items are included, during the operation of the user test program, each test item will obtain the test result corresponding to the test item. The test program host process can report the test result corresponding to the test item in a timely manner after each test item is completed. The test program host process can also store the test result corresponding to each test item, and report the test results within the cycle or the test results of the preset number of test items to the test machine system process regularly or after a preset number of test items are completed, and the test machine system process sends it to the host computer. The specific reporting time can be set according to actual needs. After the user test program is run, the test program host process can also report the program execution results to the host computer through the test machine system process, so that the user can know the completion of the user test program execution in time.

[0122] For example, Figure 3It is an exemplary test flow diagram provided by an exemplary embodiment of the present disclosure. Wherein Develop Tool represents a development tool process in a host computer or a host computer, TestEngine represents a test machine system process, TestHost represents a test program host process, Develop Tool sends a project data download command to TestEngine, TestEngine downloads project data (i.e., test project data), and loads the project data to the test machine in response to the load command of Develop Tool (execution Load), then, TestEngine starts TestHost, TestHost reports the startup result, and when it is determined that TestHost is successfully started, TestHost can load the user test program into the memory, and the user test program can include multiple test items, such as test programs that can include one or more batches, each batch includes one or more wafers (Wafer), each wafer can include one or more groups of chips, and each group of chips can include tests of multiple parameters. Each test of each group of chips can be used as a test item, all tests of each group of chips can be used as a test item, and a wafer can be used as a test item, and so on. The granularity of specific test items can be set according to actual needs. The specific test process may include: Develop Tool sends a batch opening command (start batch 1) to TestEngine, TestEngine forwards the batch opening command to TestHost, TestHost executes the corresponding batch opening program and reports the execution result, TestEngine sends the execution result to Develop Tool, Develop Tool sends a test command to start wafer 1 (StartWafer1) to TestEngine, TestEngine forwards the test command to TestHost, TestHost executes the corresponding program to start wafer 1 and reports the execution result; then TestHost responds to the command to execute each group of chip tests forwarded by TestEngine, executes the user test program required for the chip test of the corresponding group, and reports the execution result, and so on, until the test of all chips is completed and Wafer1 is ended; then StartWafer2 can be entered, and chip testing can be performed according to the above-mentioned test process of Wafer1 until the test of all wafers to be tested is completed, and the batch closing operation is performed, and finally the test of the wafers in each batch is completed. The execution result reported by TestHost may include at least one of the test result of the corresponding test item and the test program execution result.

[0123] In this embodiment, the test machine system process starts the test program host process after completing the loading of the test project data. After the startup, as long as the user does not need to update the project data, the test program host process will reside in the test machine system. There is no need to frequently create and destroy processes, which effectively reduces the performance loss caused by frequent creation and destruction of processes, thereby further improving the performance of the test machine system.

[0124] Figure 4 It is a flowchart of a method for testing a device under test provided by yet another exemplary embodiment of the present disclosure.

[0125] In some optional embodiments, before the test program host process in step 220 runs the corresponding user test program according to the test command, the process further includes:

[0126] Step 410: the test program host process loads the user test program into the memory.

[0127] Among them, before the test program host process is started, the user test program can be stored in the hard disk or other storage of the lower computer. After the test program host process is started, the loading of the user test program is triggered, and the test program host process loads the user test program into the memory of the lower computer processor so that it can be run.

[0128] Step 420: When the test program host process runs the corresponding user test program according to the test command, the test program host process records the data log.

[0129] The data log may include specific test results and relevant information of the test process. The user can determine whether the device under test passes the test by analyzing the data log.

[0130] In this embodiment, the test program host process is responsible for processing the test results of its own user test code and recording data logs, which can effectively reduce the complexity of the test machine system process and further improve the stability of the test machine system.

[0131] In some optional embodiments, the test program host process can also be responsible for processing other related test flow logic, without the need for the test machine system process to maintain and manage complex test flows. This can further reduce the processing complexity of the test machine system process and further improve the stability of the test machine system.

[0132] Figure 5 It is a flowchart of a method for testing a device under test provided by another exemplary embodiment of the present disclosure.

[0133] In some optional embodiments, the method of the present disclosure further includes:

[0134] Step 510: The test machine system process monitors the status of the test program host process, and in response to monitoring that the test program host process exits abnormally, performs preset security processing on the test machine system.

[0135] Among them, the state of the process may include the running state, the shallow sleeping state, the deep sleeping state, the paused state, the zombie state, the dead state, etc., which can be set according to actual needs. Among them, the running state means that the host process of the test program can be scheduled. The shallow sleeping state means that the process is suspended or blocked, usually waiting for a certain event to occur, and can be awakened and called at any time. The deep sleeping state is to avoid the state of data input failure caused by being killed when the memory writes data to the disk. When the process is in the paused state, even if it is killed, the process can still be seen until it is awakened to be truly deleted. When the process is in the zombie state, the resources that the process has applied for are not released immediately, but temporarily stored for a period of time for its parent process to read. When the parent process reads the data of the process in the zombie state, the process in the zombie state will become dead and released. The test machine system process is responsible for monitoring the status of the test program host process. As long as the user does not need to change the test project data, the test machine system process will not actively destroy (or revoke) the test program host process, unless the test program host process exits abnormally. When the test machine system process monitors that the test program host process exits abnormally (such as the user test program crashes), the test machine system process performs preset security processing on the test machine system to restore the test machine system to a safe state, ensuring that the test machine system is not affected by the crash of the user test program.

[0136] In some optional embodiments, the preset safety processing may include sending a test program crash prompt message to the host computer so that the user can reload the test project data and test again; the preset safety processing may also include resetting registers in the test machine system so that the test machine system can provide the user with the required test resources and environment again, etc. The specific settings can be made according to actual needs.

[0137] This embodiment monitors the status of the test program host process through the test machine system process. After monitoring the abnormal exit of the test program host process, the test machine system can be promptly subjected to corresponding security processing to restore the test machine system to a safe state, thereby ensuring that the normal operation of the test machine system is not affected by the test program host process, and further improving the reliability and stability of the test machine system.

[0138] Figure 6 It is a flowchart of a method for testing a device under test provided by yet another exemplary embodiment of the present disclosure.

[0139] In some optional embodiments, the method of the present disclosure further includes:

[0140] Step 610: The remote connection server process receives a connection request from the remote connection client process and establishes a network connection with the remote connection client process.

[0141] The remote connection server process is used to run the remote connection server program, and the remote connection client process runs the remote connection client program. A network connection between the remote connection server process and the remote connection client process is established through an inter-process network protocol. The remote connection server process can be used as a daemon process to listen to requests from the remote connection client process. When the remote connection server process receives a connection request from the remote connection client process, it responds to the connection request and establishes a network connection with the remote connection client process.

[0142] In some optional embodiments, the remote connection client process is a process in the upper computer, and the remote connection server process is a process in the lower computer. Network communication between the upper computer and the lower computer is achieved through a network connection between the remote connection server process and the remote connection client process.

[0143] In some optional embodiments, the host computer may include a development tool process for running a development tool program (DevelopTool.exe), and the remote connection client process is started through the development tool process. For example, after the development tool process is started, debugging is started, triggering a start command of the remote connection client process, thereby starting the remote connection client process. After the remote connection client process is started, the remote connection client program is loaded, and a connection request is sent to the remote connection server process by running the remote connection client program.

[0144] In some optional embodiments, the remote connection client process and the remote connection server process may be SSH (Secure Shell)-based processes to implement remote secure connection.

[0145] Step 620: The remote connection server process receives the first start command sent by the remote connection client process, starts the debugging service process according to the first start command, and attaches the debugging service process to the test program host process.

[0146] The first startup command is a command for starting a debugging service process. The debugging service process is a process that runs a debugging service program. The debugging service process is a service program between the debugging process and the test program host process for remotely debugging the user test program. The debugging service process is set in the lower computer and can monitor and debug the user test program run by the test program host process by attaching to the test program host process.

[0147] In some optional embodiments, after the remote connection client process is connected to the remote connection server process, the relevant information of the test program host process, such as the PID of the test program host process, is remotely obtained through the remote connection server process. After starting the debugging service process, the debugging service process is attached to the test program host process based on the relevant information of the test program host process.

[0148] Step 630: The remote connection server process receives the second start command sent by the remote connection client process, starts the debugging process according to the second start command, and connects the debugging process to the debugging service process.

[0149] The second start command is a command for starting a debugging process. The debugging process is a process for running a debugging program. The debugging process and the debugging service process can be connected via a serial port or TCP (Transmission Control Protocol).

[0150] In some optional embodiments, the debugging service process and the debugging process can both be set in the lower computer, and communication with the upper computer is achieved through the network connection between the remote connection server process and the remote connection client process, providing users with remote breakpoint debugging function.

[0151] This embodiment provides an environment for remote breakpoint debugging of user test programs in the test machine through remote connection server processes, remote connection client processes, debugging service processes and debugging processes, which facilitates users to remotely perform breakpoint debugging on user test programs, greatly facilitates user debugging work and improves user experience.

[0152] In some optional embodiments, the method of the present disclosure further includes:

[0153] Step 640, the debugging service process receives the breakpoint debugging command sent by the debugging process, sends a breakpoint signal to the test program host process according to the breakpoint debugging command, obtains the running result of the test program host process at the position corresponding to the breakpoint signal, and feeds back the running result to the debugging process.

[0154] Among them, the user can send a breakpoint debugging command to the remote connection server process through the remote connection client process, which is forwarded to the debugging process by the remote connection server process. The debugging process sends the breakpoint debugging command to the debugging service process. The debugging service process sends a breakpoint signal to the test program host process according to the breakpoint debugging command. The test program host process runs the user's test code program and stops at the position corresponding to the breakpoint signal, and returns the breakpoint running result at the breakpoint signal position. The debugging service process monitors the breakpoint running result and feeds the running result back to the debugging process.

[0155] Step 650: The debugging process feeds back the running result to the host computer.

[0156] After the debugging process obtains the breakpoint running result, the breakpoint running result is sent to the remote connection client process of the host computer through the remote connection server process, and the remote connection client process presents the breakpoint running result to the user.

[0157] In some optional embodiments, the debugging service process and the debugging process can be implemented based on any feasible remote debugging tool, such as a remote debugging tool based on GDB+GDBServer to implement remote breakpoint debugging of a user test program, without specific limitation.

[0158] This embodiment realizes remote breakpoint debugging of the user test program through the debugging service process and the debugging process in combination with the remote connection, and the remote breakpoint debugging process does not require the participation of the test machine system process. Therefore, the remote breakpoint debugging process will not affect the test machine system, so that access to the test machine system resources can be achieved while realizing remote breakpoint debugging.

[0159] The above optional embodiments of the present disclosure may be implemented separately or in any combination without conflict, and may be specifically configured according to actual needs.

[0160] Any test method for a device under test provided by the embodiments of the present disclosure may be executed by any appropriate device with data processing capabilities, including but not limited to: a terminal device and a server, etc. Alternatively, any test method for a device under test provided by the embodiments of the present disclosure may be executed by a processor, such as the processor executing any test method for a device under test mentioned in the embodiments of the present disclosure by calling corresponding instructions stored in a memory. This will not be described in detail below.

[0161] Figure 7 is a schematic diagram of a structure of a test system for a device under test provided by an exemplary embodiment of the present disclosure. The system of this embodiment can be used to implement the corresponding method embodiments of the present disclosure, such as Figure 7 The system shown includes: a command forwarding module 710 and a test processing module 720 .

[0162] The command forwarding module 710 is used to forward the test command of the host computer to the test program host process by using the test machine system process.

[0163] The test processing module 720 is used to use the test program host process to run the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

[0164] Figure 8 It is a schematic diagram of the structure of a test system for a device under test provided by another exemplary embodiment of the present disclosure.

[0165] In some optional embodiments, the system of the present disclosure further includes: an engineering data loading module 730 , a host process starting module 740 , a test result reporting module 750 and a test result forwarding module 760 .

[0166] The engineering data loading module 730 is used to utilize the test machine system process to load the test engineering data according to the loading command received from the host computer.

[0167] The host process starting module 740 is used to start the test program host process using the test machine system process after the test project data is loaded.

[0168] The test result reporting module 750 is used to report the test result to the test machine system process using the test program host process.

[0169] The test result forwarding module 760 is used to send the test result to the host computer by using the test machine system process.

[0170] Fig. 9 is a schematic diagram of the structure of a test system for a device under test provided by yet another exemplary embodiment of the present disclosure.

[0171] In some optional embodiments, the system of the present disclosure further includes: a test program loading module 770 and a log recording module 780 .

[0172] The test program loading module 770 is used to load the user test program into the memory by using the test program host process.

[0173] The log recording module 780 is used to record data logs using the test program host process.

[0174] Fig.10 It is a structural schematic diagram of a test system for a device under test provided by yet another exemplary embodiment of the present disclosure.

[0175] In some optional embodiments, the system of the present disclosure further includes: a status monitoring module 810 and a security processing module 820 .

[0176] The status monitoring module 810 is used to monitor the status of the test program host process using the test machine system process.

[0177] The security processing module 820 is used to perform preset security processing on the test machine system using the test machine system process in response to monitoring that the test program host process exits abnormally.

[0178] Fig.11 is a schematic diagram of the structure of a test system for a device under test provided by yet another exemplary embodiment of the present disclosure.

[0179] In some optional embodiments, the system of the present disclosure further includes: a remote connection module 830 , a debugging service process starting module 840 , and a debugging process starting module 850 .

[0180] The remote connection module 830 is used to use the remote connection server process to receive the connection request of the remote connection client process and establish a network connection between the remote connection server process and the remote connection client process.

[0181] The debugging service process starting module 840 is used to receive a first starting command sent by the remote connection client process using the remote connection server process, start the debugging service process according to the first starting command, and attach the debugging service process to the test program host process.

[0182] The debugging process starting module 850 is used to receive the second starting command sent by the remote connection client process using the remote connection server process, start the debugging process according to the second starting command, and connect the debugging process to the debugging service process.

[0183] In some optional embodiments, the system of the present disclosure further includes:

[0184] The breakpoint debugging module 860 is used to use the debugging service process to receive the breakpoint debugging command sent by the debugging process, send a breakpoint signal to the test program host process according to the breakpoint debugging command, and obtain the running result of the test program host process at the position corresponding to the breakpoint signal, feed back the running result to the debugging process, and use the debugging process to feed back the running result to the host computer.

[0185] The beneficial technical effects corresponding to the exemplary embodiment of the present system can be found in the corresponding beneficial technical effects of the above exemplary method section, which will not be repeated here.

[0186] Fig.12 is a schematic diagram of the structure of a test system provided by an exemplary embodiment of the present disclosure. The test system of this embodiment can be used to implement the corresponding method embodiments of the present disclosure, such as Fig.12 The test system shown includes: an upper computer 910 and a lower computer 920 .

[0187] The upper computer 910 is used to send a test command to the lower computer 920 .

[0188] The lower computer 920 includes a test machine system process 9210 and a test program host process 9220, and is loaded with a user test program.

[0189] The test machine system process 9210 is used to forward the test commands of the host computer 910 to the test program host process 9220.

[0190] The test program host process 9220 is used to run the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

[0191] In some optional embodiments, the host computer 910 is also used to send a loading command to the lower computer; the test machine system process 9210 is also used to load the test project data according to the loading command received from the host computer 910; after the test project data is loaded, the test machine system process 9210 is also used to start the test program host process 9220; after the test program host process 9220 runs the corresponding user test program according to the test command, the test program host process 9220 is also used to report the test results to the test machine system process 9210; the test machine system process 9210 is also used to send the test results to the host computer 910.

[0192] In some optional embodiments, before the test program host process 9220 runs the corresponding user test program according to the test command, the test program host process 9220 is also used to load the user test program into the memory; during the process of the test program host process 9220 running the corresponding user test program according to the test command, the test program host process 9220 is also used to record data logs.

[0193] In some optional embodiments, the test machine system process 9210 is also used to monitor the status of the test program host process 9220, and in response to monitoring the abnormal exit of the test program host process 9220, perform preset security processing on the test machine system.

[0194] Fig.13 It is a structural diagram of a test system provided by another exemplary embodiment of the present disclosure.

[0195] In some optional embodiments, the host computer 910 includes a remote connection client process 9110 .

[0196] The lower computer 920 also includes: a remote connection server process 9230 , a debugging service process 9240 and a debugging process 9250 .

[0197] The remote connection server process 9230 is used to receive a connection request from the remote connection client process 9110 and establish a network connection with the remote connection client process 9110 .

[0198] The remote connection server process 9230 is further used to receive a first startup command sent by the remote connection client process 9110, start the debugging service process 9240 according to the first startup command, and attach the debugging service process 9240 to the test program host process 9220;

[0199] The remote connection server process 9230 is further used to receive a second startup command sent by the remote connection client process 9110 , start the debugging process 9250 according to the second startup command, and connect the debugging process 9250 to the debugging service process 9240 .

[0200] In some optional embodiments, the debugging service process 9240 is used to receive breakpoint debugging commands sent by the debugging process 9250, send breakpoint signals to the test program host process 9220 according to the breakpoint debugging commands, and obtain the running results of the test program host process 9220 at the position corresponding to the breakpoint signal, and feed back the running results to the debugging process 9250; the debugging process 9250 is used to feed back the running results to the host computer.

[0201] The beneficial technical effects corresponding to the exemplary embodiment of the present system can be found in the corresponding beneficial technical effects of the above exemplary method section, which will not be repeated here.

[0202] In addition, the present disclosure also provides a testing machine, including:

[0203] a memory for storing a computer program product;

[0204] The processor is used to execute the computer program product stored in the memory, and when the computer program product is executed, the test method of the device under test described in any of the above embodiments of the present disclosure is implemented.

[0205] Fig.14 Schematic diagram of the structure of a testing machine provided by an exemplary embodiment of the present disclosure. Fig.14 As shown, the test machine includes one or more processors and memory.

[0206] The processor may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the test machine to perform desired functions.

[0207] The memory may store one or more computer program products, and the memory may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, a random access memory (RAM) and / or a cache memory (cache), etc. The non-volatile memory may include, for example, a read-only memory (ROM), a hard disk, a flash memory, etc. One or more computer program products may be stored on the computer-readable storage medium, and the processor may run the computer program product to implement the methods of the various embodiments of the present disclosure described above and / or other desired functions.

[0208] In one example, the test machine may further include: an input device and an output device, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0209] In addition, the input device may also include, for example, a keyboard, a mouse, and the like.

[0210] The output device can output various information to the outside, including the determined distance information, direction information, etc. The output device can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.

[0211] Of course, to simplify, Fig.14 Only some of the components in the test machine related to the present disclosure are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the test machine may also include any other appropriate components.

[0212] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps in the method according to various embodiments of the present disclosure described in the above part of this specification.

[0213] The computer program product may be written in any combination of one or more programming languages ​​to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0214] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enables the processor to execute the steps of the method according to various embodiments of the present disclosure described in the above part of this specification.

[0215] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0216] A person of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk, etc., various media that can store program codes.

[0217] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, and are not limitations. The above details do not limit the present disclosure to the necessity of adopting the above specific details to be implemented.

[0218] Each embodiment in this specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0219] The block diagrams of the devices, apparatuses, equipment, and systems involved in this disclosure are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including," "comprising," "having," and the like are open words, referring to "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or," and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.

[0220] The method and apparatus of the present disclosure may be implemented in many ways. For example, the method and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

[0221] It should also be noted that in the apparatus, device and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.

[0222] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

[0223] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. A method for testing a device under test, characterized in that: include: The test machine system process forwards the test command of the host computer to the test program host process; The test program host process runs the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

2. The method according to claim 1, characterized in that Before the test machine system process forwards the test command of the host computer to the test program host process, it also includes: The test machine system process loads the test engineering data according to the loading command received from the host computer; After the test engineering data is loaded, the test machine system process starts the test program host process; After the test program host process runs the corresponding user test program according to the test command, the method further includes: The test program host process reports the test result to the test machine system process; The testing machine system process sends the test result to the host computer.

3. The method according to claim 2, characterized in that Before the test program host process runs the corresponding user test program according to the test command, it also includes: The test program host process loads the user test program into the memory; When the test program host process runs the corresponding user test program according to the test command, the test program host process records the data log.

4. The method according to claim 2, characterized in that: Also includes: The test machine system process monitors the status of the test program host process, and in response to monitoring that the test program host process exits abnormally, performs preset security processing on the test machine system.

5. The method according to any one of claims 1 to 4, characterized in that: Also includes: The remote connection server process receives a connection request from the remote connection client process and establishes a network connection with the remote connection client process; The remote connection server process receives a first startup command sent by the remote connection client process, starts a debugging service process according to the first startup command, and attaches the debugging service process to the test program host process; The remote connection server process receives a second startup command sent by the remote connection client process, starts a debugging process according to the second startup command, and connects the debugging process to the debugging service process.

6. The method according to claim 5, characterized in that Also includes: The debugging service process receives the breakpoint debugging command sent by the debugging process, sends a breakpoint signal to the test program host process according to the breakpoint debugging command, obtains the running result of the test program host process at the position corresponding to the breakpoint signal, and feeds back the running result to the debugging process; The debugging process feeds back the running result to the host computer.

7. A test system for a device under test, characterized in that: include: The command forwarding module is used to forward the test commands of the host computer to the test program host process by using the test machine system process; The test processing module is used to utilize the test program host process to run the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

8. The system according to claim 7, characterized in that Also includes: The engineering data loading module is used to load the test engineering data according to the loading command received from the host computer by using the test machine system process; A host process startup module, used to start the test program host process using the test machine system process after the test engineering data is loaded; A test result reporting module, used to report the test result to the test machine system process using the test program host process; The test result forwarding module is used to send the test result to the host computer by using the test machine system process.

9. A testing system, characterized in that: include: The upper computer and the lower computer; The host computer is used to send a test command to the slave computer; The lower computer includes a test machine system process and a test program host process, and is loaded with a user test program; The test machine system process is used to forward the test command of the host computer to the test program host process; The test program host process is used to run the corresponding user test program according to the test command to test the device under test and obtain the test result corresponding to the device under test.

10. The system according to claim 9, characterized in that The upper computer is also used to send a loading command to the lower computer; The test machine system process is also used to load the test engineering data according to the loading command received from the host computer; After the test engineering data is loaded, the test machine system process is also used to start the test program host process; After the test program host process runs the corresponding user test program according to the test command, The test program host process is also used to report the test results to the test machine system process; The test machine system process is also used to send the test results to the host computer.

11. The system according to claim 10, characterized in that Before the test program host process runs the corresponding user test program according to the test command, the test program host process is also used to load the user test program into the memory; In the process that the test program host process runs the corresponding user test program according to the test command, the test program host process is also used to record data logs.

12. The system according to claim 10, characterized in that The test machine system process is also used to monitor the status of the test program host process, and in response to monitoring the abnormal exit of the test program host process, perform preset security processing on the test machine system.

13. The system according to any one of claims 9 to 12, characterized in that: The host computer includes a remote connection client process; The lower computer also includes: a remote connection server process, a debugging service process and a debugging process; The remote connection server process is used to receive a connection request from the remote connection client process and establish a network connection with the remote connection client process; The remote connection server process is also used to receive a first startup command sent by the remote connection client process, start the debugging service process according to the first startup command, and attach the debugging service process to the test program host process; The remote connection server process is further used to receive a second start command sent by the remote connection client process, start the debugging process according to the second start command, and connect the debugging process to the debugging service process.

14. The system according to claim 13, characterized in that The debugging service process is used to receive the breakpoint debugging command sent by the debugging process, send a breakpoint signal to the test program host process according to the breakpoint debugging command, obtain the running result of the test program host process at the position corresponding to the breakpoint signal, and feed back the running result to the debugging process; The debugging process is used to feed back the running result to the host computer.

15. A testing machine, characterized in that: include: A memory for storing a computer program product; The processor is used to execute the computer program product stored in the memory, and when the computer program product is executed, the test method of the device under test described in any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Embedded operating system-based simulation debugging system and method

    CN103186458A

  • Testing system

    CN105282292A

  • Chip verification method and system, computer equipment and readable storage medium

    CN114024871A

  • Multiprocess program-controlled handset testing method

    CN1400832A

  • Integrated circuit remote detecting system and its detecting method

    CN1588857A