Testing, configuration, installation, operation method, device, electronic device and storage medium

By providing a unified interface test program and configuration method for IoT devices, the configuration difficulties caused by a wide variety of real-time operating systems are solved, and compatibility testing and installation of the underlying operating environment of the device is realized, fragmentation is reduced, and configuration efficiency is improved.

CN113535536BActive Publication Date: 2025-08-26ALIBABA GROUP HOLDING LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202010314007.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-20
Publication Date
2025-08-26
Estimated Expiration
2040-04-20

AI Technical Summary

Technical Problem

There are many types of existing real-time operating systems, which makes it difficult to configure IoT devices.

Method used

Provides a test, configuration, installation and operation method. By obtaining the interface test program of the unified interface set, it conducts compatibility testing and configuration of various equipment underlying operating environments, and uses the device application layer components to call the unified interface set for interface configuration and installation.

Benefits of technology

It effectively reduces the fragmentation of the underlying operating environment of the equipment and improves the configuration efficiency and compatibility of IoT devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113535536B_ABST
    Figure CN113535536B_ABST
Patent Text Reader

Abstract

Embodiments of the present invention provide a testing, configuration, installation, and operation method, apparatus, electronic device, and storage medium. The testing method includes: obtaining an interface test program developed for a plurality of device underlying operating environments for a unified interface set called by device application layer components; and using the interface test program to perform a compatibility test on the interface configuration of the unified interface set in the target device underlying operating environment for a target device underlying operating environment among the plurality of device underlying operating environments. Because the interface compatibility test is developed for a plurality of device underlying operating environments, and the unified interface set called by the device application layer components is used to perform a compatibility test on the target device underlying operating environment, the fragmentation of the device underlying operating environment is effectively reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of computer technology, and in particular to a testing, configuration, installation, and operation method, device, electronic device, and storage medium. Background Art

[0002] A real-time operating system (RTOS) is an operating system that can receive and process external events or data quickly, and then use the results to control production processes or respond to processing systems within a specified timeframe. It dispatches all available resources to complete real-time tasks and ensures the coordinated operation of all real-time tasks. Its key features are timely response and high reliability. RTOSs provide an excellent software environment for IoT devices, opening up new possibilities for large-scale IoT networking.

[0003] However, the wide variety of existing real-time operating systems makes it difficult to configure IoT devices. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a testing, configuration, installation, and operation method, apparatus, electronic device, and storage medium to solve or alleviate the above-mentioned problems.

[0005] According to a first aspect of an embodiment of the present invention, a testing method is provided, comprising: obtaining an interface testing program for a unified interface set called by a device application layer component, which is formulated for a plurality of device underlying operating environments; and performing a compatibility test on the interface configuration of the unified interface set in the target device underlying operating environment using the interface testing program for a target device underlying operating environment among the plurality of device underlying operating environments.

[0006] According to the second aspect of an embodiment of the present invention, a testing method is provided, including: obtaining a first interface test program formulated for a device underlying operating environment and for a first interface set called by a first device application layer component, and a second interface test program for a second interface set called by a second device application layer component; and performing compatibility testing on the interface configuration of the first interface set in the device underlying operating environment and the interface configuration of the second interface set in the device underlying operating environment using the first interface test program and the second interface test program, respectively.

[0007] According to the third aspect of an embodiment of the present invention, a configuration method is provided, including: determining a unified interface set called by device application layer components formulated for multiple device underlying operating environments; and using the unified interface set to perform interface configuration for a target device underlying operating environment among the multiple device underlying operating environments.

[0008] According to a fourth aspect of an embodiment of the present invention, an installation method is provided, comprising: determining a unified interface set called by a device application layer component formulated for multiple device underlying operating environments; and installing the device application layer component into a target device underlying operating environment among the multiple device underlying operating environments.

[0009] According to the fifth aspect of an embodiment of the present invention, an operation method is provided, including: a device application layer component determines at least one interface in its unified interface set, and the unified interface set is formulated for multiple device underlying operating environments; the device application layer component calls at least one interface to run in a target device underlying operating environment among multiple device underlying operating environments to implement the function of the device application layer component.

[0010] According to the sixth aspect of an embodiment of the present invention, a testing device is provided, including: an acquisition module, which acquires an interface test program for a unified interface set called by a device application layer component, which is formulated for a plurality of device underlying operating environments; a testing module, which uses the interface test program to perform a compatibility test on the interface configuration of the unified interface set in the target device underlying operating environment among the plurality of device underlying operating environments.

[0011] According to the seventh aspect of an embodiment of the present invention, a testing device is provided, including: an acquisition module, which acquires a first interface test program formulated for a device underlying operating environment and for a first interface set called by a first device application layer component, and a second interface test program for a second interface set called by a second device application layer component; a testing module, which uses the first interface test program and the second interface test program respectively to perform compatibility testing on the interface configuration of the first interface set in the device underlying operating environment and the interface configuration of the second interface set in the device underlying operating environment.

[0012] According to the eighth aspect of an embodiment of the present invention, a configuration device is provided, comprising: determining a unified interface set called by device application layer components formulated for multiple device underlying operating environments; and using the unified interface set to perform interface configuration for a target device underlying operating environment among the multiple device underlying operating environments.

[0013] According to the ninth aspect of an embodiment of the present invention, an installation device is provided, comprising: determining a unified interface set called by a device application layer component formulated for a plurality of device underlying operating environments; and installing the device application layer component into a target device underlying operating environment among the plurality of device underlying operating environments.

[0014] According to the tenth aspect of an embodiment of the present invention, an electronic device is provided, comprising: a device application layer component, the device application layer component having a unified interface set formulated for multiple device underlying operating environments; a target device underlying operating environment, providing the device application layer component with at least one calling interface in the unified interface set to implement the function of the device application layer component.

[0015] According to the eleventh aspect of an embodiment of the present invention, an electronic device is provided, comprising: one or more processors; and a storage medium configured to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in the first aspect or the third aspect.

[0016] According to a twelfth aspect of an embodiment of the present invention, a storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method as described in the first aspect or the third aspect is implemented.

[0017] The solution of the embodiment of the present invention can obtain an interface testing program developed for multiple device underlying operating environments and targeting a unified interface set called by device application layer components. The interface testing program is then used to perform compatibility testing on the interface configuration of the unified interface set in a target device underlying operating environment among the multiple device underlying operating environments. Because the interface compatibility test is developed for multiple device underlying operating environments and compatibility testing is performed on the target device underlying operating environment using the unified interface set called by the device application layer components, the fragmentation of the device underlying operating environment is effectively reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0019] Figure 1 A schematic diagram of a testing method according to an embodiment of the present invention;

[0020] Figure 2A is a schematic flow chart of a testing method according to another embodiment of the present invention;

[0021] Figure 2B A schematic flow chart of a testing method according to another embodiment of the present invention.

[0022] Figure 3A is a schematic diagram of a testing method according to another embodiment of the present invention;

[0023] Figure 3B An interaction diagram of a testing method according to another embodiment of the present invention;

[0024] Figure 4A is a schematic diagram of a testing method according to another embodiment of the present invention;

[0025] Figure 4B is a schematic flow chart of a testing method according to another embodiment of the present invention;

[0026] Figure 5A is a schematic diagram of a testing method according to another embodiment of the present invention;

[0027] Figure 5B An interaction diagram of a testing method according to another embodiment of the present invention;

[0028] Figure 6A is a schematic diagram of a testing method according to another embodiment of the present invention;

[0029] Figure 6B An interaction diagram of a testing method according to another embodiment of the present invention;

[0030] Figure 7A A schematic diagram of an interface abstraction layer of an example of a testing method according to another embodiment of the present invention;

[0031] Figure 7B A schematic diagram of an interface abstraction layer of another example of a testing method according to another embodiment of the present invention;

[0032] Figure 7C A schematic diagram of an interface abstraction layer of another example of a testing method according to another embodiment of the present invention;

[0033] Figure 8 is a schematic flow chart of a testing method according to another embodiment of the present invention;

[0034] Figure 9 is a schematic flow chart of a configuration method according to another embodiment of the present invention;

[0035] Figure 10 is a schematic flow chart of an installation method according to another embodiment of the present invention;

[0036] Figure 11 is a schematic flow chart of an operating method according to another embodiment of the present invention;

[0037] Figure 12 is a schematic block diagram of a testing device according to another embodiment of the present invention;

[0038] Figure 13 is a schematic flow chart of a testing device according to another embodiment of the present invention;

[0039] Figure 14 is a schematic flow chart of a configuration device according to another embodiment of the present invention;

[0040] Figure 15 is a schematic flow chart of an installation device according to another embodiment of the present invention;

[0041] Figure 16 A schematic flow chart of an electronic device according to another embodiment of the present invention;

[0042] Figure 17 is a schematic structural diagram of an electronic device according to another embodiment of the present invention;

[0043] Figure 18 This is a hardware structure of an electronic device according to another embodiment of the present invention. DETAILED DESCRIPTION

[0044] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in the embodiments of the present invention should fall within the scope of protection of the embodiments of the present invention.

[0045] The specific implementation of the embodiment of the present invention is further described below with reference to the accompanying drawings of the embodiment of the present invention.

