Automatic testing method
By obtaining and judging the preconditions and expected results of test cases in EAP simulation tests, and automatically performing the test steps, solving the test inconvenience problem of relying on manual inspection in the prior art, and realizing automated testing of semiconductor devices.
Patent Information
- Application Number
- CN202411180299.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-27
- Publication Date
- 2024-12-17
AI Technical Summary
The existing EAP simulation testing process relies on manual inspection, which leads to inconvenience in testing and cannot be automated.
By obtaining the test case set, obtaining the target test case group, and implementing the tests in turn based on the order of the test steps, obtaining the use case test results, judging the matching between the device messages and the preconditions and expected results, automatically performing the test steps, and realizing automated testing.
It realizes automated testing without manual operation, simplifies the testing process, improves the practicality of the test, and solves the inconvenience of testing that relies on manual inspection.
Smart Images

Figure CN119149324A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of semiconductors, and in particular to an automatic testing method. Background Art
[0002] Before semiconductor equipment goes online, it is necessary to perform an EAP (Equipment Automation Program) simulation test on it. Data is exchanged between the host and the semiconductor device through communication to test the internal functions of the semiconductor device, and mainly test the interface protocol and pre-online production scenarios of the semiconductor device. Specifically, the host can send messages to the semiconductor device to test the corresponding functions of the semiconductor device, thereby ensuring the rapid launch of the semiconductor device.
[0003] However, in the existing EAP simulation test process, most of them can only send a single instruction message to the semiconductor device once, and need to manually check the instruction message fed back by the semiconductor device and the event message fed back by the semiconductor device. Because it relies on manual inspection, there is a defect of inconvenience in testing. Therefore, there is an urgent need for a method for automated testing of semiconductor devices in the prior art. Summary of the invention
[0004] The purpose of the present invention is to solve the defect of inconvenience of testing in the existing EAP simulation test process due to reliance on manual labor.
[0005] To achieve the above object, the present invention provides an automated testing method, which is applied to a host to perform an EAP simulation test on a semiconductor device, comprising:
[0006] Acquire a test case set including a plurality of test cases, wherein the test case includes a plurality of test steps arranged in order and preconditions and expected results respectively corresponding to each of the test steps;
[0007] Acquire a target test case group in the test case set, wherein the test case included in the target test case group is a target test case, acquire input data corresponding to the precondition and the expected result in the target test case, respectively, wherein the input data includes device data of the semiconductor device, and the device data is used to replace identification information of each precondition and identification information of each expected result in the target test case group;
[0008] Based on the order of the test steps included in the target test case, each current test step is tested in sequence to obtain a case test result of the target test case, the case test result indicates whether the target test case is tested successfully or failed, and the test of the current test step includes: obtaining a device message from the semiconductor device, judging whether the device message matches a precondition corresponding to the current test step successfully, executing the current test step when the match is successful, so as to send a host message to the semiconductor device, and after sending the host message, determining a step test result of the current test step based on a comparison between the device message and an expected result corresponding to the current test step, the step test result indicating whether the current test step is tested successfully or failed;
[0009] Obtain the case test result of each of the target test cases in the target test case group.
[0010] As a further improvement of the present invention, obtaining a device message from the semiconductor device, determining whether the device message successfully matches a precondition corresponding to a current test step, and executing the current test step when the match succeeds, comprises:
[0011] Obtaining a device message from the semiconductor device;
[0012] Determine whether the identification information of one of the device messages successfully corresponds to the identification information of one of the preconditions among all the preconditions corresponding to the current test step; if so, determine whether the content of one of the device messages successfully corresponds to the content of the corresponding successful precondition, so as to determine the comparison result of one of the device messages and the corresponding successful precondition, and wait for the next device message; if the identification information of the device message does not successfully correspond to the identification information of all the preconditions, wait for the next device message, wherein the comparison result indicates whether the device message successfully matches or fails to match the precondition;
[0013] The acquisition of the device message and the correspondence and comparison with the preconditions are repeatedly implemented, and when the comparison results of all the preconditions corresponding to the current test step indicate a successful match, the current test step is executed.
[0014] As a further improvement of the present invention, determining whether the identification information of a piece of the device message corresponds successfully to the identification information of one of the preconditions among all the preconditions corresponding to the current test step includes:
[0015] When the device message is a command primary message, a command secondary message or an event secondary message, determining whether a message header of the device message is identical to a message header of one of all the preconditions corresponding to the current test step, and if so, determining a corresponding success; otherwise, determining a corresponding failure;
[0016] When the device message is an event message, determine whether the event ID of the device message is the same as the event ID of one of the preconditions among all the preconditions corresponding to the current test step. If they are the same, the result of the determination is a corresponding success; otherwise, the result of the determination is a corresponding failure.
[0017] As a further improvement of the present invention, determining whether the content of a device message is successfully compared with the content of the corresponding successful precondition includes:
[0018] Determine whether the content of a device message is the same as the content of the corresponding successful precondition. If they are the same, the result of the judgment is a successful comparison, indicating that the device message matches the precondition successfully. Otherwise, the result of the judgment is a failed comparison, indicating that the device message fails to match the precondition.
[0019] As a further improvement of the present invention, obtaining a device message from the semiconductor device, and determining a step test result of the current test step based on a comparison between the device message and an expected result corresponding to the current test step, comprises:
[0020] Obtaining a device message from the semiconductor device;
[0021] Determine whether the identification information of one of the device messages successfully corresponds to the identification information of one of the expected results among all the expected results corresponding to the current test step; if so, determine whether the content of one of the device messages successfully matches the content of the corresponding successful expected result, so as to determine the comparison result of one of the device messages and the corresponding successful expected result, and wait for the next device message; if the identification information of the device message does not successfully correspond to the identification information of all the expected results, wait for the next device message, wherein the comparison result indicates whether the device message successfully matches or fails to match the expected result;
[0022] Repeat the acquisition of the device message and the correspondence and comparison with the expected results. When all the expected results corresponding to the current test step have been compared, determine whether the comparison results of all the expected results corresponding to the current test step indicate a successful match. If so, determine that the step test result of the current test step is a successful test. If not, determine that the step test result of the current test step is a failed test.
[0023] As a further improvement of the present invention, determining whether the identification information of a piece of the device message corresponds successfully to the identification information of one of the expected results among all the expected results corresponding to the current test step includes:
[0024] When the device message is a command primary message, a command secondary message or an event secondary message, determining whether a message header of the device message is identical to a message header of one of all expected results corresponding to the current test step, and if so, determining a corresponding success; otherwise, determining a corresponding failure;
[0025] When the device message is an event message, determine whether the event ID of the device message is the same as the event ID of one of the expected results among all the expected results corresponding to the current test step. If they are the same, the result of the judgment is a corresponding success; otherwise, the result of the judgment is a corresponding failure.
[0026] As a further improvement of the present invention, determining whether the content of a device message is successfully compared with the content of the corresponding successful expected result includes:
[0027] Determine whether the content of a device message is the same as the content of the corresponding successful expected result. If they are the same, the result of the judgment is a successful comparison, indicating that the device message matches the expected result successfully. Otherwise, the result of the judgment is a failed comparison, indicating that the device message fails to match the expected result.
[0028] As a further improvement of the present invention, after obtaining the device message from the semiconductor device, the test of the current test step further includes:
[0029] The message type of the device message is obtained, where the message type is a command primary message, a command secondary message, an event primary message, or an event secondary message.
[0030] As a further improvement of the present invention, the test case set includes a standardized test case set and / or a non-standardized test case set;
[0031] The automated testing method further comprises:
[0032] When a case test result of one of the target test cases indicates a test failure, wait for a recovery instruction of the semiconductor device, wherein the recovery instruction is an input instruction to the semiconductor device by a user, and implement the test of another target test case in the target test case group based on the recovery instruction to obtain a case test result of the other target test case.
[0033] As a further improvement of the present invention, the target test case group includes one target test case or multiple target test cases arranged in order. When it includes multiple target test cases arranged in order, each of the target test cases is tested in sequence based on the order of the multiple target test cases to obtain a case test result of each target test case.
[0034] As a further improvement of the present invention, each current test step is tested in sequence based on the order of the test steps included in the target test case to obtain a test result of the target test case, wherein the test result indicates whether the target test case is tested successfully or failed, including:
[0035] Based on the sequence, a test step is obtained as a current test step, and a test is performed on the current test step to obtain a step test result of the current test step;
[0036] When the step test result indicates that the test is successful, another test step is obtained as the current test step based on the sequence and the test is performed on it, and if the step test results of each test step in the target test case all indicate that the test is successful, a case test result of the target test case is obtained, and the case test result indicates that the target test case is tested successfully;
[0037] When the step test result indicates that the test fails, the process of obtaining the current test step based on the sequence is terminated, and a case test result of the target test case is obtained, and the case test result indicates that the target test case fails.
[0038] Compared with the prior art, the present invention has the following beneficial effects:
[0039] In the process of implementing the test steps, the host tests each test step in sequence based on the order of the test steps included in the target test case to obtain the case test results of the target test case, and obtains the case test results of each target test case in the target test case group, thereby realizing automated testing. Generally, no manual operation is required to solve the inconvenience of testing in the existing EAP simulation test process that relies on manual operation, and the testing process is simple and highly practical. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 A schematic diagram of the steps of an automated testing method shown in an embodiment of the present invention;
[0041] Figure 2 for Figure 1 The detailed step diagram of step S100 included in step S3 and step S4 is shown;
[0042] Figure 3 for Figure 1 The detailed step diagram of step S200 included in step S3 and step S4 is shown. DETAILED DESCRIPTION
[0043] The present invention is described in detail below in conjunction with the various embodiments shown in the accompanying drawings, but it should be noted that these embodiments are not limitations of the present invention, and any equivalent transformations or substitutions in functions, methods, or structures made by ordinary technicians in the field based on these embodiments are all within the scope of protection of the present invention.
[0044] Please refer to Figures 1 to 3 As shown, an embodiment of the present invention shows a specific implementation of an automated testing method. The automated testing method is applied to a host to perform EAP simulation testing on semiconductor devices. Specifically, semiconductor devices need to undergo EAP simulation testing before they are officially put online after entering a factory, and mainly test the interface protocol and pre-online production scenarios of semiconductor devices. In an embodiment of the present invention, the production scenario is represented by a test case, and the sending and receiving messages involved in each test step in the test case comply with the interface protocol.
[0045] In an embodiment of the present invention, the test case set includes a standardized test case set (e.g., a GEM300 standard test case set) and / or a non-standardized test case set, and the standardized test case set adopts a standardized interface protocol, and the non-standardized test case set adopts a non-standardized interface protocol. It can be seen that the interface protocol can be a SEMI standard, such as a SECS / GEM standard or a GEM300 standard, and a standardized test case set can be constructed based on the SEMI standard. The interface protocol can also be a non-standard protocol, which is artificially specified. For example, a non-standardized test case set can be constructed based on a non-standard protocol.
[0046] In the present application, a specific EAP simulation test can be performed by an EAP simulation test tool running on a host. The host is a carrier of the EAP simulation test tool. The EAP simulation test tool running on the host is based on the communication between the host and the semiconductor device to implement EAP simulation testing on the semiconductor device. The communication between the host and the semiconductor device can be specifically implemented through interface plug-in, and the communication between the host and the semiconductor device complies with the interface protocol.
[0047] In an embodiment of the present application, a test case set including multiple test cases is obtained by a host, and a target test case group consisting of test cases (i.e., target test cases) that need to be tested on a semiconductor device is obtained. Each test step is tested in sequence based on the order of the test steps contained in the target test case, and the step test result of each test step is determined, thereby determining the case test result of the target test case, and then determining the case test result of each target test case in the target test case group. In the process of implementing the test steps, generally no manual operation is required, and the host performs automated testing on the semiconductor device, that is, the host obtains a device message from the semiconductor device in real time during the process of testing each test step in sequence, and determines whether the device message matches the precondition corresponding to the current test step successfully. When the match is successful, the current test step is executed to send a host message to the semiconductor device. After sending the host message, the step test result of the current test step is determined based on the comparison of the device message and the expected result corresponding to the current test step, thereby realizing an automated testing process to solve the defect of the inconvenience of testing in the existing EAP simulation test process that relies on manual labor, and the testing process is simple and highly practical.
[0048] In an embodiment of the present invention, a test case (i.e., a target test case) that needs to be tested can be selected for testing according to the needs of the semiconductor device, and the target test case in the target test case group can be quickly added, deleted or modified by the host to ensure the flexibility of the test case selection of the semiconductor device. In an embodiment of the present invention, the host corresponds to a graphical user interface, and the user can select a test case, delete a test case or modify a test case in the interface, and the host obtains the user's selection, modification and modification of the test case based on the graphical user interface.
[0049] Ginseng Figure 1 As shown, this embodiment provides an automated testing method, including the following steps S1 to S4.
[0050] Step S1, obtaining a test case set including a plurality of test cases, wherein the test case includes a plurality of test steps arranged in order and preconditions and expected results corresponding to each test step.
[0051] Specifically, the user creates a test case set in advance, and obtains the test case set created by the user on the host.
[0052] Among them, the prerequisite corresponding to a single test step refers to the condition that the semiconductor device needs to meet before executing the single test step, and the expected result corresponding to a single test step refers to the result that the semiconductor device expects to achieve after executing the single test step.
[0053] Step S2, obtaining a target test case group in the test case set, the test cases included in the target test case group are target test cases, obtaining input data corresponding to the preconditions and expected results in the target test cases, respectively, the input data including device data of the semiconductor device, and the device data is used to replace the identification information of each precondition and the identification information of each expected result in the target test case group.
[0054] In an embodiment of the present invention, the communication between the host and the semiconductor device is first established, and then the user selects at least one target test case on the graphical user interface corresponding to the host, and these target test cases form a target test case group, and the host obtains the target test case group. Specifically, the test case that the semiconductor device needs to be tested is selected from the multiple test cases included in the test case set, and it is defined as a target test case, and the target test case group is composed of all selected target test cases (that is, the test cases included in the target test case group are target test cases), and the content in the target test case in the target test case group can be quickly added, deleted or modified by the host, such as the test steps, to ensure the flexibility of the semiconductor device test case selection. In addition, the host also obtains the device data of the semiconductor device, and imports the device data into the preconditions and expected results in the target test case of the target test case group to ensure the adaptability of the target test case and the semiconductor device. Wherein, the device data is the identification information applicable to the device corresponding to each test step in the target test case group, and each device message sent by the device has the corresponding identification information.
[0055] In some embodiments, the input data may also include production information required for each test step in the target test case group. The production information is intended to characterize material production data related to semiconductor equipment production or testing sites, including the wafer box number, wafer position in the wafer box, and recipe name, etc.
[0056] In some embodiments, the semiconductor equipment is equipment used in a semiconductor production process, and may include at least one of a photolithography equipment, an etching equipment, a deposition equipment, a measurement equipment, and a detection equipment.
[0057] In some embodiments, the host can communicate with a single semiconductor device or multiple semiconductor devices. When the host communicates with multiple semiconductor devices, the automated testing method in the embodiment of the present invention can be sequentially implemented on the multiple semiconductor devices in a preset order.
[0058] Step S3: Test each current test step in sequence based on the order of the test steps included in the target test case to obtain a test result of the target test case, wherein the test result indicates whether the target test case succeeds or fails.
[0059] Specifically, the test of the current test step includes: obtaining a device message from the semiconductor device, determining whether the device message matches the precondition corresponding to the current test step successfully, executing the current test step when the match is successful to send a host message to the semiconductor device, and after sending the host message, determining the step test result of the current test step based on a comparison between the device message and the expected result corresponding to the current test step, the step test result indicating whether the current test step is tested successfully or failed.
[0060] In some embodiments, whether the case test result indicates that the target test case has been successfully tested or failed, or the step test result indicates that the current test step has been successfully tested or failed, a word indication is described. The word indications here are all describing that the test results (such as case test results or step test results) can have multiple specific forms of expression. Those skilled in the art can reasonably set the form of expression of the test results, and can use a combination of words to represent the test results, or a combination of symbols to represent the test results. Taking the use of a combination of words to represent the test results as an example, specifically, successful and failed can be used to represent test success and test failure, respectively, or true and false can be used to represent test success and test failure, respectively, or yes and no can be used to represent test success and test failure, respectively. In addition, for the comparison results that appear later, similarly, the comparison results can be represented by a combination of words or a combination of symbols, which will not be repeated here.
[0061] In some implementations, testing each current test step in sequence based on the order of the test steps included in the target test case to obtain a test result of the target test case, wherein the test result indicates whether the target test case is tested successfully or failed, including:
[0062] Obtain a test step as a current test step based on the sequence, and perform a test on the current test step to obtain a step test result of the current test step;
[0063] When the step test result indicates that the test is successful, another test step is obtained as the current test step based on the sequence and the test is performed on it, and if the step test results of each test step in the target test case all indicate that the test is successful, the case test result of the target test case is obtained, and the case test result indicates that the target test case is tested successfully;
[0064] When the step test result indicates that the test fails, the process of sequentially acquiring the current test step is terminated, and the case test result of the target test case is obtained, and the case test result indicates that the target test case fails.
[0065] In one implementation, a device message from a semiconductor device is obtained, and it is determined whether the device message successfully matches a precondition corresponding to a current test step. If the match is successful, the current test step is executed, specifically including the following steps S21 to S23.
[0066] Step S21: Obtain a device message from a semiconductor device.
[0067] Step S22, determine whether the identification information of a device message corresponds successfully with the identification information of one of the preconditions among all the preconditions corresponding to the current test step; if so, determine whether the content of a device message is successfully compared with the content of the corresponding successful precondition to determine the comparison result of the device message and the corresponding successful precondition, and wait for the next device message; if the identification information of the device message does not correspond successfully with the identification information of all the preconditions, wait for the next device message, wherein the comparison result indicates whether the device message matches the precondition successfully or fails.
[0068] Step S23, repeatedly implement the acquisition of device messages and the correspondence and comparison with the preconditions. When the comparison results of all preconditions corresponding to the current test step indicate a successful match, execute the current test step.
[0069] Specifically, the host selects the first test step in the order of the target test case as the current test step, and determines all the preconditions corresponding to the current test step. The host obtains a device message from the semiconductor device in real time, and the host implements the step content shown in step S22 on the device message, the purpose of which is to first determine whether the correspondence is successful and then determine whether the comparison is successful, and determine whether the device message matches the precondition corresponding to the current test step based on the results of these two types of judgments (called comparison results). Among them, the comparison result of the aforementioned successful corresponding precondition indicates that the device message matches the precondition successfully or fails to match. Similarly, for example, successful and failful can be used to indicate a successful match and a failed match, respectively. Repeat the acquisition of the device message and the correspondence and comparison of the device message and the precondition until the comparison results of all the preconditions corresponding to the current test step indicate a successful match, and then the host executes the current test step.
[0070] It should be noted that in this application, the message type of the device message is a command primary message, a command secondary message, an event primary message, or an event secondary message. A primary message refers to a request message sent by the host or sent by the semiconductor device, a secondary message refers to a response message from the semiconductor device to the host or from the host to the semiconductor device, an event primary message refers to a primary message of an event type sent by one of the semiconductor device and the host (such as the semiconductor device) to the other (such as the host) regarding its (such as the semiconductor device) current state, and other types of primary messages are collectively referred to as command primary messages. Similarly, an event secondary message refers to a secondary message of an event type sent by one of the semiconductor device and the host to the other regarding its current state, and other types of secondary messages are collectively referred to as command secondary messages.
[0071] For the command message once, the command message twice and the event message twice, they all include a message header and content. The message header can be used to characterize the identity of the device message. Therefore, when judging whether the device message corresponds to the precondition successfully and the comparison is successful, and when judging whether the device message corresponds to the expected result successfully and the comparison is successful, the device message can be judged based on the message header and content. For the event message once, the event message once includes a message header, an event ID and content. The event message once can be parsed to obtain a specific event ID (i.e., Collection Event ID, referred to as "CEID"), so that when judging whether the device message corresponds to the precondition successfully and the comparison is successful, and when judging whether the device message corresponds to the expected result successfully and the comparison is successful, the device message can be judged based on the event ID and content without implementing a comparison on the message header. The identification information is intended to be able to indicate the identity of the device message. Therefore, in this application, if the device message is a command message once, a command message twice or an event message twice, the message header can be regarded as the identification information of the device message, and if the device message is an event message once, the event ID can be regarded as the identification information of the device message. In an embodiment of the present invention, after obtaining a device message from a semiconductor device, and before determining whether the identification information of a device message successfully matches the identification information of one of all the preconditions corresponding to the current test step, the test of the current test step further includes: obtaining the message type of a device message, the message type is a command message once, a command message twice, an event message once, or an event message twice. In other words, obtaining a device message from the semiconductor device, determining whether the device message successfully matches the precondition corresponding to the current test step, and executing the current test step when the match is successful, further includes: obtaining the message type of a device message, the message type is a command message once, a command message twice, an event message once, or an event message twice.
[0072] In one implementation, determining whether identification information of a device message successfully corresponds to identification information of one of all preconditions corresponding to the current test step includes:
[0073] When the device message is an instruction once message, an instruction twice message or an event twice message, determine whether a message header of a device message is identical to a message header of one of the preconditions corresponding to the current test step; if they are identical, the result of the determination is a corresponding success; otherwise, the result of the determination is a corresponding failure; when the device message is an event once message, determine whether an event ID of the device message is identical to an event ID of one of the preconditions corresponding to the current test step; if they are identical, the result of the determination is a corresponding success; otherwise, the result of the determination is a corresponding failure.
[0074] Specifically, when the device message is an instruction primary message, an instruction secondary message or an event secondary message, the identification information of the device message is the above-mentioned message header. It is then determined whether the message header of the device message is the same as the message header of one of the preconditions corresponding to the current test step. If they are not the same (i.e., the corresponding failure), it indicates that the device message does not belong to one of the preconditions corresponding to the current test step. If the device message does not correspond successfully to each of the preconditions, that is, they all correspond to failure, then the next device message can be waited for to perform a judgment on the next device message and the precondition; if they are the same (i.e., the corresponding success), it indicates that the device message belongs to one of the preconditions corresponding to the current test step, and the content of the device message and the content of the precondition are further judged. Similarly, when the device message is an event message, the identification information of the device message is the above-mentioned event ID. It is then determined whether the event ID of the device message is the same as the event ID of one of the preconditions corresponding to the current test step. If they are not the same (i.e., the corresponding failure), it indicates that the device message does not belong to one of the preconditions corresponding to the current test step. If the device message does not correspond successfully to each of the preconditions, that is, they all correspond to failure, then the next device message can be waited for to perform a judgment on the next device message and the precondition. If they are the same (i.e., the corresponding success), it indicates that the device message belongs to one of the preconditions corresponding to the current test step, and the content of the device message and the content of the precondition are further judged.
[0075] In one embodiment, determining whether the content of a device message is successfully compared with the content of a corresponding successful precondition includes: determining whether the content of a device message is identical to the content of the corresponding successful precondition; if they are identical, the result of the determination is a successful comparison, indicating that the device message matches the precondition successfully; otherwise, the result of the determination is a failed comparison, indicating that the device message matches the precondition failed.
[0076] In one embodiment, a device message from a semiconductor device is obtained, and a step test result of the current test step is determined based on a comparison between the device message and an expected result corresponding to the current test step, including the following steps S31 to S33.
[0077] Step S31: Obtain a device message from a semiconductor device.
[0078] Step S32, determine whether the identification information of a device message corresponds successfully with the identification information of an expected result among all the expected results corresponding to the current test step. If so, determine whether the content of a device message is successfully compared with the content of the corresponding successful expected result to determine the comparison result of the device message and the corresponding successful expected result, and wait for the next device message. If the identification information of the device message does not correspond successfully with the identification information of all the expected results, wait for the next device message, wherein the comparison result indicates whether the device message matches the expected result successfully or fails.
[0079] Step S33, repeatedly implement the acquisition of device messages and the correspondence and comparison with expected results. When all expected results corresponding to the current test step have been compared, determine whether the comparison results of all expected results corresponding to the current test step indicate a successful match. If so, determine that the step test result of the current test step is a successful test. If not, determine that the step test result of the current test step is a failed test.
[0080] Specifically, after executing the current test step, the host sends a host message to the semiconductor device. After sending the host message, the host obtains a device message from the semiconductor device in real time. The host implements the step content shown in step S32 on the device message. The purpose is to first determine whether the correspondence is successful and then determine whether the comparison is successful. Based on the results of these two types of judgments, it is determined whether the device message matches the expected result corresponding to the current test step successfully.
[0081] It should be noted that, from the above, it can be seen that the identification information is intended to be able to indicate the identity of the device message. If the device message is a command primary message, a command secondary message or an event secondary message, the message header can be regarded as the identification information of the device message. If the device message is an event primary message, the event ID can be regarded as the identification information of the device message, and the device message and the expected result can be judged based on this.
[0082] In one embodiment, determining whether the identification information of a device message corresponds successfully to the identification information of all expected results corresponding to the current test step includes: when the device message is an instruction once message, an instruction twice message, or an event twice message, determining whether the message header of a device message is the same as the message header of one of the expected results corresponding to the current test step; if they are the same, the result of the determination is a successful correspondence; otherwise, the result of the determination is a failed correspondence; when the device message is an event once message, determining whether the event ID of a device message is the same as the event ID of one of the expected results corresponding to the current test step; if they are the same, the result of the determination is a successful correspondence; otherwise, the result of the determination is a failed correspondence.
[0083] Specifically, when the device message is a command primary message, a command secondary message or an event secondary message, the identification information of the device message is the above-mentioned message header; when the device message is an event primary message, the identification information of the device message is the above-mentioned event ID.
[0084] In one embodiment, determining whether the content of a device message is successfully compared with the content of the corresponding successful expected result includes: determining whether the content of a device message is identical to the content of the corresponding successful expected result; if they are identical, the result of the determination is a successful comparison, indicating that the device message matches the expected result successfully; otherwise, the result of the determination is a failed comparison, indicating that the device message matches the expected result unsuccessfully.
[0085] It should be noted that, for a device message, after obtaining a device message from a semiconductor device, a judgment is implemented on one of the preconditions corresponding to the device message and the current test step, or after the current test step is executed, a judgment is implemented on one of the expected results corresponding to the device message and the current test step.
[0086] Step S4: Obtain the test result of each target test case in the target test case group.
[0087] In some embodiments, the automated testing method also includes: generating a test report based on the case test results corresponding to the target test cases included in the target test case group, and the test report includes the test statistical results of each test step, the test statistical results include the number statistics of test steps that successfully tested, test steps that failed, and untested test steps (as described above, for a target test case, when the step test result of a test step indicates a test failure, the process of sequentially obtaining the current test step is terminated, from which it can be seen that there may be untested test steps).
[0088] In some embodiments, the target test case group includes one target test case or multiple ordered target test cases. When it includes multiple ordered target test cases, each target test case is tested in sequence based on the order of the multiple target test cases to obtain a case test result of each target test case.
[0089] In one embodiment, the automated testing method further includes: when a case test result of a target test case indicates a test failure, waiting for a recovery instruction of the semiconductor device, the recovery instruction is an input instruction of the user to the semiconductor device, and performing a test on another target test case in the target test case group based on the recovery instruction to obtain a case test result of another group of target test cases. Specifically, when the case test result of the target test case is a test failure, the host suspends the testing of the target test case that has not been tested in the target test case group, and the semiconductor device sends a recovery instruction to the host, and then based on the recovery instruction and the order of each target test case in the target test case group, another target test case that has not been tested in the target test case group is tested, and the case test result of the other target test case is determined.
[0090] In summary, specifically, Figure 2 and Figure 3 As shown, step S3 and step S4 specifically include the following steps S100 and S200 executed in parallel, and both steps S100 and S200 are executed by the host. For ease of understanding, in this application, step S100 can be regarded as the main process, which is responsible for the implementation of the test steps in the target test case in the target test case group and generating a test report; step S200 can be regarded as a sub-process, which is responsible for the judgment of the preconditions before the implementation of the test steps and the judgment of the expected results after the implementation of the test steps.
[0091] Ginseng Figure 2 As shown, step S100 includes the following steps S101 to S112.
[0092] Step S101: Obtain a target test case in a target test case group.
[0093] Step S102: Obtain a test step in the target test case as the current test step.
[0094] Step S103: Wait.
[0095] Step S104, check whether all preconditions in the current test step are matched successfully; if so, execute step S105; if not, execute step S103.
[0096] Step S105: Execute the current test step to send a host message to the semiconductor device.
[0097] Step S106, check whether all expected results in the current test step are matched successfully; if so, execute step S108; if not, execute step S107.
[0098] Step S107, record the step test result of the current test step as test failure, and then execute step S110.
[0099] Step S108, record the step test result of the current test step as test success.
[0100] Step S109, determine whether there is a next test step; if so, execute step S102; if not, execute step S110.
[0101] Step S110: Determine a test case test result of a target test case.
[0102] Step S111, determine whether there is a next target test case; if so, execute step S101; if not, execute step S112.
[0103] Step S112: Generate a test report.
[0104] Ginseng Figure 3 As shown, step S200 includes the following steps S201 to S214.
[0105] Step S201: Acquire a device message from a semiconductor device.
[0106] Step S202, determine whether the message type of the device message is an event one message; if so, execute steps S203 and S204; if not, execute steps S205 and S206.
[0107] Step S203, determine whether the event ID and content of the device message are the same as the event ID and content of one of the preconditions of all the preconditions of the current test step; if so, execute step S207; if not, execute step S208. If not, execute step S208 should be understood as: otherwise, execute step S208.
[0108] Step S204: determine whether the event ID and content of the device message are the same as the event ID and content of one of the expected results of the current test step. If yes, execute step S209; if no, execute step S210. If no, execute step S210 should be understood as: otherwise, execute step S210.
[0109] Step S205: determine whether the message header and content of the device message are the same as the message header and content of one of the preconditions of all the preconditions of the current test step; if so, execute step S211; if not, execute step S212. If not, execute step S212 should be understood as: otherwise, execute step S212.
[0110] Step S206: determine whether the message header and content of the device message are the same as the message header and content of one of the expected results of all the expected results of the current test step; if so, execute step S213; if not, execute step S214. If not, execute step S214 should be understood as: otherwise, execute step S214.
[0111] Step S207, record the comparison result of the precondition as a successful match, and then execute step S201.
[0112] Step S208: record the comparison result of the precondition as a match failure, and then execute step S201.
[0113] Step S209: record the comparison result of the expected result as a successful match, and then execute step S201.
[0114] Step S210: record the comparison result of the expected result as a match failure, and then execute step S201.
[0115] Step S211, record the comparison result of the precondition as a successful match, and then execute step S201.
[0116] Step S212: record the comparison result of the precondition as a match failure, and then execute step S201.
[0117] Step S213: record the comparison result of the expected result as a successful match, and then execute step S201.
[0118] Step S214: record the comparison result of the expected result as a match failure, and then execute step S201.
[0119] In the present application, a test case set including multiple test cases is created in advance, and a target test case group consisting of target test cases corresponding to semiconductor devices is selected from the test case set according to the needs of different semiconductor devices, and the target test cases in the target test case group can be quickly added, deleted or modified by the host to ensure the flexibility of semiconductor device test case selection; in the present application, before implementing the test steps, the device data of the semiconductor device is imported into the identification information corresponding to the preconditions and expected results in each target test case in the target test case group to ensure the adaptability of the target test case to the actual situation of the semiconductor device; in the process of implementing the test steps, the host tests each current test step in sequence based on the order of the test steps included in the target test case to obtain the case test results of the target test case, and obtains the case test results of each target test case in the target test case group, thereby realizing automated testing, generally without manual operation, to solve the defect of inconvenience of testing in the existing EAP simulation test process that relies on manual labor.
[0120] The series of detailed descriptions listed above are only specific descriptions of feasible implementation methods of the present invention. They are not intended to limit the scope of protection of the present invention. Any equivalent implementation methods or changes that do not deviate from the technical spirit of the present invention should be included in the scope of protection of the present invention.
[0121] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
[0122] In addition, it should be understood that although the present specification is described according to implementation modes, not every implementation mode contains only one independent technical solution. This description of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment may also be appropriately combined to form other implementation modes that can be understood by those skilled in the art.
Claims
1. An automated testing method, applied to a host to perform EAP simulation testing on a semiconductor device, characterized in that: include: Acquire a test case set including a plurality of test cases, wherein the test case includes a plurality of test steps arranged in order and preconditions and expected results respectively corresponding to each of the test steps; Acquire a target test case group in the test case set, wherein the test case included in the target test case group is a target test case, acquire input data corresponding to the precondition and the expected result in the target test case, respectively, wherein the input data includes device data of the semiconductor device, and the device data is used to replace identification information of each precondition and identification information of each expected result in the target test case group; Based on the order of the test steps included in the target test case, each current test step is tested in sequence to obtain a case test result of the target test case, the case test result indicates whether the target test case is tested successfully or failed, and the test of the current test step includes: obtaining a device message from the semiconductor device, judging whether the device message matches a precondition corresponding to the current test step successfully, executing the current test step when the match is successful, so as to send a host message to the semiconductor device, and after sending the host message, determining a step test result of the current test step based on a comparison between the device message and an expected result corresponding to the current test step, the step test result indicating whether the current test step is tested successfully or failed; Obtain the case test result of each of the target test cases in the target test case group.
2. The automated testing method according to claim 1, characterized in that: Acquiring a device message from the semiconductor device, determining whether the device message successfully matches a precondition corresponding to a current test step, and executing the current test step when the match succeeds, including: Obtaining a device message from the semiconductor device; Determine whether the identification information of one of the device messages successfully corresponds to the identification information of one of the preconditions among all the preconditions corresponding to the current test step; if so, determine whether the content of one of the device messages successfully corresponds to the content of the corresponding successful precondition, so as to determine the comparison result of one of the device messages and the corresponding successful precondition, and wait for the next device message; if the identification information of the device message does not successfully correspond to the identification information of all the preconditions, wait for the next device message, wherein the comparison result indicates whether the device message successfully matches or fails to match the precondition; The acquisition of the device message and the correspondence and comparison with the preconditions are repeatedly implemented, and when the comparison results of all the preconditions corresponding to the current test step indicate a successful match, the current test step is executed.
3. The automated testing method according to claim 2, characterized in that: Determining whether the identification information of a piece of the device message corresponds successfully to the identification information of one of all the preconditions corresponding to the current test step includes: When the device message is a command primary message, a command secondary message or an event secondary message, determining whether a message header of the device message is identical to a message header of one of all the preconditions corresponding to the current test step, and if so, determining a corresponding success; otherwise, determining a corresponding failure; When the device message is an event message, determine whether the event ID of the device message is the same as the event ID of one of the preconditions among all the preconditions corresponding to the current test step. If they are the same, the result of the determination is a corresponding success; otherwise, the result of the determination is a corresponding failure.
4. The automated testing method according to claim 2, characterized in that: Determining whether the content of a device message is successfully compared with the content of the corresponding successful precondition includes: Determine whether the content of a device message is the same as the content of the corresponding successful precondition. If they are the same, the result of the judgment is a successful comparison, indicating that the device message matches the precondition successfully. Otherwise, the result of the judgment is a failed comparison, indicating that the device message fails to match the precondition.
5. The automated testing method according to claim 1, characterized in that: Acquiring a device message from the semiconductor device, and determining a step test result of the current test step based on a comparison between the device message and an expected result corresponding to the current test step, comprising: Obtaining a device message from the semiconductor device; Determine whether the identification information of one of the device messages successfully corresponds to the identification information of one of the expected results among all the expected results corresponding to the current test step; if so, determine whether the content of one of the device messages successfully matches the content of the corresponding successful expected result, so as to determine the comparison result of one of the device messages and the corresponding successful expected result, and wait for the next device message; if the identification information of the device message does not successfully correspond to the identification information of all the expected results, wait for the next device message, wherein the comparison result indicates whether the device message successfully matches or fails to match the expected result; Repeat the acquisition of the device message and the correspondence and comparison with the expected results. When all the expected results corresponding to the current test step have been compared, determine whether the comparison results of all the expected results corresponding to the current test step indicate a successful match. If so, determine that the step test result of the current test step is a successful test. If not, determine that the step test result of the current test step is a failed test.
6. The automated testing method according to claim 5, characterized in that: Determining whether the identification information of a piece of the device message corresponds successfully to the identification information of one of all the expected results corresponding to the current test step includes: When the device message is a command primary message, a command secondary message or an event secondary message, determining whether a message header of the device message is identical to a message header of one of all expected results corresponding to the current test step, and if so, determining a corresponding success; otherwise, determining a corresponding failure; When the device message is an event message, determine whether the event ID of the device message is the same as the event ID of one of the expected results among all the expected results corresponding to the current test step. If they are the same, the result of the judgment is a corresponding success; otherwise, the result of the judgment is a corresponding failure.
7. The automated testing method according to claim 5, characterized in that: Determining whether the content of a device message is successfully compared with the content of the corresponding successful expected result includes: Determine whether the content of a device message is the same as the content of the corresponding successful expected result. If they are the same, the result of the judgment is a successful comparison, indicating that the device message matches the expected result successfully. Otherwise, the result of the judgment is a failed comparison, indicating that the device message fails to match the expected result.
8. The automated testing method according to claim 1, characterized in that: After acquiring the device message from the semiconductor device, the test of the current test step further includes: The message type of the device message is obtained, where the message type is a command primary message, a command secondary message, an event primary message, or an event secondary message.
9. The automated testing method according to claim 1, characterized in that: The test case set includes a standardized test case set and / or a non-standardized test case set; The automated testing method further comprises: When a case test result of one of the target test cases indicates a test failure, wait for a recovery instruction of the semiconductor device, wherein the recovery instruction is an input instruction to the semiconductor device by a user, and implement the test of another target test case in the target test case group based on the recovery instruction to obtain a case test result of the other target test case.
10. The automated testing method according to claim 1, characterized in that: The target test case group includes one target test case or multiple target test cases arranged in order. When it includes multiple target test cases arranged in order, each of the target test cases is tested in sequence based on the order of the multiple target test cases to obtain the case test results of each target test case.
11. The automated testing method according to claim 1, characterized in that: Based on the order of the test steps included in the target test case, each current test step is tested in sequence to obtain a test result of the target test case, wherein the test result indicates whether the target test case is tested successfully or failed, including: Based on the sequence, a test step is obtained as a current test step, and a test is performed on the current test step to obtain a step test result of the current test step; When the step test result indicates that the test is successful, another test step is obtained as the current test step based on the sequence and the test is performed on it, and if the step test results of each test step in the target test case all indicate that the test is successful, a case test result of the target test case is obtained, and the case test result indicates that the target test case is tested successfully; When the step test result indicates that the test fails, the process of obtaining the current test step based on the sequence is terminated, and a case test result of the target test case is obtained, and the case test result indicates that the target test case fails.
Citation Information
Cited By
Automatic simulation test system and method of semiconductor EAP system
CN121387756A
Automatic labeling method and system for semiconductor manufacturing test case
CN122514218A
A method and system for automatic labeling of semiconductor manufacturing test cases
CN122514218B
