CN110825647B - Test method for automatically testing logical device interface - Google Patents

Test method for automatically testing logical device interface Download PDF

Info

Publication number
CN110825647B
CN110825647B CN201911110550.8A CN201911110550A CN110825647B CN 110825647 B CN110825647 B CN 110825647B CN 201911110550 A CN201911110550 A CN 201911110550A CN 110825647 B CN110825647 B CN 110825647B
Authority
CN
China
Prior art keywords
test
module
library
command
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911110550.8A
Other languages
Chinese (zh)
Other versions
CN110825647A (en
Inventor
彭向辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wang Xibao
Original Assignee
Guangdong Huasheng Data Solid State Storage Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Huasheng Data Solid State Storage Co ltd filed Critical Guangdong Huasheng Data Solid State Storage Co ltd
Priority to CN201911110550.8A priority Critical patent/CN110825647B/en
Publication of CN110825647A publication Critical patent/CN110825647A/en
Application granted granted Critical
Publication of CN110825647B publication Critical patent/CN110825647B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a test method for automatically testing a logic device interface, which comprises the steps of establishing a test hierarchical structure by taking a test automation frame based on keyword driving as a test template; the test automation framework matches a test case according to the received test execution parameters; calling user keywords in a test case; calling a test library of the test library layer according to the user keyword; if the built-in library is called, executing corresponding test process control according to the user keywords; if the corresponding test protocol of the NVMe protocol test library is called, calling the corresponding test tool in the test machine tool set according to the corresponding test protocol to execute the test operation and transmitting the test result to the NVMe protocol test library; and the NVMe protocol test library analyzes the test result, judges the test operation completion state according to the user keywords, records the test operation completion state in a log, and feeds the test operation completion state back to the test automation framework. The invention improves the testing efficiency and reduces the testing cost.

Description

Test method for automatically testing logical device interface
Technical Field
The invention relates to the field of logic equipment interface testing, in particular to a testing method for automatically testing a logic equipment interface.
Background
NVMe (Non-Volatile Memory Express) is a logical device interface specification, is used for accessing a nonvolatile flash Memory medium attached through a PCIe bus, fully utilizes the low delay and parallelism of a PCIe channel, reduces the high delay caused by an AHCI interface, and greatly improves the read-write performance of a solid state disk. At present, in the fields of enterprises, civil use and the like, the application of NVMe solid state disks is more and more extensive, and the investment of SSD manufacturers in the NVMe field is gradually increased. At present, in the field of NVMe protocol testing, a part of tests mainly adopt manual tests, and the mode is as follows: the testing period is long, the efficiency is low, the repeated workload is large, and the testing reliability is reduced due to the introduction of artificial uncertainty of manual testing; part of the method mainly adopts a script program to realize automation, and the method comprises the following steps: the change of a simple function often results in a large amount of adjustment of an automation program, low code reuse rate and high maintenance cost.
The Robot Framework is an open-source automatic testing Framework written by Python, supports keyword driving, has the advantages of strong expansibility, strong usability, distributed testing support and the like, and is widely applied to the upper-layer software field because of having rich opposite testing interface libraries in the upper-layer software field such as the Internet and the like. At present, in the prior art, no research for applying the Robot Framework to the NVMe protocol test exists, and no related research for developing a Robot Framework underlying software extension library exists.
Disclosure of Invention
The invention mainly aims to provide a test library for automatically testing a logical device interface, aiming at overcoming the problems.
In order to achieve the above object, the present invention provides a method for testing an interface of an automatic test logic device, including:
s10, establishing an NVMe protocol test library based on an object-oriented logic device interface;
s20, establishing a test hierarchical structure based on the keyword-driven test automation framework, wherein the hierarchical structure comprises a test case layer, a test resource layer, a test library layer and a test machine tool set;
s21, the test automation framework receives the test execution parameters and matches a test case to be executed in the test case layer according to the test execution parameters;
s30, the test automation framework calls corresponding user keywords on the test resource layer by layer according to the keywords in the test case to be executed;
s40, the test automation framework calls a corresponding test library at a test library layer according to the definition process of the user keywords, wherein the test library at least comprises a built-in library of the test automation framework and a logic equipment interface NVMe protocol test library;
s50, if the built-in library of the test automation framework is called, executing corresponding test process control according to the definition process of the user keywords; if the corresponding test protocol of the logic device interface NVMe protocol test library is called, calling the corresponding test tool in the test machine tool set according to the corresponding test protocol, executing test operation on the tested logic device or the test machine system by the called test tool, and transmitting the test result to the logic device interface NVMe protocol test library;
and the S60 logic equipment interface NVMe protocol test library analyzes the test result, feeds the analyzed test result back to the user keyword, compares the analyzed test result with the expected result in the test case by the user keyword to obtain the test operation completion state, records the test operation completion state in a log, and feeds the test operation completion state back to the test automation framework.
Preferably, the S10 specifically includes:
s101 defines: if the method class of each module in the logical device interface NVMe protocol test library is called by the test automation framework, the called method class comprises the following three attributes: defining the use range of the library, defining the version number of the library and defining the help description format of the library; if the attribute of each module in the NVMe protocol test library of the logic device interface is called by the test automation framework, the called attribute is declared in the corresponding method class;
s102, independently developing each module according to function types based on an object-oriented method, wherein each module at least comprises a configuration module, an initialization module, an execution module, an interface module, a judgment module, a format conversion module and a tester calling module.
Preferably, each module in the logical device interface NVMe protocol test library at least includes:
the configuration module is used for defining NVMe protocol test library parameters;
the initialization module is used for completing initialization of a remote control interface, initialization of a local environment and initialization of a test machine environment according to the defined NVMe protocol test library parameters;
the execution module is used for generating specific NVMe execution commands, NVMe command execution and command return result analysis according to different command parameters;
the interface module is used for completing the encapsulation of various commands according to the format of the NVMe command and providing a library interface to the outside;
the judging module is used for judging the test operation completion state;
the format conversion module is used for converting and calculating the data format;
and the test machine calling module is used for calling the test tools in the test machine system self-contained tool set.
Preferably, the configuration module comprises at least the following attributes: the test machine IP address, the login user name of the test machine, the login password of the test machine, the local work root directory and the work root directory of the test machine.
Preferably, the attribute of the initialization module at least comprises an IP address of the tester, a login user name of the tester, and a login password of the tester; the method class of the initialization module at least comprises: issuing a command to a test machine and acquiring a command execution result; downloading a file from a testing machine; uploading a file to a testing machine; and recording log information.
Preferably, the attributes of the execution module at least include a remote call instance, execution parameters of the NVMe command, and an execution result of the NVMe command; the method class of the execution module at least comprises the steps of generating a specific execution command according to the NVMe command parameter; executing the NVMe command to obtain an execution result; and analyzing the NVMe command execution result.
Preferably, the attributes of the interface module at least comprise a remote call instance, a calculation instance, and an NVMe command sample instance; the method class of the interface module at least comprises: the method comprises the steps of obtaining execution of external declaration information of equipment, setting execution of specified characteristics of the equipment, obtaining specified log information of the equipment, formatting the equipment according to an NVMe command, enabling execution of firmware of a specified slot position in the equipment, downloading the firmware to a specified slot position of the equipment, creating an I/O command application submission queue, deleting the I/O command application submission queue, creating an I/O command completion queue, deleting the I/O command completion queue, performing write operation of specified size on the specified position of the equipment, performing read operation of specified size on the specified position of the equipment, performing data management of specified size on the specified position of the equipment, and triggering execution of flushing internal cache of the equipment.
Preferably, the format conversion module at least comprises the following method classes: converting the binary string into a decimal number, converting the hexadecimal string into a binary string, converting the decimal number into the hexadecimal string, expanding the length of the string, and acquiring the specified bit value.
Preferably, the attribute of the tester call module at least comprises a remote call instance; the method class of the test machine calling module at least comprises the following steps: resetting a logical device on a test machine, scanning a logical device on a test machine, creating a directory on a test machine, creating a file on a test machine, deleting a file on a test machine, aligning data on a test machine, compressing a file on a test machine, decompressing a file on a test machine.
Preferably, the attribute of the judgment module at least comprises a calculation instance; the method class of the judging module at least comprises the following steps: checking the test operation completion state, checking whether the two groups of character strings are consistent, checking whether the two groups of numerical values are consistent, checking whether corresponding bits in the two groups of numerical values are consistent, and checking whether a difference value in the two groups of numerical values is a specified value.
Compared with the prior art, the invention has the following advantages and technical effects: the invention adopts the layered open-source automatic test Framework Robot Framework compiled based on Python, the upper computer is combined with the test machine, the layers and the upper computer and the test machine do not interfere with each other, the NVMe protocol test library is called to realize the automation of the NVMe protocol, and the problems of low code reuse rate and high maintenance cost of the existing NVMe protocol are solved. Meanwhile, the method and the template for developing the Robot Framework underlying software extension library are provided, and the implementation template is provided for the application of the Robot Framework to underlying software.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the structures shown in the drawings without creative efforts.
FIG. 1 is a layered structure diagram of an automated test framework of the present invention;
FIG. 2 is a flow chart of a method for testing an automated test logic device interface according to the present invention;
fig. 3 is a class diagram of the NVMe protocol test library of the logical device interface according to the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that, if directional indications (such as up, down, left, right, front, and back … …) are involved in the embodiment of the present invention, the directional indications are only used to explain the relative positional relationship between the components, the movement situation, and the like in a specific posture (as shown in the drawing), and if the specific posture is changed, the directional indications are changed accordingly.
In addition, if there is a description of "first", "second", etc. in an embodiment of the present invention, the description of "first", "second", etc. is for descriptive purposes only and is not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In addition, technical solutions between various embodiments may be combined with each other, but must be realized by a person skilled in the art, and when the technical solutions are contradictory or cannot be realized, such a combination should not be considered to exist, and is not within the protection scope of the present invention.
The present invention will be described in further detail with reference to examples and drawings, but the present invention is not limited to these examples.
As shown in fig. 1-2, the testing method for automatically testing a logical device interface according to the present invention includes the following steps:
s10, establishing an NVMe protocol test library based on an object-oriented logic device interface;
s20, establishing a test hierarchical structure based on the keyword-driven test automation framework, wherein the hierarchical structure comprises a test case layer, a test resource layer, a test library layer and a test machine tool set;
s21, the test automation framework receives the test execution parameters and matches a test case to be executed in the test case layer according to the test execution parameters;
s30, the test automation framework calls corresponding user keywords in the test resource layer according to the keywords in the test case to be executed;
s40, the test automation framework calls a corresponding test library at a test library layer according to the definition process of the user keywords, wherein the test library at least comprises a built-in library of the test automation framework and a logic equipment interface NVMe protocol test library;
s50, if the built-in library of the test automation framework is called, executing corresponding test process control according to the definition process of the user keywords; if the corresponding test protocol of the logic device interface NVMe protocol test library is called, calling the corresponding test tool in the test machine tool set according to the corresponding test protocol, executing test operation on the tested logic device or the test machine system by the called test tool, and transmitting the test result to the logic device interface NVMe protocol test library;
and the S60 logic equipment interface NVMe protocol test library analyzes the test result, feeds the analyzed test result back to the user keyword, compares the analyzed test result with the expected result in the test case by the user keyword to obtain the test operation completion state, records the test operation completion state in a log, and feeds the test operation completion state back to the test automation framework.
In the embodiment of the invention, the test automation framework is different from the existing NVMe automation program, and the framework is divided into an upper computer and a testing machine which are connected through a network. The universal upper computer is separated from the testing machine strongly related to the platform, when the testing platform is changed, platform transplantation of the whole testing frame can be realized only by transplanting related functions of the testing machine and updating a low-level interface of the upper computer if necessary, and the testing frame does not need to be transplanted integrally; therefore, the reusability of the upper computer and the transplanting efficiency of the test frame platform can be improved. The operating system type of the upper computer can be Wi windows, and the upper computer part comprises a Python-based keyword-driven test automation frame, a test case layer, a test resource layer and a test library layer (comprising a built-in library of the test automation frame and a logical equipment interface NVMe protocol test library developed based on an object-oriented idea); the test machine part comprises a test machine tool set, a test automation frame driven by a keyword based on Python can adopt a Robot Framework (an open source automation test frame written by Python supports the keyword drive, has the advantages of strong expansibility, strong usability, distributed test support and the like), a logic device interface NVMe protocol test library is developed based on an object-oriented idea, and the automatic test of the NVMe protocol is realized by calling and packaging the logic device interface NVMe protocol test library through the Robot Framework. The upper computer part provides two test execution modes: a UI operation front end is provided through a Robot Framework, corresponding tests are executed through modes of checking, tab setting and the like, and relevant execution processes are displayed in real time, wherein the mode is suitable for daily automatic tests; and the other method is used for setting information such as a test case set, tags and the like in a command mode to execute corresponding tests, and the method is suitable for automatic tests in continuous integration. Regardless of the manner in which the test is triggered, upon receipt of the test task: firstly, matching a corresponding test case set or a test case through current configuration, and sequentially starting the execution of the test cases, wherein each specific test case calls specific user keywords in Resource according to keywords in the case, each specific user keyword sequentially calls a built-in library or an NVMe protocol test library of a Robot Framework according to a detailed definition process of the keywords, and executes specific test flow control or test action, and if the NVMe protocol test library is called, a corresponding library function calls a related test instruction in a test machine through a network to execute a specific test action. The testing machine part is provided with a corresponding testing tool, the operating system type is Linux, the testing tool receives a testing instruction sent by the upper computer through a network, and after the specific testing operation is finished through the corresponding tool, an execution result is fed back to the upper computer through the network.
Compared with the manual test in the prior art, the test method can complete the execution of hundreds of test cases within a few minutes, thereby greatly improving the test efficiency and the test reliability. The automatic testing frame adopts a layered structure and an upper computer-testing machine frame, interfaces among all structural layers, the upper computer and the testing machine are clear and do not interfere with each other, the coupling is low, a tabular graphical interface is provided, the automatic development efficiency is improved, and the automatic maintenance cost is reduced.
The S10 specifically includes:
s101 defines: if the method class of each module in the logical device interface NVMe protocol test library is called by the test automation framework, the called method class comprises the following three attributes: defining the use range of the library, defining the version number of the library and defining the help description format of the library; if the attribute of each module in the NVMe protocol test library of the logic device interface is called by the test automation framework, the called attribute is declared in the corresponding method class;
s102, independently developing each module according to function types based on an object-oriented method, wherein each module at least comprises a configuration module, an initialization module, an execution module, an interface module, a judgment module, a format conversion module and a tester calling module.
In the embodiment of the present invention, if a method class of a Robot Framework call module, the corresponding class should include the following three attributes:
the attribute is used for defining the use range of the LIBRARY;
the attribute is used for defining the VERSION number of the LIBRARY;
and ROBOT _ LIBRARY _ DOC _ FORMAT, wherein the attribute is used for defining the help description FORMAT of the LIBRARY.
If the attribute in the corresponding module is called by the Robot Framework, declaring the called attribute in the corresponding module as follows: __ all __ ═ attribute 1, attribute 2, … …, attribute N.
Preferably, each module in the logical device interface NVMe protocol test library at least includes:
the configuration module is used for defining configuration parameters, wherein the configuration parameters at least comprise a tester IP, a tester user name, a tester password, a local working path and a tester working path;
the initialization module is used for finishing the initialization of a local environment and the remote control of the initialization of a test machine environment according to the defined configuration parameters;
the execution module is used for generating specific execution commands, command execution and analysis of command return results according to different command parameters;
the interface module is used for completing the encapsulation of various commands according to the format of the NVMe command and providing a library interface to the outside;
the judging module is used for judging the test operation completion state;
the format conversion module is used for converting and calculating the data format;
and the test machine calling module is used for calling the test tools in the test machine tool set.
In this embodiment of the present invention, the NVMe protocol test library for logical device interface of the present invention includes 7 modules, and the configuration module is VarCfg, and the module is used to define configuration parameters, such as: testing machine IP, testing machine user name, testing machine password, local working path, testing machine working path and other information; the initialization module is Telnet and completes the initialization of the local environment and the test machine environment according to the configuration parameters defined in the VarCfg, and provides the functions of command issuing, file uploading, file downloading and log recording; the execution module is NvmeCmdDemo, provides Demo for the execution of the NVMe command, and has the main functions of: generating specific execution commands, command execution and command return result analysis according to different command parameters; the interface module is an NvmeCommand, completes the encapsulation of various commands according to the format of each NVMe command, and is a main library interface provided for the outside; and the judging module is Check and mainly realizes the function of judging results, such as: judging the execution state of the protocol, comparing data in different formats and the like; the format conversion module is Arithmetic, and mainly realizes related calculation functions such as data format conversion and the like, for example: conversion between hexadecimal character strings and decimal numbers, conversion between binary character strings and decimal numbers, and the like; and the test machine calling module is used for calling related test instructions in the test machine through a library function of the NVMe protocol test library to execute specific test actions, and the test machine feeds back execution results to the upper computer after completing specific test operations through corresponding tools for the received test instructions.
In the embodiment of the present invention, the NVMe protocol test library of the logical device interface of the present invention adopts an object-oriented method, and different modules are divided according to function types, and each module has low coupling degree, high code reuse rate, and low maintenance cost, for example: if the communication interface between the test machine and the test machine is changed, only Telnet needs to be changed to complete related functions, and other codes do not need to be changed; if the nvme command issuing tool is changed, only the NvmeCmdDemo needs to be changed to complete the related functions, and other codes do not need to be changed. In the field of bottom layer software such as other firmware, if the test library is used, the nvmem cmdddemo and nvme command modules are replaced according to the actual application occasion, and other modules properly adjust the method function according to the requirement. Through the NVMe protocol test library, the execution of hundreds of test cases can be completed within a few minutes, the test period is greatly shortened, the test efficiency is improved, meanwhile, the automatic execution avoids human factors in manual test, and the test reliability is improved.
Preferably, the configuration module comprises at least the following attributes: the test machine IP address, the login user name of the test machine, the login password of the test machine, the local work root directory and the work root directory of the test machine.
Preferably, the attribute of the initialization module at least comprises an IP address of the tester, a login user name of the tester, and a login password of the tester; the method for initializing the module at least comprises the following steps: issuing a command to a test machine and acquiring a command execution result; downloading a file from a testing machine; uploading a file to a testing machine; and recording log information.
Preferably, the attributes of the execution module at least include a remote call instance, execution parameters of the NVMe command, and an execution result of the NVMe command; the method class of the execution module at least comprises the steps of generating a specific execution command according to the NVMe command parameter; executing the NVMe command to obtain an execution result; and analyzing the NVMe command execution result.
Preferably, the attributes of the interface module at least comprise a remote call instance, a calculation instance, and an NVMe command sample instance; the method class of the interface module at least comprises: the method comprises the steps of obtaining execution of external declaration information of equipment, setting execution of specified characteristics of the equipment, obtaining specified log information of the equipment, formatting the equipment according to an NVMe command, enabling execution of firmware of a specified slot position in the equipment, downloading the firmware to a specified slot position of the equipment, creating an I/O command application submission queue, deleting the I/O command application submission queue, creating an I/O command completion queue, deleting the I/O command completion queue, performing write operation of specified size on the specified position of the equipment, performing read operation of specified size on the specified position of the equipment, performing data management of specified size on the specified position of the equipment, and triggering execution of flushing internal cache of the equipment.
Preferably, the format conversion module at least comprises the following method classes: converting the binary string into a decimal number, converting the hexadecimal string into a binary string, converting the decimal number into the hexadecimal string, expanding the length of the string, and obtaining the specified bit value.
Preferably, the attribute of the tester call module at least comprises a remote call instance; the method class of the test machine calling module at least comprises the following steps: resetting a logical device on a test machine, scanning a logical device on a test machine, creating a directory on a test machine, creating a file on a test machine, deleting a file on a test machine, aligning data on a test machine, compressing a file on a test machine, decompressing a file on a test machine.
Preferably, the attribute of the judgment module at least comprises a calculation instance; the method class of the judging module at least comprises the following steps: checking the test operation completion state, checking whether the two groups of character strings are consistent, checking whether the two groups of numerical values are consistent, checking whether corresponding bits in the two groups of numerical values are consistent, and checking whether a difference value in the two groups of numerical values is a specified value.
An actual operation example:
firstly, constructing an upper computer environment:
1) installing Python: running an installation program of the Python 2.7.364 bit, adopting default setting for installation, and after the installation is finished, adding a PATH C of \ Python27 and a PATH C of \ Python27\ Scripts in a system environment variable PATH;
2) installing a Robot Framework: decompressing an installation package of the robotframe-3.0, entering a decompression directory, and executing an installation command python setup.
3) Installing wxPython: the wxPython 2.864-bit installation program is run and installed by adopting default settings
4) Installing robotframe-ride: decompressing an installation package of the robotframe-ride-1.5.2.1, entering a decompression directory, and executing an installation command python setup.
5) Installation of pycrypto: operating a pycrypt-2.664 bit installation program, and adopting default setting for installation;
6) installation of paramiko: decompressing the installation package of paramiko-1.7.7.1, entering a decompressed directory, and executing an installation command python setup.
7) And (3) installation confirmation:
Figure GDA0003557622780000082
run the command python ide. py under CMD, the RIDE graphical interface may appear, indicating success.
Figure GDA0003557622780000083
And (3) running a command python under the CMD, inputting a command import paramiko in an appearing interface, and reporting no error information to show success.
Second, test machine environment construction
1) Installing nvme-cli-master: decompressing the nvme-cli-master installation package, entering a decompression directory, and executing an installation command make install under a command line;
2) and (3) installation confirmation: and executing the command nvme-h under the command line, and if the command execution help information of the nvme-cli-master is displayed, indicating success.
Development of three-dimensional network video and video-network-management-and-video-Me (network video and video) protocol test library
1) Description of test development library:
Figure GDA0003557622780000081
if the method in the module needs to be called by the Robot Framework, the corresponding class should include the following three attributes:
the attribute is used for defining the use range of the LIBRARY;
check _ LIBRARY _ VERSION, the attribute used to define the VERSION number of the LIBRARY;
and v. rolling _ LIBRARY _ DOC _ FORMAT, which is used to define the help specification FORMAT of the LIBRARY.
Figure GDA0003557622780000092
If the attribute in the module needs to be called by the Robot frame, declaring the attribute to be called in the corresponding module as follows: __ all __ ═ Attribute 1, Attribute 2, … …, Attribute N]。
2) Telnet module development:
Figure GDA0003557622780000093
the module calls a paramiko library to realize the remote control function and the initialization function of the tester;
Figure GDA0003557622780000094
the main attributes of the module class include:
v m _ sIp, the attribute being the IP address of the tester;
the attribute is the login user name of the test machine;
v m _ sPw, the attribute is the login password of the tester;
Figure GDA0003557622780000098
the main method of the module class comprises the following steps:
the method is used for issuing a command to a test machine and acquiring a command execution result;
v. fnLoadFile (), which is used to download files from a tester;
the method comprises the following steps of (1) carrying out check mark on a test machine;
and v nRecordLog (), which is used for recording log information.
3) Development of an NvmeCmdDemo module:
Figure GDA00035576227800000913
the module realizes the execution template of the nvme command by packaging and remotely calling the nvme-cli-master tool.
Figure GDA00035576227800000914
The main attributes of the module class include:
v m _ hTelnet, which is a Telnet instance;
v, m _ lsCmdArgv, which is an execution parameter of the NVMe command;
and v m _ dcResult, which is the result of execution of the NVMe command.
Figure GDA00035576227800000918
The main method of the module class comprises the following steps:
v. fnCreateMedString (), which is used for generating a specific execution command according to NVMe command parameters;
the method is used for executing the NVMe command to obtain an execution result;
and f nAnalyzeResult (), and the method is used for analyzing the NVMe command execution result.
4) Developing an NvmeCommand module:
Figure GDA0003557622780000103
the module executes the template through the nvme command of the vmeCmdDemo, and realizes the aimEncapsulation of specific nvme commands.
Figure GDA0003557622780000104
The main attributes of the module class include:
v m _ hTelnet, which is a Telnet instance;
m _ hAlthmetric, which is an Arithmetric instance;
vm _ hNvmeCmdDemo, which is an instance of nvmem cmdfdemo.
Figure GDA0003557622780000108
The main method of the module class comprises the following steps:
v √ fnIdentify (), which is used for the execution of an Identify command;
vnsetfeatures () which is used for the execution of Set Features commands;
v. fngetfeatures () for the execution of Get Features commands;
v. fnGetLog (), which is used for executing Get Log Page command;
v/fnnformatnvm (), which is used for the execution of the Format NVM command;
v. fnFwCommit (), which is used for the execution of Firmware Commit commands;
v. fnFwDownload (), which is used for the execution of Firmware Image Download command;
v. fnCreateIOSQ (), which is used for the execution of the Create I/O Transmission Queue command;
vndeleteiiosq (), which is used for the execution of Delete I/O Submission Queue command;
vncreateocq (), which is used for the execution of the Create I/O Completion Queue command;
check for execution of Delete I/O Completion Queue command, √ fnDeleteIOCQ (), this method is used for execution of Delete I/O Completion Queue command;
v √ fnWrite (), a method for execution of a Write command;
vnread (), which is used for the execution of the Read command;
vndatasetmanagement (), which is used for the execution of a Dataset Management command;
v. fnnlush () for the execution of the Flush command.
5) Arithmatic module development:
Figure GDA0003557622780000112
the module realizes related calculation functions such as data format conversion and the like.
Figure GDA0003557622780000113
The module class contains no attributes.
Figure GDA0003557622780000114
The main method of the module class comprises the following steps:
v. fnbinarystrtont (), a method for converting binary strings to decimal numbers;
vnhexstrtont (), which is a method for converting a hexadecimal string into decimal digits;
v. fnhexstrtobinanystr (), which is used to convert hexadecimal strings to binary strings;
vninttohexstr (), which is used to convert decimal numbers into hexadecimal strings;
v. fnExpandStr (), which is used to extend the length of a string;
and v fnGetBit (), which is used to obtain the value of the specified bit.
6) Equipment module development:
Figure GDA00035576227800001111
the module remotely calls a system command of the testing machine to realize the relevant functions of the testing machine such as the current operation and the like.
Figure GDA00035576227800001112
The main attributes of the module class include:
vm _ hTelnet, which is an instance of Telnet.
Figure GDA00035576227800001114
The main method of the module class comprises the following steps:
the method is used for carrying out hard reset on the NVMe equipment on a testing machine;
v. fnResacn () used to scan NVMe devices on a tester;
v. fnMkTestDir (), which is used to create a catalog on a test machine;
check File (), this method is used for creating the file on the tester;
check file (), which is used to delete files on a test machine;
v. fnDiff (), which is used to compare data on a test machine;
v. fnTarTestFile (), which is used to compress files on a tester;
v. fnUnTarTestFile (), which is used to decompress files on a tester.
7) And (3) development of a Check module:
Figure GDA0003557622780000123
the module implements a result determination function.
Figure GDA0003557622780000124
The main attributes of the module class include:
m _ hAlthmetric, an Arithmetric instance
Figure GDA0003557622780000126
The main method of the module class comprises the following steps:
v √ fnCheckNvmeCmdStatus (), a method for checking the return status of NVMe command execution;
check whether two groups of character strings are consistent;
check the two sets of values for consistency;
check whether a bit in the two groups of values is consistent;
v. fncheckcompany (), which is used to check whether the difference in the two sets of values is the specified value.
8) Development of VarCfg module:
Figure GDA00035576227800001212
the main attributes of the module class include:
v m _ sIp, which is used to define the IP address of the tester;
the attribute is used for defining the login user name of the tester;
v m _ sPw, the attribute is used for defining the login password of the tester;
the attribute is used for defining a local work root directory;
the attribute is used for defining a work root directory on the testing machine;
Figure GDA00035576227800001218
the module class does not include methods.
Fourth, automatic test case development
(1) And opening a graphical interface RIDE of the Robot framework, building a Resource pool, such as a Resource _ NVMe name, and then importing the NVMe test library.
(2) And (2) newly building user keywords in the resource _ NVMe resource pool newly built in the step (1), and calling a built-in library function or an NVMe test library to finish packaging the user keywords.
(3) And (3) creating a test set (Suite), such as naming Admin _ Command, then importing the resource _ nvme resource pool created in the step (1) and the step (2).
(4) And (4) creating a use Case (Case) under the Admin _ Command use Case set in the step (3), and calling a user keyword in the resource _ nvme resource to realize specific use Case content.
Fifthly, automatic test case execution
(1) And executing by using a UI interface RIDE, checking a test case to be executed or screening a case with a specified tag, and clicking to execute.
(2) Using the command line to perform: the test set to be executed and the tag to be screened are configured using the command parameters, and then executed using the commands as follows: bat-i designates tag designation test set, e.g., pybot bat-i ci 01_ Admin _ command.
(3) And checking the test result and checking the execution result in the log file.
Sixthly, analyzing the automatic execution process and automatically executing the process as shown in figure 2. The process comprises the following steps:
1) the Robot Framework obtains the test execution parameters through a UI (user interface) or a command line, matches a test case set to be executed according to the test execution parameters, creates an execution task, and executes each test case in sequence.
2) The Robot Framework calls corresponding user keywords according to the definition of each test case, and the defined main user keywords comprise:
check for Create I/O Completion Queue command (Create I/O command Completion Queue);
check for Create I/O dispatch Queue command (Create I/O command application Queue);
a square root of Delete _ IO _ CQ for testing a Delete I/O Completion Queue command (Delete I/O command Completion Queue);
a square root of Delete _ IO _ SQ for testing a Delete I/O Transmission Queue command (Delete I/O command application Queue);
fw _ Download for testing of Firmware Image Download command (downloading Firmware to a designated slot of the device);
fw _ Commit for testing of Firmware Commit commands (Firmware that enables a slot in a device);
set _ Features for testing of Set Features commands (setting specified characteristics of the device);
check for check Features commands (Get specified characteristics of the device);
a check mark GetLogPage for testing a Get Log Page command (acquiring specified Log information of the device);
the Format _ NVM is used for testing a Format NVM command (formatting equipment);
the ID is used for testing an ID command (acquiring external declaration information of the equipment);
check for a Write command (a Write operation of a specified size to a specified location of the device);
read, which is used for testing a Read command (reading a specified position of the equipment by a specified size);
the method comprises the following steps of (1) checking a Flush command (for triggering equipment to brush down an internal cache);
davastmng for the test of Dataset Management command.
3) And the Robot Framework calls the built-in library or the NVMe protocol test library according to the definition of the specific user keyword.
The called built-in library functions include:
check build, and realize the main flow of the user keyword using RunKeyword, Variables, and Control in the library
Check, and realize String-related operations using Line, check in the library
Libraries for realizing complex data structures using List and Dictionary
The operating system realizes local operation on the upper computer by utilizing the Env, File and Directory in the library
The called NVMe protocol test library functions comprise:
the module is utilized to realize the remote issuing of specific NVMe protocol commands and the acquisition and analysis of execution results;
the check mark device is used for realizing remote operation of the environment of the testing machine and acquisition and analysis of operation results;
the Telnet is used for realizing remote control on the testing machine;
check, which is used for detecting and judging the test result;
and V, VarCfg, and calling the global configuration parameters by using the module.
4) The NVMe protocol test library calls a tool set on the tester through a network to realize specific operation on the NVMe Disk or the tester environment and acquire an operation result. The invoked tools include:
the tool is used for issuing specific protocol commands to the NVMe Disk;
the star is used for realizing the compression and the decompression of the file;
the tool is used for realizing conventional read-write operation on the NVMe Disk;
the check value is set, and the comparison of file/data consistency is realized by utilizing the tool;
the tool is used for realizing the writing operation of partial system configuration;
the hook rm realizes the deletion operation of the file by using the tool;
the tool is used for acquiring conventional information of the NVMe Disk in the system;
the tool is used for unloading the drive in the system;
the tool is used for loading the drive in the system;
and v mkdir, and the creation of the folder is realized by utilizing the tool.
5) The tool completes the specific operation on the NVMe Disk or tester system.
6) The NVMe Disk or system returns the operation results to the tool.
7) And the tool transmits the operation result to the NVMe protocol test library through a network.
8) And the NVMe protocol test library completes the analysis of the operation result, calls specific functions in the Check module according to the user keywords, detects the analyzed operation result, judges whether the operation is successful or failed, and records a log.
9) And the user keywords feed back the execution completion information to the test case.
10) And the test case feeds back the execution completion information to the Robot Framework to execute the task.
And judging whether the remaining test cases exist in the Robot Framework execution task, if so, continuing to execute the remaining test cases, and otherwise, ending the test.
Compared with the prior art, the invention has the following advantages and technical effects:
1) compared with the existing manual NVMe test, the NVMe protocol test library can complete the execution of hundreds of test cases within a few minutes, greatly shortens the test period, improves the test efficiency, avoids human factors in the manual test through automatic execution, and improves the test reliability.
2) Compared with the existing NVMe automatic test program, the automatic test framework adopts a layered structure and an upper computer-tester framework, the layers and the upper computer and the tester do not interfere with each other, and the code reuse rate is improved; meanwhile, a tabular graphical interface is provided for maintaining the use case, so that the maintenance cost is reduced, and the maintenance efficiency is improved.
3) The method and the template for developing the underlying software test libraries such as firmware based on the Robot Framework adopt the idea of facing objects, are divided into different modules according to function types, are close to the actual situation, have low coupling degree, and can seamlessly multiplex the basic class library to the test of other products or functions, thereby improving the code reuse rate and reducing the transplanting cost and the maintenance cost.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention, and all modifications and equivalents of the present invention, which are made by the contents of the present specification and the accompanying drawings, or directly/indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A test method for automatically testing a logical device interface is characterized by comprising the following steps:
s10, establishing an NVMe protocol test library based on an object-oriented logic device interface;
s20, establishing a test hierarchical structure based on the keyword-driven test automation framework, wherein the hierarchical structure comprises a test case layer, a test resource layer, a test library layer and a test machine tool set;
s21, the test automation framework receives the test execution parameters and matches a test case to be executed in the test case layer according to the test execution parameters;
s30, the test automation framework calls corresponding user keywords in the test resource layer according to the keywords in the test case to be executed;
s40, the test automation framework calls a corresponding test library at a test library layer according to the definition process of the user keywords, wherein the test library at least comprises a built-in library of the test automation framework and a logic equipment interface NVMe protocol test library;
s50, if the built-in library of the test automation framework is called, executing corresponding test process control according to the definition process of the user keywords; if the corresponding test protocol of the logic device interface NVMe protocol test library is called, calling the corresponding test tool in the test machine tool set according to the corresponding test protocol, executing test operation on the tested logic device or the test machine system by the called test tool, and transmitting the test result to the logic device interface NVMe protocol test library;
and the S60 logic equipment interface NVMe protocol test library analyzes the test result, feeds the analyzed test result back to the user keyword, compares the analyzed test result with the expected result in the test case by the user keyword to obtain the test operation completion state, records the test operation completion state in a log, and feeds the test operation completion state back to the test automation framework.
2. The method for testing an interface of an automated test logic device according to claim 1, wherein the S10 specifically includes:
s101 defines: if the method class of each module in the logical device interface NVMe protocol test library is called by the test automation framework, the called method class comprises the following three attributes: defining the use range of the library, defining the version number of the library and defining the help description format of the library; if the attribute of each module in the NVMe protocol test library of the logic device interface is called by the test automation framework, the called attribute is declared in the corresponding module;
s102, independently developing each module according to function types based on an object-oriented method, wherein each module at least comprises a configuration module, an initialization module, an execution module, an interface module, a judgment module, a format conversion module and a tester calling module.
3. The method for testing the automatic test logic device interface according to claim 2, wherein each module in the NVMe protocol test library for the logic device interface at least comprises:
the configuration module is used for defining NVMe protocol test library parameters;
the initialization module is used for completing initialization of a remote control interface, initialization of a local environment and initialization of a test machine environment according to the defined NVMe protocol test library parameters;
the execution module is used for generating specific NVMe execution commands, NVMe command execution and command return result analysis according to different command parameters;
the interface module is used for completing the encapsulation of various commands according to the format of the NVMe command and providing a library interface to the outside;
the judging module is used for judging the test operation completion state;
the format conversion module is used for converting and calculating the data format;
and the test machine calling module is used for calling the test tools in the test machine system self-contained tool set.
4. The method for automated test logic device interface testing of claim 2, wherein the configuration module includes at least the following attributes: the test machine IP address, the login user name of the test machine, the login password of the test machine, the local work root directory and the work root directory of the test machine.
5. The method for automatically testing logical device interfaces of claim 2, wherein the attributes of the initialization module at least include an IP address of the tester, a login username of the tester, a login password of the tester; the method class of the initialization module at least comprises: issuing a command to a test machine and acquiring a command execution result; downloading a file from a testing machine; uploading a file to a testing machine; and recording log information.
6. The method for testing an automated test logic device interface according to claim 2, wherein the attributes of the execution module at least include a remote call instance, execution parameters of the NVMe command, and execution results of the NVMe command; the method class of the execution module at least comprises the steps of generating a specific execution command according to the NVMe command parameter; executing the NVMe command to obtain an execution result; and analyzing the NVMe command execution result.
7. The method for automated test logic device interface testing of claim 2, wherein the attributes of the interface module include at least a remote call instance, a compute instance, an NVMe command sample instance; the method class of the interface module at least comprises: the method comprises the steps of obtaining execution of external declaration information of equipment, setting execution of specified characteristics of the equipment, obtaining specified log information of the equipment, formatting the equipment according to an NVMe command, enabling execution of firmware of a specified slot position in the equipment, downloading the firmware to a specified slot position of the equipment, creating an I/O command application submission queue, deleting the I/O command application submission queue, creating an I/O command completion queue, deleting the I/O command completion queue, performing write operation of specified size on the specified position of the equipment, performing read operation of specified size on the specified position of the equipment, performing data management of specified size on the specified position of the equipment, and triggering execution of flushing internal cache of the equipment.
8. The method for automated test logic device interface testing of claim 2, wherein the format conversion module comprises at least the following method classes: converting the binary string into a decimal number, converting the hexadecimal string into a binary string, converting the decimal number into the hexadecimal string, expanding the length of the string, and acquiring the specified bit value.
9. The method for automated test logic device interface testing of claim 2, wherein the attributes of the tester call module include at least a remote call instance; the method class of the test machine calling module at least comprises the following steps: resetting a logical device on a test machine, scanning a logical device on a test machine, creating a directory on a test machine, creating a file on a test machine, deleting a file on a test machine, aligning data on a test machine, compressing a file on a test machine, decompressing a file on a test machine.
10. The method for automated testing of logical device interfaces of claim 2, wherein the attributes of the judgment module include at least a computation instance; the method class of the judging module at least comprises the following steps: checking the test operation completion state, checking whether the two groups of character strings are consistent, checking whether the two groups of numerical values are consistent, checking whether corresponding bits in the two groups of numerical values are consistent, and checking whether a difference value in the two groups of numerical values is a specified value.
CN201911110550.8A 2019-11-14 2019-11-14 Test method for automatically testing logical device interface Active CN110825647B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911110550.8A CN110825647B (en) 2019-11-14 2019-11-14 Test method for automatically testing logical device interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911110550.8A CN110825647B (en) 2019-11-14 2019-11-14 Test method for automatically testing logical device interface