[0046] Figure 1 FIG. 1 is a schematic diagram of a testing method according to an embodiment of the present invention; FIG. Figure 1 As shown, the interface test program 105 can be downloaded from the test server. In one example, different test environments correspond to different device bottom layer operating environments. It should be understood that in other examples, different device bottom layer operating environments can be in the same test environment. As shown in the figure, test environments 101 / 102 / 103 correspond to device bottom layer operating environments 1 / 2 / 3, respectively. On the one hand, the interface test program 105 is for an interface set. However, it should be understood that different interface test program versions can be downloaded from the test server. Different versions can be different versions of the above-mentioned interface set, or different versions can have different interfaces, but different versions can include the above-mentioned interface set.

[0047] It should also be understood that the aforementioned test server can use different or the same network connections with different test environments. For example, one or more portions of the aforementioned network can include an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, or a combination of two or more of these.

[0048] It should also be understood that the underlying operating environments of the devices may be the same or different. Different underlying operating environments of the devices may include a combination of different hardware operating environments and different software operating environments. It should also be understood that different underlying operating environments of the devices may also be a combination of the same hardware operating environment and different software operating environments, or a combination of different hardware operating environments and the same software operating environment. This is not limited in the embodiments of the present invention.

[0049] It should also be understood that the test equipment of an embodiment of the present invention can be implemented as a test bench for developing, testing a software product or program and / or supporting the use of the software product or program. The test bench can also have other functions, which may include, but are not limited to, managing IT processes and / or monitoring devices in the network. In a specific embodiment, the test process may include many elements and processes, and in one embodiment, all software-implemented processes are performed by a single computer system. Alternatively, different software-implemented processes can be performed by different computer systems, and data can be transferred between different processes via a network or some other channel.

[0050] It should also be understood that although no memory or storage device is specifically shown in the drawings, the embodiments of the present invention may employ any storage method. For example, a storage device for storing the interface test program may be configured separately or separately. For example, a storage device may be configured in the above-mentioned test bench. In addition, the test bench may also be one or more computers. For example, the test bench may include its own hardware, software, network, and storage entities. It should be understood that Figure 1 The architecture diagram is merely illustrative, and the testing method of the embodiment of the present invention is not limited to the above architecture, but can be implemented in any manner.

[0051] Figure 2A A schematic flow chart of a testing method according to another embodiment of the present invention. Figure 2BThe test method can be applied to any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, or stand-alone devices. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart speakers, smart security devices, smart media devices, smart displays, and detection devices. The method includes:

[0052] 210: Obtain an interface test program for a unified interface set called by device application layer components, which is developed for various device bottom layer operating environments.

[0053] It should be understood that the device underlying operating environment 106 may include a hardware environment and a software environment. For example, an operating system, memory, processor, input device, output device, etc. For example, the interface test program 105 may target various interfaces of the underlying operating environment 106. The interface set may include, but is not limited to, at least one of a POSIX (Portable Operating System Interface) API (Application Programming Interface), a library function interface, and a third-party library function interface. For example, the interface set may include portions of a portable operating system interface. The library function interface may include at least one of input and output functions, string, memory, and character functions, mathematical functions, time, date, and system-related functions, dynamic storage allocation functions, directory management functions, process control functions, character screen and graphics functions, etc. For example, library functions include C language library functions, C++ language library functions such as C++ virtual functions, and implementation class encapsulation. Third-party library functions include, but are not limited to, at least one of a json-c library function, a rws library function, an mbedtls library function, an httpclient library function, and an lwip library function.

[0054] It should also be understood that, in order to obtain the interface test program 105 formulated for the underlying operating environment 106 of multiple devices, the interface test program 105 can be downloaded from the server 104. For example, the interface test program 105 is downloaded from the test server 104. It should be understood that, in one example, a compatibility test suite can be downloaded from the server 104. For example, the compatibility test suite includes the interface test program 105 and test cases. For example, the test case can be a test description document of the interface test program 105. The test description document includes, but is not limited to, the type of interface to be tested, the number of interfaces to be tested, the test order of the interfaces to be tested, the test objectives, the test environment, the input data, the test steps, the expected results, the test script, etc.

[0055] 220: For a target device underlying operating environment among multiple device underlying operating environments, use an interface testing program to perform compatibility testing on interface configurations of an interface set in the target device underlying operating environment.

[0056] It should be understood that the unified interface set includes, but is not limited to, at least one of a real-time operating system interface, a library function interface, and a hardware interface. For example, the interface set includes a portable operating system interface. For example, the entire unified interface set is a portable operating system interface. For example, the multiple device underlying operating environments 106 include an intelligent device software operating environment and an intelligent device hardware operating environment.

[0057] It should also be understood that the software operating environment includes, but is not limited to, operating systems, hardware devices, hardware abstraction layers, and the like. Operating systems include, but are not limited to, any form of desktop operating system, embedded operating system, server operating system, real-time operating system, and the like. For example, operating systems include, but are not limited to, test or released versions of any of the aforementioned operating systems. For example, operating systems include, but are not limited to, operating systems built based on the kernel of any of the aforementioned operating systems. In other words, the underlying device operating environment 106 in this embodiment of the present invention includes at least one of the operating system kernel space, operating system user space, operating system abstraction layer, hardware devices, and hardware abstraction layer, or a combination of at least two. For example, the same operating system installed and configured in different hardware environments constitutes different underlying device operating environments 106. For example, the same operating system kernel configured with different user spaces constitutes different software environments, thereby forming different underlying device operating environments 106. For example, the same operating system configured with different library functions can form different underlying device operating environments 106. In other words, the combination of different elements of the underlying device operating environment 106 can form different underlying device operating environments 106.

[0058] It should also be understood that any of the multiple underlying device operating environments 106 may be configured with different numbers or types of interfaces. Alternatively, any underlying device operating environment may not be configured with any interfaces. For example, a unified interface set may be configured for the target underlying device operating environment. Alternatively, the target underlying device operating environment includes at least one interface. For example, other interfaces are configured for the target underlying device operating environment so that the target underlying device operating environment has a unified interface set. In other words, a portion of the unified interface set is configured for the target underlying device operating environment. For example, the unified interface set may be the union of all interfaces in the multiple underlying device operating environments. In other words, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments 106. For example, the unified interface set may be a subset of the union of the interfaces in the multiple underlying device operating environments 106, that is, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments 106. For example, the union of the interfaces in the multiple underlying device operating environments 106 is a subset of the unified interface set. In other words, each interface can exist in the unified interface set for each interface in the multiple device underlying operating environments 106. Optionally, each interface in the unified interface set may not exist in any device underlying operating environment. In other words, the unified interface set and the set formed by the interfaces provided by the multiple device underlying operating environments 106 can have any relationship such as overlapping, non-overlapping, containing, or being contained. It should be understood that when the target device underlying operating environment configuration does not meet the conditions of the interface set, the target device underlying operating environment can be configured with the missing interface so that the target device underlying operating environment is configured with the above-mentioned interface. For example, the interface configuration of the target device underlying operating environment is performed using a test case.

[0059] Since the interface compatibility test is formulated for multiple device underlying operating environments, and the unified interface set called by the device application layer components is used to perform compatibility testing on the target device underlying operating environment, the fragmentation of the device underlying operating environment is effectively reduced.

[0060] like Figure 2B As shown, the interface test program can test the operating system abstraction layer. For example, the interface test program can test C++ library functions or third-party library functions. It should be understood that the interface test program can test the portable operating system interface. The interface test program can also test the operating system kernel interface. For example, it can test different real-time operating systems or different versions of the same real-time operating system. In addition, the interface test program can also test the hardware abstraction layer. The hardware abstraction layer can call hardware interface methods. In addition, the interface test program can also test the hardware interface.

[0061] In another implementation of the present invention, interface test programs 105 developed for various device underlying operating environments 106 can be obtained from a server 104 (e.g., a test server). For example, a compatibility test suite can be obtained from the server 104. For example, the compatibility test suite can include test cases. For example, the compatibility test suite may also not include test cases. For example, the interface test program 105 can be obtained from another device. For example, the other device obtains the interface test program from the server. For example, for a specific test environment, different device underlying operating environments can have the same test equipment. The test device obtains the test interface program from the other device or the server 104, thereby improving testing efficiency. For example, different device underlying operating environments 106 with the same test equipment have similar configurations, such as the same hardware components, the same operating system kernel space, the same operating system user space, and the same library functions. This ensures testing efficiency and compatibility between the device underlying operating environment and the test device. For example, different device underlying operating environments 106 have their own test equipment. Different test devices obtain the interface test program 105 from the same other device or the server 104. For example, the test devices of different device underlying operating environments 106 may have shared components. For example, the different device underlying operating environments 106 may share the same compiler. For example, when the different device underlying operating environments 106 have similar operating system kernels or similar hardware environments, compiler reuse improves test efficiency. Furthermore, a small number of efficient compilers can be configured to replace the compilers built into each test device, thereby saving costs or improving test efficiency while maintaining the same cost.

[0062] As an example, obtaining an interface testing program for a unified interface set called by device application layer components developed for multiple device underlying operating environments 106 includes: obtaining a compatibility testing suite, the compatibility testing suite including an interface testing program for a unified interface set called by device application layer components developed for multiple device underlying operating environments.

[0063] In another implementation of the present invention, the above-mentioned test description document may include information such as the type and parameters of the interface set. For example, the above-mentioned test description document may also include a mapping relationship between the interface set and different software environments or hardware environments. For example, the test description document may also include an interface configuration method. For example, the mapping relationship may include a corresponding relationship between the interface and the operating system and its configuration method. The mapping relationship may include a corresponding relationship between the interface and the hardware abstraction layer and its configuration method. For example, the test description document may include an encapsulation relationship or a calling relationship between the interface and the system call. For example, the test description document may include a calling relationship between the interface and the kernel function. The test description document may also include a kernel function list or a system call list of the operating system. For example, the relationship between the interface and the kernel function or system call is presented through a mapping relationship.

