Mask batch board testing method and device based on rule engine, medium and equipment
By using a rule engine-based mask-based batch board testing method, the problem of low efficiency in small-batch testing of multiple product types on zero-terminal devices is solved, achieving efficient and flexible batch testing, adapting to the needs of multi-product production, and shortening the retesting cycle.
Patent Information
- Application Number
- CN202510751568.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-06
- Publication Date
- 2025-10-24
AI Technical Summary
In the production of terminal equipment, the need for small-batch, highly confidential, and multi-variety hardware configurations leads to low testing efficiency. Furthermore, the special retesting after root cause analysis of faults is too time-consuming or requires manual intervention, posing a risk of misoperation.
The method of batch board testing using a rule engine-based mask is adopted. By defining the bitmask format and JSON configuration file, test rules are pre-set in the host computer. The board executes test conditions and loads associated test items according to priority, and performs tests after activating the test items.
It improves testing efficiency, supports real-time loading of thousands of rules, adapts to the needs of multi-variety production, shortens the retesting cycle, enhances the flexibility and scalability of testing, and reduces the skipping of unnecessary test items.
Smart Images

Figure CN120832276A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of single board testing, and in particular to a rule engine-based mask batch board testing method, device, medium and equipment. BACKGROUND
[0002] Zero terminal is an innovative terminal device type, which concentrates computing, storage and processing capacity in the cloud or server end through specific protocols and technologies, and the zero terminal device itself does not need strong computing power locally. This design makes the zero terminal device small in size, low in cost and low in energy consumption, and has the characteristics of high security and easy management.
[0003] Zero terminal is favored due to its wide range of application scenarios, which has led to an increase in demand for diversified versions in different business scenarios. Due to the differentiated hardware configuration requirements of different application scenarios (edge computing nodes, miniature sensing terminals, secure communication modules, etc.), combined with the heterogeneous module combination of hardware-level encryption chips, trusted execution environments and other heterogeneous modules generated by security and trusted computing requirements, a typical production pattern of "multiple varieties, small batches, and high security" is formed. The combination of hardware configurations grows exponentially (N processors x M communication modules x K encryption units), and frequent test tool switching will lead to a decline in production line efficiency.
[0004] And the individual differences of the board in production lead to the non-convergent characteristics of the Device Under Test (DUT) failure, especially in the small-batch trial production stage, the special retest after fault root cause analysis faces a dilemma: one is that full retest is time-consuming and causes waste of production capacity; the second is that special test needs manual intervention in test script switching, and there is a risk of secondary failure caused by misoperation.
[0005] Therefore, it is necessary to provide a new technical solution to improve one or more problems in the above solutions.
[0006] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present application, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY
[0007] The purpose of the present application is to provide a rule engine-based mask batch board testing method, device, medium and equipment, thereby at least overcoming one or more problems caused by the limitations and defects of the related art.
[0008] According to a first aspect of an embodiment of the present application, a rule engine-based mask batch board testing method is provided, which comprises:
[0009] define a bit mask format of a test item; wherein the mask format comprises 64-bit unsigned integers, each bit integer representing the enablement or disablement of a test item;
[0010] define a mask test rule of the test item through a JSON configuration file and the bit mask format; wherein the mask test rule comprises a plurality of test conditions, a mask, and a priority, the priority comprising a high priority, a medium priority, and a low priority;
[0011] pre-set the mask test rule to a test script in a host computer;
[0012] after the single board is connected to the host computer, the single board receives a test instruction sent by the host computer; wherein the test instruction is obtained by an application program on the host computer analyzing the test script;
[0013] if the test program on the single board analyzes the mask test rule from the test instruction, the test program on the single board executes the corresponding test conditions in turn according to the priority, then loads the associated test item according to the mask under the corresponding test condition, activates the loaded associated test item, and performs testing.
[0014] In an embodiment of the present application, the step of the test program on the single board executing the corresponding test conditions in turn according to the priority comprises:
[0015] if there are multiple test conditions under the same priority, the first test condition that matches successfully and takes effect is executed first.
[0016] In an embodiment of the present application, the step of the test program on the single board executing the corresponding test conditions in turn according to the priority comprises:
[0017] if there are multiple test conditions under the same priority, and multiple test conditions match successfully and take effect at the same time and the respective corresponding masks are mutually exclusive, an alarm is triggered and a default mask is rolled back.
[0018] In an embodiment of the present application, after the single board is connected to the host computer, the step of the single board receiving a test instruction sent by the host computer further comprises:
[0019] if the test program on the single board does not analyze the test instruction from the test instruction, the test program on the single board loads a dynamic test item according to a production flag bit, activates the loaded dynamic test item, and performs testing.
[0020] In an embodiment of the present application, after the step of the test program on the single board executing the corresponding test conditions in turn according to the priority, loading the associated test item according to the mask under the corresponding test condition, activating the loaded associated test item, and performing testing, the step further comprises:
[0021] query the test status of the single board through the transmission channel.
[0022] In an embodiment of the present application, the test procedure on the single board loads dynamic test items according to a production flag bit, and after the step of activating the loading of the dynamic test items, the method further comprises:
[0023] querying the test status of the single board through the transmission channel.
[0024] In an embodiment of the present application, the test status comprises: untested, test failure, reserved, and test passed.
[0025] According to a second aspect of an embodiment of the present application, a rule engine-based mask batch board testing device is provided, which comprises:
[0026] According to a third aspect of an embodiment of the present application, a computer readable storage medium is provided, which stores a computer program, and the program, when executed by a processor, implements the steps of the rule engine-based mask batch board testing method in any one of the above embodiments.
[0027] According to a fourth aspect of an embodiment of the present application, an electronic device is provided, which comprises:
[0028] a processor; and
[0029] a memory for storing executable instructions of the processor;
[0030] The processor is configured to execute the steps of the rule engine-based mask batch board testing method in any one of the above embodiments by executing the executable instructions.
[0031] The technical solutions provided in the embodiments of the present application can have the following beneficial effects:
[0032] In an embodiment of the present application, by the above method, the mask test rule is configured and pre-set to the test script in the host computer, so that the single board can parse the mask test rule from the test instruction sent by the host computer during testing, then execute the corresponding test conditions in turn according to the priority, and load the associated test items according to the mask under the corresponding test conditions, activate the loading of the associated test items, and then perform single board testing. By configuring the mask test rule and pre-setting the mask test rule to the test script in the host computer, on the one hand, the test efficiency can be improved, real-time loading of thousands of rules can be supported, the production demand for multiple varieties can be met, the flexibility and expansibility of testing can be improved, and batch testing of single boards can be realized. On the other hand, unnecessary test items can be quickly skipped through the mask, and the retest period can be shortened.
[0033] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application, as claimed. BRIEF DESCRIPTION OF DRAWINGS
[0034] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments consistent with the present application and, together with the description, further serve to explain the principles of the application. It is to be understood that the drawings are designed solely for purposes of illustration to be used in conjunction with the description. Obviously, the drawings show only some of the embodiments in accordance with the present application, and therefore should not be used in a limiting sense as to the scope of the application.
[0035] Figure 1 A flow chart illustrating steps of a rule engine based mask batch board test method in an exemplary embodiment of the present application;
[0036] Figure 2 A block diagram illustrating a rule engine based mask batch board test apparatus in an exemplary embodiment of the present application;
[0037] Figure 3 A schematic diagram illustrating a program product in an exemplary embodiment of the present application;
[0038] Figure 4 A schematic diagram illustrating an electronic device in an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0039] Example implementations are now described with reference to the drawings. Example implementations can, however, be implemented in many different forms and should not be construed as limited to the examples set forth herein; rather, these examples are provided so that this disclosure will be thorough and complete, and will fully convey the scope of example implementations to those skilled in the art. Features described in the description, examples, or claims can be combined in any manner
[0040] In addition, the drawings are merely schematic and are not drawn to scale. Identical reference numerals in the figures designate the same or similar parts throughout the figures and text. Some of the blocks in the drawings can be functional building blocks, and do not necessarily have to be implemented in hardware or software. These functional building blocks can be implemented in software, or in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0041] In the present example implementation, a rule engine based mask batch board test method is first provided. Referring to FIG. 1, the method can include steps S101-S105. Figure 1
[0042] Step S101: defining a bit mask format of test items; wherein the mask format comprises 64-bit unsigned integers, each bit integer representing the enablement or disablement of a test item.
[0043] Step S102: defining a mask test rule of test items through a JSON configuration file and the bit mask format; wherein the mask test rule comprises a plurality of test conditions, a mask, and a priority, the priority comprising a high priority, a middle priority, and a low priority.
[0044] Step S103: pre-setting the mask test rule to a test script in the host computer.
[0045] Step S104: after the single board is connected with the host computer, the single board receives a test instruction sent by the host computer; wherein the test instruction is obtained by parsing the test script by an application program on the host computer.
[0046] Step S105: if the test program on the single board parses the mask test rule from the test instruction, the test program on the single board executes the corresponding test conditions in turn according to the priority, then loads the associated test items according to the mask under the corresponding test conditions, activates the loaded associated test items, and then performs the test.
[0047] In an embodiment of the present application, through the above method, by configuring the mask test rule and pre-setting the mask test rule to the test script in the host computer, the single board can parse the mask test rule from the test instruction sent by the host computer when testing, then execute the corresponding test conditions in turn according to the priority, load the associated test items according to the mask under the corresponding test conditions, activate the loaded associated test items, and then perform the single board test. Through the configuration of the mask test rule and the pre-setting of the mask test rule to the test script in the host computer, on the one hand, the test efficiency can be improved, the real-time loading of thousands of rules can be supported, the production demand of multiple varieties can be adapted, the flexibility and expansibility of the test can be improved, and the batch test of the single board can be realized. On the other hand, the unnecessary test items can be quickly skipped through the mask, and the retest period is shortened.
[0048] In the following, the above method in the present example embodiment will be described in more detail with reference to the accompanying drawings. Figure 1 The above method in the present example embodiment will be described in more detail with reference to the accompanying drawings.
[0049] In step S101, a bit mask format of test items is defined; wherein the mask format comprises 64-bit unsigned integers, each bit integer representing the enablement or disablement of a test item.
[0050] It can be understood that the mask format is a 64-bit unsigned integer, and therefore at most 64 test items are supported. Each test item involves the enablement or disablement, and therefore each bit integer represents the enablement or disablement of a test item.
[0051] It should be noted that the test items include at least HDMI1 port, HDMI2 port, LED status lamp, LED power lamp, eth0 network port lamp, eth1 network port lamp, audio interface, power key, reset key, USB interface, ETH0 performance and ETH1 performance, etc.
[0052] Further, the test items and corresponding mask format examples are as follows:
[0053] typedef enum {
[0054] TEST_HDMI_ONE = 0, / / bit 0: HDMI1 port test
[0055] TEST_HDMI_TWO = 1, / / bit 1: HDMI2 port test
[0056] TEST_LED_STATUS = 2, / / bit 2: LED status lamp test
[0057] TEST_LED_POWER = 3, / / bit 3: LED power lamp test
[0058] TEST_LED_ETH0 = 4, / / bit 4: ETH0 network port lamp test
[0059] TEST_LED_ETH1 = 5, / / bit 5: ETH1 network port lamp test
[0060] TEST_AUDIO = 6, / / bit 6: audio interface test
[0061] TEST_BUTTON_POWER = 7, / / bit 7: power key test
[0062] TEST_BUTTON_RESET = 8, / / bit 8: reset key test
[0063] TEST_USB = 9, / / bit 9: USB interface test
[0064] TEST_ETH0 = 10, / / bit 10: ETH0 performance test
[0065] TEST_ETH1 = 11, / / bit 11: ETH1 performance test
[0066] / / ... up to 64 test items are supported
[0067] } TestItemID.
[0068] In step S102, the mask test rule of the test item is defined through a JSON configuration file and a bit mask format; wherein the mask test rule comprises: a plurality of test conditions, a mask, and a priority level, the priority level comprising a high priority level, a medium priority level, and a low priority level.
[0069] In step S103, the mask test rule is pre-set to the test script in the host computer.
[0070] It can be understood that the mask test rule of the test item is a conditional rule engine. After the mask test rule of the test item is defined, the mask test rule needs to be pre-set to the test script in the host computer, so as to facilitate subsequent testing of the single board.
[0071] In step S104, when the single board is connected to the host computer, the single board receives the test instruction sent by the host computer; wherein the test instruction is obtained by parsing the test script by the application program on the host computer.
[0072] It can be understood that when the single board needs to be tested, the single board needs to be connected to the host computer. When the single board is connected to the host computer, the application program on the host computer parses the test instruction from the test script, and then sends the parsed test instruction to the single board, so as to test the corresponding test item of the single board according to the test instruction.
[0073] In step S105, if the test program on the single board parses the mask test rule from the test instruction, the test program on the single board executes the corresponding test condition in turn according to the priority level, and then loads the associated test item according to the mask under the corresponding test condition. After activating the loaded associated test item, testing is performed.
[0074] It can be understood that the single board receives the test instruction sent by the host computer, which means that the test program on the single board receives the test instruction sent by the host computer. When the test program on the single board receives the test instruction sent by the host computer, the test program on the single board can parse the mask test rule from the test instruction. Through the parsed mask test rule, it can be known which test items need to be tested. Specifically, when the test program on the single board parses the mask test rule, the test program on the single board first executes the corresponding test condition in turn according to the priority level, and then loads the associated test item according to the mask under the corresponding test condition. When the loaded associated test item is activated, corresponding testing is performed. The test items to be tested can be known through the mask.
[0075] It should be noted that when the test program on the single board executes the corresponding test conditions in order of priority, that is, the corresponding test conditions are executed in order of priority. The test conditions with high priority are executed first, and then the corresponding tests are performed. Then the test conditions with medium priority are executed, and then the corresponding tests are performed. Finally, the test conditions with medium priority are executed, and then the corresponding tests are performed.
[0076] In one example, an example mask test rule is as follows:
[0077] {
[0078] "rules":[
[0079] {
[0080] "condition":"device_type=='A'&&batch_id>1000",
[0081] "mask":"0x0000000F", / / Enable the first 4 tests
[0082] "priority":80,
[0083] }
[0084] {
[0085] "condition":"retry_count>=2",
[0086] "mask":"0x00000001" / / Only perform HDMI1 port test
[0087] "priority":80,
[0088] }
[0089] {
[0090] "condition":"failed_count>=3",
[0091] "mask":"0x0FFF" / / Only execute all 12 tests (the 12 items here are just examples, the actual situation depends on the specific project definition)
[0092] "priority":80,
[0093] }
[0094] ],
[0095] }.
[0096] It should be noted that condition represents a test condition, mask represents a mask format, and priority represents a priority. The application can also define a test condition according to an actual fault analysis result, and the test condition defines a test item that needs to be associated with a test after maintenance. When the test condition is empty, it can be defined as only retesting all failed items.
[0097] In one embodiment, the test program on the single board sequentially executes steps of corresponding test conditions according to the priority, including:
[0098] If there are multiple test conditions under the same priority, the first matching test condition that is successfully activated is executed first.
[0099] It can be understood that when the test program on the single board sequentially executes corresponding test conditions according to the priority, there can be a case where the priorities of multiple test conditions are the same. In this case, the test program on the single board executes the first matching test condition that is successfully activated first. For example, if (conditionA || conditionB || conditionC || conditionD), as long as conditionA is true, the following conditions are ignored.
[0100] Further, when the test program on the single board sequentially executes corresponding test conditions according to the priority, there can be a case where the priorities of multiple test conditions are the same, and multiple test conditions are simultaneously activated and the corresponding masks are mutually exclusive. In this case, the test program on the single board triggers an alarm and reverts to the default mask. For example, "condition":"device_type=='A'&&batch_id>1000", which means that the device type is consistent and the flow ID is greater than 1000, and this mask is used to start the test.
[0101] In one embodiment, after the single board is connected to the host computer, the single board receives the test instruction sent by the host computer, and the step of receiving the test instruction further includes:
[0102] If the test program on the single board does not parse the test instruction from the test instruction, the test program on the single board loads a dynamic test item according to a production flag, and after activating the loaded dynamic test item, the test is performed.
[0103] It can be understood that the production flag includes a test status code and a type code. The corresponding test item can be loaded through the test status code and the type code. The dynamic test item refers to the production flag recorded in the current DUT (i.e., the single board) that can be read in real time, and the specific item that fails is found. Then, the corresponding test item is loaded according to the failure flag. Each time a DUT is changed, different test contents are obtained, so it is called a dynamic test item.
[0104] It should be noted that, whether in the process of testing after activating and loading the dynamic test item, or in the process of testing after activating and loading the dynamic test item, all the testable items of a DUT are 10, and the test items configured in a script are only A, B, C, D, and E five items. When starting testing, the test program reads the first item and finds that it is test item A. Then the test instruction of test item A is sent to the DUT. After receiving it, the DUT starts testing test item A, and completes the report to the test program. The test program then starts the next one. Of course, if in the process of testing after activating and loading the dynamic test item, the five items can also be tested in parallel.
[0105] In an embodiment, the test program on the single board executes the corresponding test conditions in turn according to the priority, and then loads the associated test items according to the mask under the corresponding test conditions. After the step of testing after activating and loading the associated test items, the method further comprises:
[0106] The test state of the single board is queried through the transmission channel.
[0107] It can be understood that the test state includes: not tested, test failed, reserved, and test passed. The test state of the single board is queried through the transmission channel by the board test tool.
[0108] In an embodiment, the test program on the single board loads the dynamic test item according to the production flag bit. After the step of testing after activating and loading the dynamic test item, the method further comprises:
[0109] The test state of the single board is queried through the transmission channel.
[0110] It can be understood that, whether after the step of testing after activating and loading the dynamic test item, or after the step of testing after activating and loading the dynamic test item, the test state of the single board can be queried through the transmission channel by the board test tool. The test state includes: not tested, test failed, reserved, and test passed.
[0111] In an example, through the test state, it can be known which tests have been done for the current single board, which test items have passed, and which test items have not passed. For example, 0 represents not tested, 1 represents test failed, 2 represents reserved, and 3 represents test passed. Then the test state of a single board can be A3B3C1D3E0.
[0112] It should be noted that the test state of the single board can be obtained by the test state code of the present application. Through the type code, it can be known which test items the single board needs to perform.
[0113] In one example, the state of the test status code and the corresponding description are shown in Table 1, and the type of the type code and the corresponding description are shown in Table 2. The test item mapping table can be constituted by the test status code, the type code, the corresponding ID, and the corresponding test item. The test item mapping table is shown in Table 3.
[0114] Table 1 Test status code
[0115]
[0116] Table 2 Type code
[0117]
[0118] Table 3 Test item mapping table
[0119]
[0120] It should be noted that the test mapping table is serialized.
[0121] HDMI: 00000001 (ID is 0000, state code is 01, bits 2-3 are reserved bits)
[0122] USB: 00100000 (ID is 0010, state code is 00, bits 2-3 are reserved bits)
[0123] AUDIO: 00110001 (ID is 0011, state code is 01, bits 2-3 are reserved bits)
[0124] LED: 01000011 (ID is 0100, state code is 11, bits 2-3 are reserved bits)
[0125] Considering that the serialization is stored in a continuous memory space, usually a way is needed to identify the total length of the data, and a fixed length field is used to represent the total length of the entire serialized data, occupying 1 byte.
[0126] Total length (4 item data * 1 byte = 4 bytes): 00000100
[0127] The entire serialized binary string is: 0000010000000001001000000011000101000011.
[0128] It should be further noted that the test item can also be added with a repetition number condition, so that one script can be used to relatively flexibly perform various required tests according to the actual situation of the single board, avoiding frequent switching of scripts.
[0129] It is to be understood that even though various steps of the methods of the present application are described in a particular order in the figures, this is not required or implied in any way as to order of execution or that all illustrated steps be carried out, to achieve desirable results. Additional or alternative steps can be employed. For example, certain steps can be combined, split into multiple steps, or omitted. Also, it is to be understood that the steps can be executed synchronously or asynchronously, for example, in multiple modules / processes / threads.
[0130] Further, in the present example embodiment, there is also provided a rule engine based mask batch board testing device. Referring to Figure 2 The device 200 can include a first defining module 210, a second defining module 220, a setting module 230, a receiving module 240, and a first loading module 250. The first defining module 210 is configured to define a bit mask format of test items. The bit mask format includes 64-bit unsigned integers, and each bit integer represents the enablement or disablement of a test item. The second defining module 220 is configured to define a mask test rule of the test items by a JSON configuration file and the bit mask format. The mask test rule includes a plurality of test conditions, a mask, and a priority. The priority includes a high priority, a medium priority, and a low priority. The setting module 230 is configured to pre-set the mask test rule to a test script in a host computer. The receiving module 240 is configured to receive a test instruction sent by the host computer after a single board is connected to the host computer. The test instruction is obtained by parsing the test script by an application program on the host computer. The first loading module 250 is configured to, if the mask test rule is parsed from the test instruction by a test program on the single board, execute the corresponding test conditions in order according to the priority, load the associated test items according to the mask under the corresponding test conditions, activate the loaded associated test items, and then perform a test.
[0131] In one embodiment, the device further includes:
[0132] The executing module is configured to, if there are a plurality of test conditions under the same priority, execute a first test condition that is successfully matched and takes effect first.
[0133] In one embodiment, the device further includes:
[0134] The fallback module is configured to, if there are a plurality of test conditions under the same priority, and the plurality of test conditions are successfully matched and take effect at the same time and the respective corresponding masks are mutually exclusive, trigger an alarm and fall back to a default mask.
[0135] In one embodiment, the device further includes:
[0136] The second loading module is configured to load the dynamic test item according to the production mark if the test program on the single board cannot resolve the test instruction from the test instruction.
[0137] In one embodiment, after the step of the first loading module, the device further comprises:
[0138] The first querying module is configured to query the test state of the single board through the transmission channel.
[0139] In one embodiment, after the step of the second loading module, the device further comprises:
[0140] The second querying module is configured to query the test state of the single board through the transmission channel.
[0141] As to the device in the above embodiments, the specific manner in which the various modules perform operations has been described in detail in the embodiments of the method, and thus will not be described in detail here.
[0142] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, such a division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into several modules or units embodied. The components shown as modules or units can or can not be physical units, i.e. can be located in one place, or can be distributed to multiple network units. Some or all of the modules can be selected to achieve the purpose of the present application according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0143] In the exemplary embodiments of the present application, a computer readable storage medium is also provided, which stores a computer program. The program is listed to be executed by a processor, and can implement the steps of the mask batch board test method based on the rule engine described in any one of the above embodiments. In some possible embodiments, various aspects of the present application can also be implemented in the form of a program product, which includes program code for causing the terminal device to perform the steps described in the above rule engine based mask batch board test method part of the specification according to various exemplary embodiments of the present application when the program product is run on the terminal device.
[0144] Reference Figure 3As shown, a program product 300 for implementing the above method according to an embodiment of the present invention is described. The program product 300 may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0145] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having 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 thereof.
[0146] The computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. The data signal propagated may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or component. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0147] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as 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 stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0148] In an example embodiment of the present application, an electronic device is also provided, which can include a processor, and a memory for storing executable instructions of the processor. Wherein the processor is configured to perform the steps of the rule engine based mask bulk board test method described in any one of the above embodiments via executing the executable instructions.
[0149] Those skilled in the art can understand that various aspects of the present application can be implemented as a system, a method or a program product. Therefore, various aspects of the present application can be embodied in a form of entirely hardware, entirely software (including firmware, microcode, etc.), or a combination of hardware and software aspects, which can be collectively referred to as "circuitry", "module" or "system" herein.
[0150] The electronic device 600 according to this embodiment of the present application will be described below with reference to Figure 4 Figure 4 The electronic device 600 shown is merely an example, and should not bring any limitation to the function and use range of the embodiments of the present application.
[0151] As shown in Figure 4 , the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 can include, but are not limited to, at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.
[0152] The storage unit stores program codes which can be executed by the processing unit 610, so that the processing unit 610 performs the steps according to various example embodiments of the present application described in the above rule engine based mask bulk board test method part of the present specification. For example, the processing unit 610 can perform the steps as shown in Figure 1
[0153] The storage unit 620 can include a readable medium in the form of a volatile storage unit, such as a random access memory (RAM) 6201 and / or a cache memory unit 6202, and can further include a read only memory (ROM) 6203.
[0154] The storage unit 620 can also include program / utilities 6204 with a set of (at least one) program modules 6205, such as an operating system, one or more application programs, other program modules, and program data, each of which or some combination of which can include implementation of a network environment.
[0155] Bus 630 can be one of several types of bus structures including a memory bus or memory controller, a peripheral bus or external bus, a graphics bus, a processor or local bus using any of a variety of bus structures, and the like.
[0156] Electronic device 600 can also communicate with one or more external devices 700 such as a keyboard or pointing device, a Bluetooth device, etc.; other devices that enable a user to interact with electronic device 600; and / or any devices (e.g., a router, a modem, a printer, etc.) that enable electronic device 600 to communicate with one or more other computing devices. Such communication can occur via Input / Output (I / O) interface 650. Still yet, electronic device 600 can communicate with one or more networks, such as one or more local area networks (LANs), one or more wide area networks (WANs), and / or the Internet, through network adapter 660. Network adapter 660 can be any of a plurality of different types of adapters to enable electronic device 600 to communicate with such networks and / or devices. It should be appreciated that for purposes of clarity, not all of the hardware and / or software modules are shown in electronic device 600. For example, there are numerous other hardware and / or software modules that can be used in electronic device 600 as well as any other hardware and / or software modules not shown in FIG. 6 that are useful for purposes of the present application. For example, electronic device 600 could also include one or more of a processor, a memory, a storage device, an input / output (I / O) device, a graphics device, a display, a communication device, an audio device, an application store, and / or any other hardware and / or software modules that are used in connection with electronic device 600.
[0157] Those skilled in the art will readily appreciate that the example embodiments described herein can be implemented by software and / or firmware in addition to the necessary hardware. Thus, the techniques that are taught herein can be implemented in software and / or firmware in addition to the necessary hardware, the software being including one or more instructions that are stored in one or more non-transitory computer-readable storage media (e.g., a floppy disk, a hard disk, a CD-ROM, a DVD-ROM, a Blu-ray disc, a RAM, a ROM, a PROM, a flash memory, a magnetic tape, etc.) that are executable by one or more processors that are a part of a computing device (e.g., an on-board processor of a computer, server, or network device, etc.). Thus, for example, an article of manufacture that comprises a non-transitory computer-readable storage medium to store instructions that implement the techniques taught herein can be provided.
[0158] Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the present application cover any and all variations of the application that are within the scope of the present application along with all equivalents and alternatives thereof.
Claims
1. A rule engine based mask bulk board test method, characterized in that, The method comprises: defining a bit mask format of test items; wherein the mask format comprises 64-bit unsigned integers, and each bit integer represents the enablement or disablement of a test item; defining a mask test rule of the test items through a JSON configuration file and the bit mask format; wherein the mask test rule comprises a plurality of test conditions, a mask, and a priority, and the priority comprises a high priority, a medium priority, and a low priority; pre-setting the mask test rule to a test script in a host computer; after a single board is connected to the host computer, the single board receives a test instruction sent by the host computer; wherein the test instruction is obtained by an application program on the host computer analyzing the test script; if the test program on the single board analyzes the mask test rule from the test instruction, the test program on the single board executes the corresponding test conditions in turn according to the priority, then loads the associated test items according to the mask under the corresponding test condition, activates the loaded associated test items, and performs testing.
2. The rule engine based mask bulk board method of claim 1, wherein, In the step of the test program on the single board executing the corresponding test conditions in turn according to the priority, comprising: if there are a plurality of test conditions under the same priority, the first matching successful test condition is executed.
3. The rule engine based mask bulk board method of claim 1, wherein, In the step of the test program on the single board executing the corresponding test conditions in turn according to the priority, comprising: if there are a plurality of test conditions under the same priority, and the plurality of test conditions are matched successfully at the same time and the respective corresponding masks are mutually exclusive, an alarm is triggered and the default mask is rolled back.
4. The rule engine based mask bulk board method of claim 1, wherein, After the step of the single board receiving the test instruction sent by the host computer, further comprising: if the test program on the single board does not analyze the test instruction from the test instruction, the test program on the single board loads a dynamic test item according to a production flag bit, activates the loaded dynamic test item, and performs testing.
5. The rule engine based mask bulk board method of claim 1, wherein, After the step of the test program on the single board executing the corresponding test conditions in turn according to the priority, then loading the associated test items according to the mask under the corresponding test condition, activating the loaded associated test items, and performing testing, further comprising: querying the test state of the single board through a transmission channel.
6. The rule engine based mask bulk board method of claim 4, wherein, After the step of the test program on the single board loading a dynamic test item according to a production flag bit, activating the loaded dynamic test item, and performing testing, further comprising: querying the test state of the single board through a transmission channel.
7. The rule-engine-based mask bulk board method according to claim 5 or 6, wherein, The test state comprises: not tested, test failed, reserved, and test passed.
8. A rule engine based mask bulk boarder, characterized in that, The device is applied to the mask batch board testing method based on a rule engine in any one of claims 1 to 7, and the device comprises: a first definition module configured to define a bit mask format of test items; wherein the mask format comprises 64-bit unsigned integers, and each bit integer represents the enablement or disablement of a test item; a second definition module configured to define a mask test rule of the test items through a JSON configuration file and the bit mask format; wherein the mask test rule comprises a plurality of test conditions, a mask, and a priority, and the priority comprises a high priority, a medium priority, and a low priority; The setting module is configured to pre-set the mask test rule to a test script in the host computer; The receiving module is configured to receive a test instruction sent by the host computer after the single board is connected to the host computer, wherein the test instruction is obtained by analyzing the test script by an application program on the host computer; The first loading module is configured to, if the test program on the single board analyzes the mask test rule from the test instruction, execute corresponding test conditions in turn according to the priority, and then load and associate test items according to the mask under the corresponding test condition, and activate the loaded associated test items, and then perform the test.
9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to realize the steps of the mask batch board test method based on the rule engine in any one of claims 1-7.
10. An electronic device, comprising: Comprise: A processor; And A memory for storing executable instructions of the processor; Wherein the processor is configured to execute the steps of the mask batch board test method based on the rule engine in any one of claims 1-7 by executing the executable instructions.