Publications (2)

Publication Number Publication Date
CN110825647A CN110825647A (en) 2020-02-21
CN110825647B true CN110825647B (en) 2022-05-13

Family

ID=69554871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911110550.8A Active CN110825647B (en) 2019-11-14 2019-11-14 Test method for automatically testing logical device interface

Country Status (1)

Country Link
CN (1) CN110825647B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813387A (en) * 2020-07-10 2020-10-23 斑马网络技术有限公司 Testing device, construction method thereof and automatic testing method
CN112187580B (en) * 2020-09-29 2022-08-12 苏州迈科网络安全技术股份有限公司 Automatic testing framework and testing method for gateway plug-in
CN112148273A (en) * 2020-10-28 2020-12-29 太仓市同维电子有限公司 Automation script modular design method based on Robot Framework
CN112711406A (en) * 2020-12-30 2021-04-27 西安精密机械研究所 LabVIEW-based test flow editing and analyzing and thread interaction method
CN113190439B (en) * 2021-04-22 2024-03-22 北京百度网讯科技有限公司 Execution method and device of test case and electronic equipment
CN113448783B (en) * 2021-05-20 2023-01-06 山东英信计算机技术有限公司 Hard reset type data testing method and device
CN113342590B (en) * 2021-08-06 2021-10-29 苏州浪潮智能科技有限公司 NVMe device debugging function implementation method, device, equipment and storage medium
CN113835419B (en) * 2021-11-29 2022-02-25 湖南中车时代通信信号有限公司 Test method and system of train control equipment and storage medium
CN114338489B (en) * 2021-12-29 2024-03-15 深圳市捷视飞通科技股份有限公司 Automatic test method, device, equipment and storage medium for multimedia conference system
CN115509544B (en) * 2022-11-22 2023-03-21 成都佰维存储科技有限公司 NVME continuous integration method and device, readable storage medium and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421004A (en) * 1992-09-24 1995-05-30 International Business Machines Corporation Hierarchical testing environment
CN106095677A (en) * 2016-06-08 2016-11-09 上海爱数信息技术股份有限公司 The RESTful Webservice automatic interface testing method realized based on Robot Framework
CN106383784A (en) * 2016-09-20 2017-02-08 上海爱数信息技术股份有限公司 Software automated test method and system
CN107678949A (en) * 2017-09-20 2018-02-09 福建升腾资讯有限公司 Realize the automated testing method of embedded device different communication mode
CN109408357A (en) * 2017-12-04 2019-03-01 深圳市珍爱网信息技术有限公司 A kind of automatic interface testing method and device
CN110109843A (en) * 2019-07-08 2019-08-09 四川驹马科技有限公司 Automatic test cases construction method and system based on Robot Framework

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110232028A (en) * 2019-06-24 2019-09-13 湖南国科微电子股份有限公司 A kind of test exemple automation operation method and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421004A (en) * 1992-09-24 1995-05-30 International Business Machines Corporation Hierarchical testing environment
CN106095677A (en) * 2016-06-08 2016-11-09 上海爱数信息技术股份有限公司 The RESTful Webservice automatic interface testing method realized based on Robot Framework
CN106383784A (en) * 2016-09-20 2017-02-08 上海爱数信息技术股份有限公司 Software automated test method and system
CN107678949A (en) * 2017-09-20 2018-02-09 福建升腾资讯有限公司 Realize the automated testing method of embedded device different communication mode
CN109408357A (en) * 2017-12-04 2019-03-01 深圳市珍爱网信息技术有限公司 A kind of automatic interface testing method and device
CN110109843A (en) * 2019-07-08 2019-08-09 四川驹马科技有限公司 Automatic test cases construction method and system based on Robot Framework

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于ARINC429接口板的嵌入式底层软件测试平台设计;潘健鸿;《计算机测量与控制》;20180325(第03期);第100-103页 *