[0064] As an example, the compatibility test suite also includes an interface test description document corresponding to the interface test program, wherein the interface test description document is used to configure a unified interface set for the underlying operating environment of the target device.

[0065] In another implementation of the present invention, the interface compatibility test may include a compilation test, such as a white box test. The compilation test of the interface set may be performed in any order. For example, any order may be used to test the portable operating system interface, the library function interface, and the hardware interface. For example, after the interface set is compiled, the configuration of the interface set may be modified. For example, the unified interface set includes a third interface and a fourth interface. For example, after the compilation test of the third interface is completed, the third interface is reconfigured, and then the fourth interface is tested. For example, at least part of the third interface is called by at least part of the fourth interface. Thus, compiling the third interface called by the fourth interface can achieve pre-configuration changes, thereby reducing the computing resources for compilation. In other words, the efficiency of compilation is improved.

[0066] It should also be understood that compilation testing can be performed after execution testing. Alternatively, compilation testing can be performed in parallel with execution testing. In other words, the program can be run while being compiled. For example, the interface testing program 105 can be configured to run the program while being compiled. For example, the interface testing program 105 is configured based on the calling relationships between interfaces. For example, the called interface can be compiled first, and then the compilation of the calling interface and the execution of the called interface can be performed in parallel. For example, the calling interface can be compiled first, and then the compilation of the called interface and the execution of the calling interface can be performed in parallel. This embodiment of the present invention does not limit the order of interface compatibility testing. It should also be understood that the interface set can also be grouped. For example, the grouping method described above can be used, i.e., library function interfaces, operating system interfaces, hardware interfaces, etc. For example, a different method can be used, such as dividing interfaces belonging to the same category into different groups. For example, grouping can be based on calling relationships. For example, a unified interface set can be grouped into calling interfaces and called interfaces. For example, a unified interface set can be grouped into software interfaces, hardware interfaces, etc. For example, the interface testing program 105 can be configured based on the above interface grouping method.

[0067] As an example, for the target device underlying operating environment among multiple device underlying operating environments, the interface testing program is used to perform compatibility testing on the interface configuration of the unified interface set in the target device underlying operating environment, including: performing a current compilation test on the current interface configuration of the unified interface set in the target device underlying operating environment; if the current compilation test is passed, the interface testing program is used to perform an operation test on the current interface configuration of the unified interface set.

[0068] As an example, for the target device underlying operating environment among multiple device underlying operating environments, the interface testing program is used to perform compatibility testing on the interface configuration of the unified interface set in the target device underlying operating environment, which also includes: if the current compilation test fails, determining the debugged interface configuration of the unified interface set in the target device underlying operating environment; and performing the next compilation test on the debugged interface configuration of the unified interface set in the target device underlying operating environment.

[0069] In another implementation of the present invention, the language of the interface test program 105 can be the same as the target language of the underlying operating environment of the target device. The language of the interface test program 105 can also be different from the target language of the underlying operating environment of the target device. For example, the interface test program 105 can be written in a high-level language. It should be understood that the language of the interface test program 105 can be compiled into the target language of the underlying operating environment of the target device to further perform operational testing on the underlying operating environment of the target device.

[0070] As an example, the interface test program is used to perform a run test on the current interface configuration of the unified interface set, including: using the interface test program to perform a current run test on the current interface configuration of the unified interface set; if the current run test fails, performing the next run test on the debugged interface configuration of the unified interface set.

[0071] In another implementation of the present invention, an interface test program for a unified interface set called by device application layer components developed for the underlying operating environments of multiple devices is obtained, including: obtaining an interface test program for a unified interface set called by device application layer components developed for the underlying operating environments of multiple devices from a test server, wherein the interface test program is used to perform a run test on the current interface configuration of the unified interface set, and also includes: if the current run test is passed, uploading the code of the current interface configuration of the unified interface set to the test server.

[0072] In another implementation of the present invention, before the interface test program target device underlying operating environment is used for testing, the interface test program can also be compiled. For example, the interface test program compiler can share a compiler with the above-mentioned interface compiler. For example, the above-mentioned interface test program compiler and the above-mentioned interface compiler can be different compilers. For example, the obtained interface test program is input into the compiler to obtain the output of the compiler. The above-mentioned output can be input into different test devices. The test device can include its own compiler. Alternatively, different test devices can share the same compiler as the interface compiler, and after passing the interface compilation test, continue to use the above-mentioned compiler as the test program compiler to obtain a test program in the target language that can be used to run the test.

[0073] As an example, for a target device underlying operating environment among multiple device underlying operating environments, a compatibility test is performed on an interface configuration of a unified interface set in the target device underlying operating environment using an interface test program, including: compiling the interface test program into a target language suitable for the target device underlying operating environment;

[0074] Through the test interface with the underlying operating environment of the target device, the compiled interface test program is used to call the interface configuration of the unified interface set to perform compatibility testing.

[0075] In another implementation of the present invention, the underlying operating environment of the target device includes a hardware environment and an operating system environment, and the unified interface set includes a first interface formulated for the hardware environment and a second interface formulated for the software environment. Specifically, for the target device underlying operating environment among multiple device underlying operating environments, an interface testing program is used to perform compatibility testing on the interface configuration of the unified interface set in the underlying operating environment of the target device, including: performing a current test on the interface configuration of the second interface using the interface testing program; if the current test passes, testing the interface configuration of the first interface using the interface testing program.

[0076] In another implementation of the present invention, for a target device underlying operating environment among multiple device underlying operating environments, compatibility testing of the interface configuration of the unified interface set in the target device underlying operating environment is performed using an interface testing program, further comprising:

[0077] If the current test fails, the interface configuration of the second interface is tested next time using the interface test program.

[0078] in addition, Figure 3A This is a schematic diagram of a testing method according to another embodiment of the present invention. As shown in the figure, a compatibility test suite is downloaded from the server. The compatibility test suite may include an interface test program and test cases, for example, a test program description document. The user / tester configures the interface for the underlying operating environment of the device based on the test program description document, for example, the interface configuration is performed based on the interface set in the test program description document. The user / tester debugs the device based on the interface test program. It should be understood that the tester can debug multiple underlying operating environments at the same time. In addition, the tester can use one test device to test multiple underlying operating environments.

[0079] Figure 3B An interaction diagram of a testing method according to another embodiment of the present invention; Figure 3B Can be corresponding to Figure 3AAs shown in the figure, in step 301, the test device downloads the compatibility test suite from the test server. In step 302, the user obtains the test program description file from the compatibility test suite. In step 303, the user performs programming (configuration) on the test device. In step 304, the test device configures the interface (i.e., the current configuration of the interface set) for the underlying operating environment of the smart device through the user's input. In step 305, the user performs a compilation test on the bottom layer of the smart device through debugging of the test device. When the compilation is successful, in step 306, the user performs a running test on the bottom layer of the smart device through debugging of the test device. When the running test is successful, in step 307, the test report or the current configuration of the interface (e.g., source code) is uploaded to the test server. In addition, the interface for downloading the compatibility test suite from the test server may be the same as or different from the uploaded interface, and this is not limited in the embodiment of the present invention.

[0080] It should be understood that this figure is merely illustrative, wherein the number of testers / users, the number of test devices / test equipment, the number of smart device bottom layers / bottom layer operating environments, and the number of test servers may be one or more, and the embodiments of the present invention are not limited thereto.

[0081] Figure 4A Schematic diagram of a testing method according to another embodiment of the present invention. Figure 4B Can be with Figure 4A The schematic flow chart of the testing method of another embodiment of the present invention is shown below. Figure 4B right Figure 4A For explanation. As shown in the figure, in step 401, the test device determines the current configuration of the interface set. For example, the user configures a unified interface set by outputting code on the test device. In step 402, the device to be tested (underlying operating environment) is compiled and tested. If the test passes, step 403 is executed; if the compilation test fails, step 404 is executed. In step 403, the test device performs a run test on the current configuration of the interface set. In step 404, the user debugs the program through the test device, and the debugged interface set has a configuration prepared for the next compilation test. In step 405, the test device determines whether the run test passes. If the test passes, step 406 is executed; if the test fails, step 407 is executed. It should be understood that in step 407, the user can change the current configuration through the test device and configure the code for the next run test. It should be understood that in step 406, the user can operate the test device to generate the above-mentioned test report / interface configuration code.

[0082] Figure 5A Schematic diagram of a testing method according to another embodiment of the present invention. Figure 5B Can be corresponding to Figure 5A An interactive diagram of a test method according to another embodiment of the present invention. Figure 5B right Figure 5A For explanation. As shown in the figure, test equipment 1 and test equipment 2 respectively perform operation debugging (for example, testing) on ​​operation environment interface 1 and operation environment interface 2. In addition, test equipment 1 and test equipment 2 share an interface configuration compiler to perform compilation testing. For example, in step 501, the interface configuration compiler performs compilation testing on operation environment interface 1 (the interface set of operation environment 1) through test equipment 1. In step 503, the interface configuration compiler can perform compilation testing on operation environment interface 2 (the interface set of operation environment 2) through test equipment 2. For example, after the compilation test of operation environment interface 1 is completed, in step 502 and in step 504, test equipment 1 and test equipment 2 can respectively perform operation testing on operation environment interface 1 and operation environment interface 2. It should be understood that the number of devices shown in the figure and the number of underlying operation environments are merely schematic, and the number of test devices and the number of underlying operation environments can be arbitrarily combined. For example, the test equipment (device) includes a first test equipment and a second test equipment. The first test equipment shares a compiler, while the second test equipment uses its own compiler. Wherein, the embodiment of the present invention does not limit the number of shared compilers.

[0083] Figure 6A Schematic diagram of a testing method according to another embodiment of the present invention. Figure 6B Can be corresponding to Figure 6AAn interactive diagram of a test method according to another embodiment of the present invention. As shown in the figure, before using test equipment 1 and test equipment 2 to perform a compilation test (or a compilation test and a run mixed test), when the interface test program is not in the target language, the interface test program needs to be compiled. It should be understood that different test equipment can use different target languages ​​or the same target language, and the source code of the interface test program can be the same source code as that of the test equipment. The test equipment can use its own compiler. The test equipment can also share a compiler. For example, in this example, test equipment 1 and test equipment 2 use the same interface test program compiler. It should be understood that the test equipment can also each have a connector and share a common interface test program compiler. As shown in the figure, in step 601 and in step 603, the interface test compiler compiles the interface test program into target code that meets the requirements of test equipment 1 and test equipment 2 respectively. In steps 602 and 604, test equipment 1 and test equipment 2 test the interface set of their own underlying operating environment 1 and the interface set of the underlying operating environment 2 respectively. It should also be understood that the test equipment (device) includes a first test equipment and a second test equipment. The first test devices share an interface test program compiler, while the second test devices use their own interface test program compilers. The embodiment of the present invention does not limit the number of shared compilers.

[0084] It should be understood that the solution of the embodiment of the present invention further provides an interface abstraction layer. The interface set in the interface abstraction layer is tested via the above-mentioned interface testing program.

[0085] For example, the interface abstraction layer includes a hardware interface, at least one operating system kernel may be installed on the interface abstraction layer, and at least one hardware environment may be adapted below the interface abstraction layer.

[0086] For example, the interface abstraction layer includes an interface set of the operating system kernel space, at least one application or at least one operating system user space interface is installed on the interface abstraction layer, and at least one device bottom operating environment can be adapted below the interface abstraction layer.

[0087] For example, the interface abstraction layer may include an interface set for the operating system user space. At least one application may be installed on the interface abstraction layer. Different operating system kernel spaces may be adapted below the interface abstraction layer.

[0088] For example, the interface abstraction layer may include multiple library function interfaces. At least one application program that calls the multiple library function interfaces may be installed on the interface abstraction layer. Different operating system kernels may be adapted under the interface abstraction layer.

[0089] For example, the different interfaces described above can be combined. For example, the interface abstraction layer can include a combination of a hardware interface and an operating system kernel interface. For example, the interface abstraction layer can include a combination of an operating system kernel interface and an operating system user space interface. For example, the interface abstraction layer can include a combination of an operating system user space interface and a library function interface. For example, the interface abstraction layer can include a combination of a hardware interface, an operating system kernel interface, and an operating system user space interface. Accordingly, at least one application can be installed on the interface abstraction layer, and different hardware devices can be adapted to the interface abstraction layer. Thus, the interface abstraction layer of the embodiment of the present invention achieves decoupling between the bottom layer and the upper layer. In other words, the upper layer of the interface abstraction layer can run any component that calls the interface set, such as an application. Due to the compatibility testing performed by the interface test program in the embodiment of the present invention, the lower layer of the interface abstraction layer can uniformly call any called interface. This achieves resource integration and fundamentally solves the problems of operating system fragmentation, application fragmentation, and hardware fragmentation.

[0090] It should be understood that the above-mentioned library functions include third-party library functions and / or library functions written in the language of the target underlying operating environment, for example, a C library or a C++ library.

[0091] Figure 7A This is a schematic diagram of an interface abstraction layer of an example of a testing method according to another embodiment of the present invention. As shown in the figure, the interface abstraction layer corresponds to the operating system kernel. Its lower layer can be adapted to different hardware operating environments. The upper layer of the interface abstraction layer can be installed with different operating system user control interfaces. As an example, different operating system user space interfaces can be installed with different or the same applications. It should be understood that in this example, the application can be coupled or decoupled with the operating system user space interface. The operating system user space interface can be coupled or decoupled with the interface abstraction layer. In this way, the problem of fragmentation of the underlying operating environment is solved, while the flexible installation or uninstallation of components or applications in the upper user space is achieved.

[0092] Figure 7B This is a schematic diagram of an interface abstraction layer for another example of a test method according to another embodiment of the present invention. As shown in the figure, operating system 1, operating system 2, and operating system 3 are adapted below the interface abstraction layer. Application 1 and application 2 are installed above the interface abstraction layer. Application 1 and application 2 can be coupled to the interface abstraction layer, corresponding to the device application layer component of the embodiment of the present invention. It should be understood that application 1 and application 2 can also be independent applications installed separately by users. In other words, the interface abstraction layer is decoupled from the application, thereby achieving interface unification for both the upper-layer application or application module and the underlying environment. In other words, while solving the problem of underlying fragmentation, the flexibility of installation of the upper-layer application and the consistency of the interface are guaranteed.

[0093] Figure 7C This is a schematic diagram of an interface abstraction layer for another example of a test method according to another embodiment of the present invention. As shown in the figure, interface abstraction layer 1 and interface abstraction layer 2 can abstract different underlying components. For example, interface abstraction layer 1 abstracts the kernel space of the operating system. At least one application can be installed in its upper layer. Moreover, the upper layer application can be coupled or decoupled with the interface abstraction layer. In addition, for interface abstraction layer 2, it actually abstracts the hardware operating environment. In other words, its lower layer can adapt to different hardware configurations or hardware operating environments. Similarly, the upper layer can be based on at least one application. The upper layer application can be installed or uninstalled. It can also be coupled with the operating system abstraction layer 2, that is, formed into a module or component.

[0094] It should be understood that 7A to 7C These are just a few examples. The interface abstraction layer of the embodiments of the present invention can be provided as a platform to third parties. For example, the interface abstraction layer can be provided as a platform to upper-layer third-party applications or user space components, or to lower-layer third-party operating system vendors, underlying operating environment vendors, or hardware vendors.

[0095] Figure 8 A schematic flow chart of a testing method according to another embodiment of the present invention. Figure 8 The method can be applied to any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, or stand-alone devices. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart speakers, smart security devices, smart media devices, smart displays, and detection devices. The method includes:

[0096] 810: Obtain a first interface test program developed for the device bottom layer operating environment for a first interface set called by a first device application layer component and a second interface test program for a second interface set called by a second device application layer component.

[0097] It should be understood that the underlying operating environment of a device may include both a hardware environment and a software environment. For example, the operating system, memory, processor, input devices, output devices, etc. For example, the interface test program may target various interfaces of the underlying operating environment. The interface set may include, but is not limited to, at least one of an application program interface (API) such as a portable operating system interface (POI), a library function interface, and a third-party library function interface. For example, the interface set may include portions of the PIO. The library function interface may include at least one of input and output functions, string, memory, and character functions, mathematical functions, time, date, and system-related functions, dynamic storage allocation functions, directory management functions, process control functions, character screen and graphics functions, etc. For example, library functions may include C language library functions, C++ language library functions such as C++ virtual functions, and implementation class encapsulation. Third-party library functions may include, but are not limited to, at least one of the json-c library functions, rws library functions, mbedtls library functions, httpclient library functions, and lwip library functions.

[0098] It should also be understood that, in order to obtain interface test programs developed for the underlying operating environments of various devices, the interface test programs can be downloaded from the server. For example, the interface test program is downloaded from the test server. It should be understood that, in one example, a compatibility test suite can be downloaded from the server. For example, the compatibility test suite includes an interface test program and test cases. For example, the test case can be a test description document for the interface test program. The test description document includes, but is not limited to, the type of interface to be tested, the number of interfaces to be tested, the test order of the interfaces to be tested, the test objectives, the test environment, the input data, the test steps, the expected results, the test script, etc.

[0099] 820: Perform compatibility tests on the interface configuration of the first interface set in the device bottom layer operating environment and the interface configuration of the second interface set in the device bottom layer operating environment using the first interface test program and the second interface test program respectively.

[0100] It should be understood that the unified interface set includes, but is not limited to, at least one of a real-time operating system interface, a library function interface, and a hardware interface. For example, the interface set includes a portable operating system interface. For example, the entire unified interface set is a portable operating system interface. For example, multiple device underlying operating environments include a smart device software operating environment and a smart device hardware operating environment.

[0101] It should also be understood that the software operating environment includes, but is not limited to, operating systems, hardware devices, hardware abstraction layers, and the like. Operating systems include, but are not limited to, any form of desktop operating system, embedded operating system, server operating system, real-time operating system, and the like. For example, operating systems include, but are not limited to, test or released versions of any of the aforementioned operating systems. For example, operating systems include, but are not limited to, operating systems built based on the kernel of any of the aforementioned operating systems. In other words, the underlying device operating environment of embodiments of the present invention includes at least one of the operating system kernel space, operating system user space, operating system abstraction layer, hardware devices, and hardware abstraction layer, or a combination of at least two. For example, the same operating system installed in different hardware environments constitutes different underlying device operating environments. For example, the same operating system kernel configured with different user spaces constitutes different software environments, thereby forming different underlying device operating environments. For example, the same operating system configured with different library functions can form different underlying device operating environments. In other words, the combination of different elements of the underlying device operating environment can form different underlying device operating environments.