Also Published As

Publication number Publication date
CN110825647A (en) 2020-02-21

Similar Documents

Publication Publication Date Title
CN110825647B (en) Test method for automatically testing logical device interface
CN108304201B (en) Object updating method, device and equipment
US8621419B2 (en) Automating the life cycle of a distributed computing application
US7770151B2 (en) Automatic generation of solution deployment descriptors
US7526759B2 (en) Debugging prototyped system solutions in solution builder wizard environment
US8434058B1 (en) Integrated system and method for validating the functionality and performance of software applications
US7937698B2 (en) Extensible mechanism for automatically migrating resource adapter components in a development environment
US20050289538A1 (en) Deploying an application software on a virtual deployment target
US20110307865A1 (en) User interface inventory
CN103164328A (en) Method and device and system for regression testing of service function
CN109426613B (en) Method for retrieving debugging data in UEFI and computer system thereof
CN1755645A (en) System and method for selecting test case execution behaviors for reproducible test automation
US9996454B1 (en) Exemplary testing of software
CN107220172A (en) Automatic user interface is carried out by model-driven methodologies(UI)The method and system of test
US20110209144A1 (en) Application runtime expert for deployment of an application on multiple computer systems
US20060248466A1 (en) Integration of multiple programming/scripting languages into one program unit
CN112068852B (en) Method, system, equipment and medium for installing open-source software based on domestic server
CN112230988A (en) Interface document generation method and device, computer equipment and storage medium
CN112988165A (en) Kubernetes-based interactive modeling method and device, electronic equipment and storage medium
CN116436794A (en) OPC real-time data integration and control method based on Internet of things model
US10990264B2 (en) User interface development in a transcompiling environment
CN109522174B (en) Method, device, terminal and storage medium for controlling adb enabling
WO2021033110A1 (en) System and method for programming devices
TWI813962B (en) System and method for deploy and evolve integrated monitoring of enterprise cloud and network and computer readable medium
US20170249176A1 (en) Systems and methods for configuration knowledge search

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240228

Address after: No. 19 Wangqiao Village, Jianming Village, Letu Town, Mengcheng County, Bozhou City, Anhui Province, 236000

Patentee after: Wang Xibao

Country or region after: China

Address before: 511458 room 805, No. 80, Jingang Avenue, Nansha District, Guangzhou City, Guangdong Province (office use only)

Patentee before: Guangdong Huasheng Data Solid State Storage Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right