[0102] It should also be understood that any of the multiple underlying device operating environments may be configured with different numbers or types of interfaces. Alternatively, any of the underlying device operating environments may not be configured with any interfaces. For example, a unified interface set may be configured for the target underlying device operating environment. Alternatively, the target underlying device operating environment includes at least one interface, for example, and other interfaces are configured for the target underlying device operating environment so that the target underlying device operating environment has a unified interface set. In other words, a portion of the unified interface set is configured for the target underlying device operating environment. For example, the unified interface set may be the union of all interfaces in the multiple underlying device operating environments. In other words, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the unified interface set may be a subset of the union of the interfaces in the multiple underlying device operating environments, that is, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the union of the interfaces in the multiple underlying device operating environments may be a subset of the unified interface set. In other words, each interface may exist in the unified interface set for each interface in the multiple underlying device operating environments. Optionally, each interface in the unified interface set may not exist in any device's underlying operating environment. In other words, the unified interface set and the set of interfaces provided by multiple device's underlying operating environments may overlap, not overlap, include, or be included. It should be understood that when the target device's underlying operating environment configuration does not meet the conditions of the interface set, the target device's underlying operating environment can be configured with the missing interfaces so that the target device's underlying operating environment is configured with the aforementioned interfaces. For example, test cases can be used to configure the interfaces of the target device's underlying operating environment.

[0103] Since the interface compatibility test is formulated for multiple device underlying operating environments, and the unified interface set called by the device application layer components is used to perform compatibility testing on the target device underlying operating environment, the fragmentation of the device underlying operating environment is effectively reduced.

[0104] In another implementation of the present invention, the unified interface set includes at least one of a real-time operating system interface, a library function interface, a hardware interface, and a portable operating system interface.

[0105] In another implementation of the present invention, the multiple device underlying operating environments include a smart device software operating environment and a smart device hardware operating environment.

[0106] Figure 9 A schematic flowchart of a configuration method according to another embodiment of the present invention. Figure 9The configuration method can be applied to any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and detection devices. The method includes:

[0107] 910: Determine a unified interface set called by device application layer components developed for multiple device underlying operating environments.

[0108] 920: Utilize a unified interface set to configure interfaces for a target device underlying operating environment in multiple device underlying operating environments.

[0109] It should be understood that the underlying operating environment of a device may include both hardware and software environments. For example, the operating system, memory, processor, input devices, output devices, etc. For example, an interface test program may target various interfaces of the underlying operating environment. The interface set may include, but is not limited to, at least one of an application program interface (API), such as a portable operating system interface (POI), a library function interface, and a third-party library function interface. For example, the interface set may include portions of the PIO. The library function interface may include at least one of input and output functions, string, memory, and character functions, mathematical functions, time, date, and system-related functions, dynamic storage allocation functions, directory management functions, process control functions, character screen, and graphics functions. For example, library functions include C language library functions, C++ language library functions such as C++ virtual functions, and C++ language library functions that implement class encapsulation. Third-party library functions include, but are not limited to, at least one of the json-c library functions, rws library functions, mbedtls library functions, httpclient library functions, and lwip library functions. It should be understood that the unified interface set may include, but is not limited to, at least one of a real-time operating system interface, a library function interface, and a hardware interface. For example, the interface set may include the PIO. For example, the entire unified interface set may be the PIO. For example, the underlying operating environments of various devices include the smart device software operating environment and the smart device hardware operating environment.

[0110] It should also be understood that the software operating environment includes, but is not limited to, operating systems, hardware devices, hardware abstraction layers, and the like. Operating systems include, but are not limited to, any form of desktop operating system, embedded operating system, server operating system, real-time operating system, and the like. For example, operating systems include, but are not limited to, test or released versions of any of the aforementioned operating systems. For example, operating systems include, but are not limited to, operating systems built based on the kernel of any of the aforementioned operating systems. In other words, the underlying device operating environment of embodiments of the present invention includes at least one of the operating system kernel space, operating system user space, operating system abstraction layer, hardware devices, and hardware abstraction layer, or a combination of at least two. For example, the same operating system installed in different hardware environments constitutes different underlying device operating environments. For example, the same operating system kernel configured with different user spaces constitutes different software environments, thereby forming different underlying device operating environments. For example, the same operating system configured with different library functions can form different underlying device operating environments. In other words, the combination of different elements of the underlying device operating environment can form different underlying device operating environments.

[0111] It should also be understood that any of the multiple underlying device operating environments may be configured with different numbers or types of interfaces. Alternatively, any of the underlying device operating environments may not be configured with any interfaces. For example, a unified interface set may be configured for the target underlying device operating environment. Alternatively, the target underlying device operating environment includes at least one interface, for example, and other interfaces are configured for the target underlying device operating environment so that the target underlying device operating environment has a unified interface set. In other words, a portion of the unified interface set is configured for the target underlying device operating environment. For example, the unified interface set may be the union of all interfaces in the multiple underlying device operating environments. In other words, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the unified interface set may be a subset of the union of the interfaces in the multiple underlying device operating environments, that is, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the union of the interfaces in the multiple underlying device operating environments may be a subset of the unified interface set. In other words, each interface may exist in the unified interface set for each interface in the multiple underlying device operating environments. Optionally, each interface in the unified interface set may not exist in any device's underlying operating environment. In other words, the unified interface set and the set of interfaces provided by multiple device's underlying operating environments may overlap, not overlap, include, or be included. It should be understood that when the target device's underlying operating environment configuration does not meet the conditions of the interface set, the target device's underlying operating environment can be configured with the missing interfaces so that the target device's underlying operating environment is configured with the aforementioned interfaces. For example, test cases can be used to configure the interfaces of the target device's underlying operating environment.

[0112] Since the unified interface set called by the device application layer components is formulated for multiple device underlying operating environments, the fragmentation of the device underlying operating environment is effectively reduced for the application layer components.

[0113] In another implementation of the present invention, the unified interface set includes at least one of a real-time operating system interface, a library function interface, a hardware interface, and a portable operating system interface.

[0114] In another implementation of the present invention, the multiple device underlying operating environments include a smart device software operating environment and a smart device hardware operating environment.

[0115] Figure 10 A schematic flowchart of an installation method according to another embodiment of the present invention. Figure 10The installation method can be applied to any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, etc., as well as detection equipment. This includes:

[0116] 1010: Determine a unified interface set called by device application layer components developed for multiple device underlying operating environments;

[0117] 1020: Install the device application layer component into a target device underlying operating environment among multiple device underlying operating environments.

[0118] Since the unified interface set called by the device application layer components is formulated for multiple device underlying operating environments, the fragmentation of the device underlying operating environment is effectively reduced for the application layer components.

[0119] It should be understood that the underlying operating environment of a device may include both hardware and software environments. For example, the operating system, memory, processor, input devices, output devices, etc. For example, an interface test program may target various interfaces of the underlying operating environment. The interface set may include, but is not limited to, at least one of an application program interface (API), such as a portable operating system interface (POI), a library function interface, and a third-party library function interface. For example, the interface set may include portions of the PIO. The library function interface may include at least one of input and output functions, string, memory, and character functions, mathematical functions, time, date, and system-related functions, dynamic storage allocation functions, directory management functions, process control functions, character screen, and graphics functions. For example, library functions include C language library functions, C++ language library functions such as C++ virtual functions, and C++ language library functions that implement class encapsulation. Third-party library functions include, but are not limited to, at least one of the json-c library functions, rws library functions, mbedtls library functions, httpclient library functions, and lwip library functions. It should be understood that the unified interface set may include, but is not limited to, at least one of a real-time operating system interface, a library function interface, and a hardware interface. For example, the interface set may include the PIO. For example, the entire unified interface set may be the PIO. For example, the underlying operating environments of various devices include the smart device software operating environment and the smart device hardware operating environment.

[0120] It should also be understood that the software operating environment includes, but is not limited to, operating systems, hardware devices, hardware abstraction layers, and the like. Operating systems include, but are not limited to, any form of desktop operating system, embedded operating system, server operating system, real-time operating system, and the like. For example, operating systems include, but are not limited to, test or released versions of any of the aforementioned operating systems. For example, operating systems include, but are not limited to, operating systems built based on the kernel of any of the aforementioned operating systems. In other words, the underlying device operating environment of embodiments of the present invention includes at least one of the operating system kernel space, operating system user space, operating system abstraction layer, hardware devices, and hardware abstraction layer, or a combination of at least two. For example, the same operating system installed in different hardware environments constitutes different underlying device operating environments. For example, the same operating system kernel configured with different user spaces constitutes different software environments, thereby forming different underlying device operating environments. For example, the same operating system configured with different library functions can form different underlying device operating environments. In other words, the combination of different elements of the underlying device operating environment can form different underlying device operating environments.

[0121] It should also be understood that any of the multiple underlying device operating environments may be configured with different numbers or types of interfaces. Alternatively, any of the underlying device operating environments may not be configured with any interfaces. For example, a unified interface set may be configured for the target underlying device operating environment. Alternatively, the target underlying device operating environment includes at least one interface, for example, and other interfaces are configured for the target underlying device operating environment so that the target underlying device operating environment has a unified interface set. In other words, a portion of the unified interface set is configured for the target underlying device operating environment. For example, the unified interface set may be the union of all interfaces in the multiple underlying device operating environments. In other words, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the unified interface set may be a subset of the union of the interfaces in the multiple underlying device operating environments, that is, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the union of the interfaces in the multiple underlying device operating environments may be a subset of the unified interface set. In other words, each interface may exist in the unified interface set for each interface in the multiple underlying device operating environments. Optionally, each interface in the unified interface set may not exist in any device's underlying operating environment. In other words, the unified interface set and the set of interfaces provided by multiple device's underlying operating environments may overlap, not overlap, include, or be included. It should be understood that when the target device's underlying operating environment configuration does not meet the conditions of the interface set, the target device's underlying operating environment can be configured with the missing interfaces so that the target device's underlying operating environment is configured with the aforementioned interfaces. For example, test cases can be used to configure the interfaces of the target device's underlying operating environment.

[0122] In another implementation of the present invention, the unified interface set includes at least one of a real-time operating system interface, a library function interface, a hardware interface, and a portable operating system interface.

[0123] In another implementation of the present invention, the multiple device underlying operating environments include a smart device software operating environment and a smart device hardware operating environment.

[0124] Figure 11 A schematic flow chart of an operating method according to another embodiment of the present invention. Figure 11The operating method can be applied to any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and detection devices. The method includes:

[0125] 1110: The device application layer component determines at least one interface in its unified interface set, where the unified interface set is formulated for multiple device underlying operating environments.

[0126] 1120: The device application layer component calls at least one interface of a target device underlying operating environment running in multiple device underlying operating environments to implement functions of the device application layer component.

[0127] It should be understood that the underlying operating environment of a device may include both hardware and software environments. For example, the operating system, memory, processor, input devices, output devices, etc. For example, an interface test program may target various interfaces of the underlying operating environment. The interface set may include, but is not limited to, at least one of an application program interface (API), such as a portable operating system interface (POI), a library function interface, and a third-party library function interface. For example, the interface set may include portions of the PIO. The library function interface may include at least one of input and output functions, string, memory, and character functions, mathematical functions, time, date, and system-related functions, dynamic storage allocation functions, directory management functions, process control functions, character screen, and graphics functions. For example, library functions include C language library functions, C++ language library functions such as C++ virtual functions, and C++ language library functions that implement class encapsulation. Third-party library functions include, but are not limited to, at least one of the json-c library functions, rws library functions, mbedtls library functions, httpclient library functions, and lwip library functions. It should be understood that the unified interface set may include, but is not limited to, at least one of a real-time operating system interface, a library function interface, and a hardware interface. For example, the interface set may include the PIO. For example, the entire unified interface set may be the PIO. For example, the underlying operating environments of various devices include the smart device software operating environment and the smart device hardware operating environment.

[0128] It should also be understood that the software operating environment includes, but is not limited to, operating systems, hardware devices, hardware abstraction layers, and the like. Operating systems include, but are not limited to, any form of desktop operating system, embedded operating system, server operating system, real-time operating system, and the like. For example, operating systems include, but are not limited to, test or released versions of any of the aforementioned operating systems. For example, operating systems include, but are not limited to, operating systems built based on the kernel of any of the aforementioned operating systems. In other words, the underlying device operating environment of embodiments of the present invention includes at least one of the operating system kernel space, operating system user space, operating system abstraction layer, hardware devices, and hardware abstraction layer, or a combination of at least two. For example, the same operating system installed in different hardware environments constitutes different underlying device operating environments. For example, the same operating system kernel configured with different user spaces constitutes different software environments, thereby forming different underlying device operating environments. For example, the same operating system configured with different library functions can form different underlying device operating environments. In other words, the combination of different elements of the underlying device operating environment can form different underlying device operating environments.

[0129] It should also be understood that any of the multiple underlying device operating environments may be configured with different numbers or types of interfaces. Alternatively, any of the underlying device operating environments may not be configured with any interfaces. For example, a unified interface set may be configured for the target underlying device operating environment. Alternatively, the target underlying device operating environment includes at least one interface, for example, and other interfaces are configured for the target underlying device operating environment so that the target underlying device operating environment has a unified interface set. In other words, a portion of the unified interface set is configured for the target underlying device operating environment. For example, the unified interface set may be the union of all interfaces in the multiple underlying device operating environments. In other words, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the unified interface set may be a subset of the union of the interfaces in the multiple underlying device operating environments, that is, any interface in the unified interface set may exist in at least one of the multiple underlying device operating environments. For example, the union of the interfaces in the multiple underlying device operating environments may be a subset of the unified interface set. In other words, each interface may exist in the unified interface set for each interface in the multiple underlying device operating environments. Optionally, each interface in the unified interface set may not exist in any device's underlying operating environment. In other words, the unified interface set and the set of interfaces provided by multiple device's underlying operating environments may overlap, not overlap, include, or be included. It should be understood that when the target device's underlying operating environment configuration does not meet the conditions of the interface set, the target device's underlying operating environment can be configured with the missing interfaces so that the target device's underlying operating environment is configured with the aforementioned interfaces. For example, test cases can be used to configure the interfaces of the target device's underlying operating environment.

[0130] Since the unified interface set called by the device application layer components is formulated for multiple device underlying operating environments, the fragmentation of the device underlying operating environment is effectively reduced for the application layer components.

[0131] In another implementation of the present invention, the unified interface set includes at least one of a real-time operating system interface, a library function interface, a hardware interface, and a portable operating system interface.

[0132] In another implementation of the present invention, the multiple device underlying operating environments include a smart device software operating environment and a smart device hardware operating environment.

[0133] Figure 12 FIG. 4 is a schematic block diagram of a testing device according to another embodiment of the present invention. Figure 12The test device can be used to test any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and testing equipment. The device includes:

[0134] An acquisition module 1210 acquires an interface test program for a unified interface set called by device application layer components, which is developed for various device bottom layer operating environments;

[0135] The testing module 1220 performs compatibility testing on the interface configuration of the unified interface set in the target device underlying operating environment using an interface testing program for the target device underlying operating environment among the multiple device underlying operating environments.

[0136] Since the interface compatibility test is formulated for multiple device underlying operating environments, and the unified interface set called by the device application layer components is used to perform compatibility testing on the target device underlying operating environment, the fragmentation of the device underlying operating environment is effectively reduced.

[0137] In another implementation of the present invention, the acquisition module is specifically used to: acquire a compatibility test suite, which includes an interface test program for a unified interface set called by device application layer components developed for multiple device underlying operating environments.

[0138] In another implementation of the present invention, the compatibility test suite further includes an interface test description document corresponding to the interface test program, wherein the interface test description document is used to configure a unified interface set for the underlying operating environment of the target device.

[0139] In another implementation of the present invention, the test module is specifically used to: perform current compilation testing on the current interface configuration of the unified interface set in the underlying operating environment of the target device; if the current compilation test is passed, the interface test program is used to perform operation testing on the current interface configuration of the unified interface set.

[0140] In another implementation of the present invention, the test module is also used to: if the current compilation test fails, determine the debugged interface configuration of the unified interface set in the underlying operating environment of the target device; and perform the next compilation test on the debugged interface configuration of the unified interface set in the underlying operating environment of the target device.

[0141] In another implementation of the present invention, the test module is specifically used to: use the interface test program to perform a current operation test on the current interface configuration of the unified interface set; if the current operation test fails, perform a next operation test on the debugged interface configuration of the unified interface set.

[0142] In another implementation of the present invention, the acquisition module is specifically used to: obtain from the test server an interface test program for a unified interface set called by the device application layer components, which is formulated for the underlying operating environments of multiple devices; wherein the interface test program is used to perform a run test on the current interface configuration of the unified interface set; and further includes: if the current run test is passed, uploading the code of the current interface configuration of the unified interface set to the test server.

[0143] In another implementation of the present invention, the test module is specifically used to: compile the interface test program into a target language suitable for the underlying operating environment of the target device; through the test interface with the underlying operating environment of the target device, use the compiled interface test program to call the interface configuration of the unified interface set to perform compatibility testing.

[0144] In another implementation of the present invention, the underlying operating environment of the target device includes a hardware environment and an operating system environment, and the unified interface set includes a first interface formulated for the hardware environment and a second interface formulated for the software environment, wherein the test module is specifically used to: use the interface test program to perform a current test on the interface configuration of the second interface; if the current test passes, use the interface test program to test the interface configuration of the first interface.

[0145] In another implementation of the present invention, the test module is further configured to: if the current test fails, perform the next test on the interface configuration of the second interface using the interface test program.

[0146] In another implementation of the present invention, the unified interface set includes at least one of a real-time operating system interface, a library function interface, and a hardware interface.

[0147] In another implementation of the present invention, the unified interface set includes a portable operating system interface.

[0148] In another implementation of the present invention, the multiple device underlying operating environments include a smart device software operating environment and a smart device hardware operating environment.

[0149] The device of this embodiment is used to implement the corresponding methods in the aforementioned multiple method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here. In addition, the functional implementation of each module in the device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be described in detail here.

[0150] Figure 13 FIG. 4 is a schematic flow chart of a testing device according to another embodiment of the present invention. Figure 13 The test device can be used to test any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and testing equipment. The device includes:

[0151] An acquisition module 1310 acquires a first interface test program for a first interface set called by an application layer component of a first device and a second interface test program for a second interface set called by an application layer component of a second device, which are formulated for a device bottom layer operating environment;

[0152] The testing module 1320 performs compatibility testing on the interface configuration of the first interface set in the device bottom layer operating environment and the interface configuration of the second interface set in the device bottom layer operating environment using the first interface testing program and the second interface testing program respectively.

[0153] Since the interface compatibility test is formulated for multiple device underlying operating environments, and the interface set called by the device application layer component is used to perform compatibility testing on the target device underlying operating environment, the fragmentation of the device underlying operating environment is effectively reduced.

[0154] The device of this embodiment is used to implement the corresponding methods in the aforementioned multiple method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here. In addition, the functional implementation of each module in the device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be described in detail here.

[0155] Figure 14 This is a schematic flowchart of a configuration device according to another embodiment of the present invention. Figure 14 The configuration device can be applied to configure any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and detection devices. The device includes:

[0156] Determining module 1410, determining a unified interface set called by device application layer components formulated for multiple device bottom layer operating environments;

[0157] The configuration module 1420 uses a unified interface set to perform interface configuration for a target device underlying operating environment among multiple device underlying operating environments.

[0158] Since the unified interface set called by the device application layer components is formulated for multiple device underlying operating environments, the fragmentation of the device underlying operating environment is effectively reduced for the application layer components.

[0159] The device of this embodiment is used to implement the corresponding methods in the aforementioned multiple method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here. In addition, the functional implementation of each module in the device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be described in detail here.

[0160] Figure 15 The figure is a schematic flow chart of an installation device according to another embodiment of the present invention. Figure 15 The installation device can be used to install any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices, and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and detection equipment. The device includes:

[0161] The determination module 1510 determines a unified interface set called by the device application layer components formulated for the underlying operating environments of multiple devices.

[0162] The installation module 1520 installs the device application layer component into a target device bottom layer operating environment among multiple device bottom layer operating environments.

[0163] Since the unified interface set called by the device application layer components is formulated for multiple device underlying operating environments, the fragmentation of the device underlying operating environment is effectively reduced for the application layer components.

[0164] The device of this embodiment is used to implement the corresponding methods in the aforementioned multiple method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here. In addition, the functional implementation of each module in the device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be described in detail here.

[0165] Figure 16 A schematic flowchart of an electronic device according to another embodiment of the present invention. Figure 16 The electronic device can be any appropriate electronic device with data processing capabilities, including but not limited to servers, embedded devices and desktop computers. For example, embedded devices include but are not limited to mobile terminals (such as mobile phones, PADs, etc.), Internet of Things devices, Internet devices, stand-alone devices, car computers, set-top boxes, etc. Internet of Things devices include but are not limited to smart devices such as smart cameras, smart doors and windows, smart doorbells, smart watches, smart speakers, smart security devices, smart media devices, smart displays, and detection devices. The electronic device includes:

[0166] Device application layer component 1610, which has a unified interface set developed for various device underlying operating environments;

[0167] The target device underlying operating environment 1620 provides at least one calling interface in a unified interface set for the device application layer component to implement the function of the device application layer component.

[0168] Since the unified interface set called by the device application layer components is formulated for multiple device underlying operating environments, the fragmentation of the device underlying operating environment is effectively reduced for the application layer components.

[0169] In other words, because the unified interface set undergoes interface compatibility testing using interface testing programs developed for multiple device underlying operating environments, it achieves consistent configuration across application modules. This enables independent or parallel development of application modules and the underlying operating environment for smart devices. In other words, it enables independent upgrades of both application modules and the underlying operating environment.

[0170] The device of this embodiment is used to implement the corresponding methods in the aforementioned multiple method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here. In addition, the functional implementation of each module in the device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be described in detail here.

[0171] Figure 17 This is a schematic structural diagram of an electronic device according to another embodiment of the present invention; the electronic device may include:

[0172] One or more processors 1701;

[0173] Computer readable medium 1702 may be configured to store one or more programs,

[0174] When one or more programs are executed by one or more processors, the one or more processors implement the method as described in the above embodiments.

[0175] Figure 18 The hardware structure of the electronic device of another embodiment of the present invention is as follows; Figure 18 As shown, the hardware structure of the electronic device may include: a processor 1801, a communication interface 1802, a computer-readable medium 1803 and a communication bus 1804;

[0176] The processor 1801, the communication interface 1802, and the computer-readable medium 1803 communicate with each other via a communication bus 1804;

[0177] Optionally, the communication interface 1802 may be an interface of a communication module;

[0178] The processor 1801 may be specifically configured to: obtain an interface test program for a unified interface set called by a device application layer component, which is formulated for a plurality of device underlying operating environments; and perform a compatibility test on the interface configuration of the unified interface set in the target device underlying operating environment using the interface test program for a target device underlying operating environment among the plurality of device underlying operating environments, or,

[0179] Obtain a first interface test program developed for the device's underlying operating environment for a first interface set called by a first device application layer component and a second interface test program developed for a second interface set called by a second device application layer component; perform compatibility tests on the interface configuration of the first interface set in the device's underlying operating environment and the interface configuration of the second interface set in the device's underlying operating environment using the first interface test program and the second interface test program, respectively; or,

[0180] Determine a unified interface set called by device application layer components formulated for multiple device underlying operating environments; use the unified interface set to configure interfaces for a target device underlying operating environment among the multiple device underlying operating environments, or,

[0181] Determine a unified interface set called by device application layer components formulated for multiple device underlying operating environments; install the device application layer components into a target device underlying operating environment among the multiple device underlying operating environments, or,

[0182] The device application layer component determines at least one interface in its unified interface set, where the unified interface set is formulated for multiple device underlying operating environments; the device application layer component calls at least one interface to run in a target device underlying operating environment among multiple device underlying operating environments to implement the function of the device application layer component.

[0183] Processor 1801 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor can be a microprocessor or any conventional processor.

[0184] The computer-readable medium 1803 may be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc.

[0185] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code configured to execute the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit (CPU), the above-mentioned functions defined in the method of the present invention are executed. It should be noted that the computer-readable medium described in the present invention can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage medium, a magnetic storage medium, or any suitable combination thereof. In the present invention, a computer-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. In the present invention, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including, but not limited to, an electromagnetic signal, an optical signal, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transfer a program configured for use by or in conjunction with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0186] Computer program code configured to perform the operations of the present invention may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0187] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of the systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or portion of code, which contains one or more executable instructions configured to implement the specified logical function. The above-mentioned specific embodiments have specific sequential relationships, but these sequential relationships are merely exemplary. During the specific implementation, these steps may be fewer, more, or the execution order may be adjusted. In other words, in some alternative implementations, the functions marked in the boxes may also occur in an order different from that marked in the accompanying drawings. For example, two boxes shown in succession can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, as well as combinations of boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or can be implemented using a combination of dedicated hardware and computer instructions.

[0188] The modules involved in the embodiments of the present invention may be implemented in software or hardware, and the names of these modules do not necessarily limit the modules themselves.

[0189] As another aspect, the present invention further provides a computer-readable medium having a computer program stored thereon, which implements the method described in the above embodiment when the program is executed by a processor.

[0190] As another aspect, the present invention further provides a computer-readable medium, which may be included in the apparatus described in the above embodiment; or may exist independently without being assembled into the apparatus. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the apparatus, the apparatus: obtains an interface test program for a unified interface set called by a device application layer component, which is formulated for a plurality of device underlying operating environments; uses the interface test program to perform compatibility testing on the interface configuration of the unified interface set in the target device underlying operating environment among the plurality of device underlying operating environments, or,

[0191] Obtain a first interface test program developed for the device's underlying operating environment for a first interface set called by a first device application layer component, and a second interface test program developed for a second interface set called by a second device application layer component; use the first interface test program and the second interface test program respectively to perform compatibility tests on the interface configuration of the first interface set in the device's underlying operating environment and the interface configuration of the second interface set in the device's underlying operating environment.

[0192] The terms "first," "second," "the first," or "the second" used in various embodiments of the present disclosure may modify various components regardless of order and / or importance, but these terms do not limit the corresponding components. The above terms are configured solely for the purpose of distinguishing an element from other elements. For example, a first user device and a second user device represent different user devices, even though both are user devices. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element without departing from the scope of the present disclosure.

[0193] When one element (for example, a first element) is referred to as being “(operably or communicably) coupled” or “(operably or communicably) coupled to” or “connected to” another element (for example, a second element), it should be understood that the one element is directly connected to the other element or that the one element is indirectly connected to the other element via yet another element (for example, a third element). Conversely, it should be understood that when an element (for example, a first element) is referred to as being “directly connected” or “directly coupled” to another element (the second element), there is no element (for example, a third element) interposed therebetween.

[0194] The above description is merely an illustration of the preferred embodiments of the present invention and the technical principles employed. Those skilled in the art should understand that the scope of the invention is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also encompasses other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned inventive concept. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in the present invention.

Claims

1. A testing method comprising: Obtaining an interface test program developed for multiple device underlying operating environments below the interface abstraction layer for a unified interface set in the interface abstraction layer called by a device application layer component above the interface abstraction layer, wherein the unified interface set includes a third interface and a fourth interface; For a target device underlying operating environment among the multiple device underlying operating environments, using the interface testing program, perform a compatibility test on the interface configuration of the unified interface set in the target device underlying operating environment; Among them, the compatibility test of the interface configuration of the unified interface set in the underlying operating environment of the target device includes: after the compilation test of the third interface is completed, modifying the configuration of the third interface, and calling the third interface with at least part of the modified configuration to test the fourth interface.

2. The method according to claim 1, wherein The obtaining of an interface test program for a unified interface set in the interface abstraction layer, which is formulated for multiple device bottom layer operating environments below the interface abstraction layer and is called by device application layer components above the interface abstraction layer, includes: Obtain a compatibility test suite, which includes an interface test program developed for multiple device underlying operating environments below the interface abstraction layer and targeting a unified interface set in the interface abstraction layer called by device application layer components above the interface abstraction layer.

3. The method according to claim 2, wherein: The compatibility test suite also includes an interface test description document corresponding to the interface test program, wherein the interface test description document is used to configure the unified interface set for the underlying operating environment of the target device.

4. The method according to claim 1, wherein The compatibility test of the interface configuration of the unified interface set in the target device underlying operating environment using the interface testing program for the target device underlying operating environment among the multiple device underlying operating environments includes: Performing a current compilation test on the current interface configuration of the unified interface set in the underlying operating environment of the target device; If the current compilation test is passed, the interface test program is used to perform a running test on the current interface configuration of the unified interface set.

5. The method according to claim 4, wherein The compatibility test of the interface configuration of the unified interface set in the target device underlying operating environment using the interface testing program for the target device underlying operating environment in the multiple device underlying operating environments further includes: If the current compilation test fails, determining a debugged interface configuration of the unified interface set in the underlying operating environment of the target device; The debugged interface configuration of the unified interface set in the underlying operating environment of the target device is subjected to a next compilation test.

6. The method according to claim 4, wherein: Using the interface test program, running a test on the current interface configuration of the unified interface set includes: Using the interface test program, perform a current operation test on the current interface configuration of the unified interface set; If the current running test fails, performing a next running test on the debugged interface configuration of the unified interface set.

7. The method according to claim 2, wherein: The obtaining of an interface test program for a unified interface set in the interface abstraction layer, which is formulated for multiple device bottom layer operating environments below the interface abstraction layer and is called by a device application layer component above the interface abstraction layer, includes: Obtaining from a test server an interface test program for a unified interface set called by device application layer components, which is developed for multiple device underlying operating environments, wherein the interface test program is used to perform an operational test on the current interface configuration of the unified interface set, further comprising: If the current running test passes, the code of the current interface configuration of the unified interface set is uploaded to the test server.

8. The method according to claim 1, wherein The compatibility test of the interface configuration of the unified interface set in the target device underlying operating environment using the interface testing program for the target device underlying operating environment among the multiple device underlying operating environments includes: Compiling the interface test program into a target language suitable for the underlying operating environment of the target device; The compatibility test is performed by calling the interface configuration of the unified interface set using the compiled interface test program through the test interface with the underlying operating environment of the target device.

9. The method according to claim 1, wherein The underlying operating environment of the target device includes a hardware environment and an operating system environment, and the unified interface set includes a first interface formulated for the hardware environment and a second interface formulated for the operating system environment, wherein: The compatibility test of the interface configuration of the unified interface set in the target device underlying operating environment using the interface testing program for the target device underlying operating environment among the multiple device underlying operating environments includes: Performing a current test on the interface configuration of the second interface using the interface test program; If the current test passes, the interface configuration of the first interface is tested using the interface test program.

10. The method according to claim 9, wherein: The compatibility test of the interface configuration of the unified interface set in the target device underlying operating environment using the interface testing program for the target device underlying operating environment in the multiple device underlying operating environments further includes: If the current test fails, the interface configuration of the second interface is tested next time using the interface test program.

11. The method according to claim 1, wherein The unified interface set includes at least one of a real-time operating system interface, a library function interface, a hardware interface, and a portable operating system interface.

12. The method according to claim 1, wherein The multiple device underlying operating environments include smart device software operating environments and smart device hardware operating environments.

13. A testing method comprising: Obtaining a first interface test program formulated for a device underlying operating environment below the interface abstraction layer, for a first interface set in the interface abstraction layer called by a first device application layer component above the interface abstraction layer, and a second interface test program for a second interface set in the interface abstraction layer called by a second device application layer component above the interface abstraction layer, wherein the unified interface set includes a third interface and a fourth interface; Using the first interface test program and the second interface test program respectively, perform compatibility testing on the interface configuration of the first interface set in the device bottom layer operating environment and the interface configuration of the second interface set in the device bottom layer operating environment; Among them, the compatibility test of the interface configuration of the first interface set in the underlying operating environment of the device and the interface configuration of the second interface set in the underlying operating environment of the device also includes: after the compilation test of the third interface is completed, modifying the configuration of the third interface, calling the third interface with at least part of the modified configuration to test the fourth interface.

14. A configuration method, comprising: Determine a unified interface set in the interface abstraction layer that is called by a device application layer component above the interface abstraction layer formulated for multiple device underlying operating environments below the interface abstraction layer, the unified interface set including a third interface and a fourth interface; Performing interface configuration for a target device underlying operating environment among the multiple device underlying operating environments by using the unified interface set; Among them, the use of the unified interface set to configure the interface for the target device underlying operating environment among the multiple device underlying operating environments also includes: after the compilation test of the third interface is completed, modifying the configuration of the third interface, calling at least part of the modified configured third interface to test the fourth interface.

15. An installation method, comprising: Determine a unified interface set in the interface abstraction layer that is called by a device application layer component above the interface abstraction layer formulated for multiple device underlying operating environments below the interface abstraction layer, the unified interface set including a third interface and a fourth interface; Installing the device application layer component into the target device underlying operating environment among the multiple device underlying operating environments; Among them, the installation of the device application layer component into the target device underlying operating environment among the multiple device underlying operating environments also includes: after the compilation test of the third interface is completed, modifying the configuration of the third interface, and calling the third interface with at least part of the modified configuration to test the fourth interface.

16. A method of operation, comprising: The device application layer component above the interface abstraction layer determines at least one interface in its unified interface set, where the unified interface set is formulated in the interface abstraction layer for multiple device underlying operating environments below the interface abstraction layer, and the unified interface set includes a third interface and a fourth interface; The device application layer component calls at least one interface running in a target device underlying operating environment among multiple device underlying operating environments to implement the function of the device application layer component; Among them, the device application layer component calls at least one interface to run in the target device underlying operating environment among multiple device underlying operating environments to realize the function of the device application layer component, and also includes: after the compilation test of the third interface is completed, the third interface is modified and configured, and the third interface with at least part of the modified configuration is called to test the fourth interface.

17. A testing device comprising: an acquisition module, which acquires an interface test program formulated for multiple device underlying operating environments below the interface abstraction layer and for a unified interface set in the interface abstraction layer called by a device application layer component above the interface abstraction layer, wherein the unified interface set includes a third interface and a fourth interface; A testing module, for a target device underlying operating environment among the multiple device underlying operating environments, using the interface testing program to perform compatibility testing on the interface configuration of the unified interface set in the target device underlying operating environment; Among them, the test module performs compatibility testing on the interface configuration of the unified interface set in the underlying operating environment of the target device, including: after the compilation test of the third interface is completed, modifying the configuration of the third interface, and calling the third interface with at least part of the modified configuration to test the fourth interface.

18. A testing device comprising: an acquisition module, which acquires a first interface test program formulated for a device underlying operating environment below the interface abstraction layer, for a first interface set in the interface abstraction layer called by a first device application layer component above the interface abstraction layer, and a second interface test program for a second interface set in the interface abstraction layer called by a second device application layer component above the interface abstraction layer, wherein the unified interface set includes a third interface and a fourth interface; a testing module, using the first interface testing program and the second interface testing program respectively to perform compatibility testing on the interface configuration of the first interface set in the bottom layer operating environment of the device and the interface configuration of the second interface set in the bottom layer operating environment of the device; Among them, the test module performs compatibility testing on the interface configuration of the first interface set in the device's underlying operating environment and the interface configuration of the second interface set in the device's underlying operating environment, and also includes: after the compilation test of the third interface is completed, modifying the configuration of the third interface, and calling the third interface with at least part of the modified configuration to test the fourth interface.

19. A configuration device comprising: a determination module, determining a unified interface set in the interface abstraction layer called by a device application layer component above the interface abstraction layer formulated for multiple device underlying operating environments below the interface abstraction layer, wherein the unified interface set includes a third interface and a fourth interface; A configuration module, using the unified interface set, to perform interface configuration for the target device underlying operating environment among the multiple device underlying operating environments; Among them, the configuration module uses the unified interface set to perform interface configuration for the target device underlying operating environment among the multiple device underlying operating environments, and also includes: after the compilation test of the third interface is completed, the third interface is modified and configured, and the third interface with at least part of the modified configuration is called to test the fourth interface.

20. A mounting device comprising: a determination module, determining a unified interface set in the interface abstraction layer called by a device application layer component above the interface abstraction layer formulated for multiple device underlying operating environments below the interface abstraction layer, wherein the unified interface set includes a third interface and a fourth interface; An installation module is used to install the device application layer component into the target device bottom layer operating environment among the multiple device bottom layer operating environments; Among them, the installation module uses the unified interface set to configure the interface for the target device underlying operating environment among the multiple device underlying operating environments, and also includes: after the compilation test of the third interface is completed, the third interface is modified and configured, and the third interface with at least part of the modified configuration is called to test the fourth interface.

21. An electronic device comprising: A device application layer component, the device application layer component having a unified interface set in the interface abstraction layer formulated for multiple device underlying operating environments below the interface abstraction layer, and the device application layer component being installed on the interface abstraction layer; The underlying operating environment of the target device provides at least one calling interface in the unified interface set for the device application layer component to implement the function of the device application layer component.

22. An electronic device, comprising: one or more processors; a storage medium configured to store one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 16.

23. A storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.

Citation Information

Patent Citations

  • Dynamic environment testing method and system for intelligent power supply

    CN109613448A

  • Interface test method and interface test platform

    CN110888804A

  • System under test`s e.g. control components of airplane, software module and / or hardware component testing method, involves generating events as separate algorithm to stimulate interfaces independent of transmitted function information

    DE102006018181A1