Methods, computer devices, and user interfaces for automated testing

By integrating multiple testing tools and software through automated testing programs on computer devices, automated testing is achieved, solving the problem of low testing efficiency for storage devices and improving production efficiency and accuracy.

CN114530191BActive Publication Date: 2025-10-31SILICON MOTION INC
2 Cites 0 Cited by

Patent Information

Application Number
CN202210028957.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-11-14
Publication Date
2025-10-31
Estimated Expiration
2038-11-14

Smart Images

  • Figure CN114530191B_ABST
    Figure CN114530191B_ABST
Patent Text Reader

Abstract

This invention discloses a method for automating the testing of multiple storage devices under test (SDDs). The multiple SDDs are connected to a user interface of a computer device via an external connection port. The method includes: providing a user interface that allows a user to input setting parameters for executing test software to test the multiple SDDs; automatically setting the field information required by the test software to perform the test based on the setting parameters; automatically executing the test software to test the multiple SDDs separately based on the field information; and automatically storing the test results completed by the test software and displaying the test results on the user interface to notify the user. This method offers significant convenience for users or operators and can greatly improve the efficiency of mass production testing processes, reduce waiting time, and enhance the accuracy of production line testing operations.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention application filed on November 14, 2018, with application number 201811352745.9 and entitled "Method for Automated Testing, Computer Device and User Interface". Technical Field

[0002] This application relates to an automated testing mechanism, and more particularly to a method, computer device, and user interface for automating the testing of multiple storage devices under test. Background Technology

[0003] Generally, factories currently mass-produce multiple storage devices (such as solid-state drives, SSDs). Their traditional verification and testing processes involve using various standardized testing software tools that are recognized / certified on the market. These software tools operate independently of each other. Therefore, factory operators need to manually open and run each software tool one by one to perform different tests. Each time a software tool is run, only one storage device can be tested. Furthermore, operators need to manually click and set the relevant test parameters and fields each time a software tool is run. After each test, operators also need to manually save the test results and check whether the storage device passed the test. This time-consuming testing method is not in line with the interests of today's high-efficiency production. Summary of the Invention

[0004] Therefore, one of the purposes of this application is to disclose a program / method and corresponding apparatus that can automatically start / execute / set different test tool software to perform automated testing on multiple different storage devices, so as to solve the problems of the prior art.

[0005] According to an embodiment of this application, a method for automated testing of multiple solid-state drive (SSD) storage devices under test is disclosed. The multiple SSD storage devices under test are connected to a computer device via a first external connection port and a second external connection port, respectively. The first external connection port is different from the second external connection port. The computer device has a user interface. The automated testing is performed by the computer device sending multiple test signals, one by one or simultaneously, to multiple flash memory controllers of the multiple SSD storage devices under test connected to the first external connection port and the second external connection port, respectively. The multiple flash memory controllers then perform corresponding tests on multiple flash memory chips of the multiple SSD storage devices under test according to the received multiple test signals, so as to obtain and record multiple test results of the multiple SSD storage devices under test. The multiple flash memory controllers report the multiple test results to the computer device via the first external connection port and the second external connection port, so that the computer device stores the multiple test results in a storage circuit of the computer device. The method includes: providing a user interface, allowing a user to input setting parameters for executing testing tool software to perform tests on a plurality of solid-state drive storage devices under test; automatically setting field information required by the testing tool software to perform tests based on the setting parameters; automatically executing the testing tool software to perform tests on the plurality of solid-state drive storage devices under test based on the field information; and automatically storing the test results of the testing tool software completing the tests and displaying the test results on the user interface to notify the user. The step of automatically executing the testing tool software to perform tests on the plurality of solid-state drive storage devices under test based on the field information includes: executing specific program code to identify access control rights of objects required to initiate the testing work of the testing tool software; and initiating the testing work of the testing tool software based on the access control rights of the objects.

[0006] According to an embodiment of this application, a computer device is also disclosed for automatically testing multiple solid-state drive (SSD) storage devices under test. The multiple SSD storage devices under test are connected to the computer device via a first external connection port and a second external connection port, respectively. The first external connection port is different from the second external connection port. The computer device has a user interface. The automated testing is performed by the computer device sending multiple test signals, one by one or simultaneously, to multiple flash memory controllers of the multiple SSD storage devices connected to the first and second external connection ports. The multiple flash memory controllers then perform corresponding tests on multiple flash memory chips of the multiple SSD storage devices based on the received test signals, thereby obtaining and recording multiple test results of the multiple SSD storage devices. The multiple flash memory controllers then report the multiple test results back to the computer device via the first and second external connection ports, causing the computer device to store the multiple test results in its storage circuitry. The computer device includes: a user interface allowing a user to input setting parameters for executing test tool software to perform tests on the plurality of solid-state drive storage devices under test; a storage circuit for storing specific program code for performing the automated test; and a processor coupled to the storage circuit and the user interface for reading the specific program code from the storage circuit and executing the specific program code: automatically setting the field information required by the test tool software to perform the test work according to the setting parameters; automatically executing the test tool software to perform the test work on the plurality of solid-state drive storage devices under test according to the field information; and automatically storing the test results of the test tool software completing the test work and displaying the test results on the user interface to notify the user. The processor executes the specific program code to: identify access control rights of objects required to initiate the test work of the test tool software; and initiate the test work of the test tool software according to the access control rights of the objects. Attached Figure Description

[0007] Figure 1 This is a schematic diagram of an apparatus for performing automated testing using embodiments of this application.

[0008] Figure 2 This is a schematic diagram illustrating screen examples of items that a user can operate and set on the user interface of a computer device when applying the method flow of this application to the computer device.

[0009] Figure 3This is an example diagram illustrating an automated testing process that initiates the execution of a test tool software or a test tool software program entity in accordance with the embodiments of this application.

[0010] The reference numerals in the attached figures are explained as follows:

[0011] 100 Computer devices

[0012] 101 processor

[0013] 102 Storage Circuit

[0014] 103 User Interface

[0015] 104A Bridge

[0016] 104B and 104C hubs

[0017] 105A, 105B, 105C Solid State Drive Storage Devices

[0018] 106A, 106B, 106C Flash Controllers

[0019] 107A, 107B, and 107C flash memory chips

[0020] 200 User Interface Screen

[0021] The operation areas on the screen are 205, 210, 215, 220, 225, and 230. Detailed Implementation

[0022] This application aims to disclose an automated testing program and method with artificial intelligence. The automated testing program integrates and is compatible with commonly used or all possible standardized testing tools through a specific program code / software package. Through this automated testing program, users or factory operators only need to manually set one or more testing tools to be executed, which storage devices to be tested (selecting which storage devices as the storage devices under test) through a user interface of a computer device, whether it is single-port sequential testing or multi-port simultaneous testing, and / or other related or commonly used one or more sets of setting parameters. Subsequently, the automated testing program can automatically start and execute the different testing tools required, automatically test the storage devices under test, automatically select sequential or simultaneous testing, automatically set the test parameters of different testing tools, and automatically complete the different test tasks of different testing tools, etc.

[0023] Furthermore, the automated testing program of this application can also enable the same testing software to automatically and repeatedly test one or more storage devices. Therefore, it offers great convenience to users or operators, and for factory production line operations, it can significantly improve the efficiency of mass production testing processes, save waiting time, and improve the accuracy of production line testing operations.

[0024] Please refer to Figure 1 , Figure 1 This is a schematic diagram of an apparatus for automated testing using embodiments of this application. Figure 1 As shown, the automated testing program of this application is executed on a computer device 100. The computer device 100 is, for example, a computer device equipped with a window operating system software program, such as Microsoft's Windows 7 or Windows 10, Apple's Mac OS, or a window system integrated with an operating system; the type and version of the window operating system are not limited by this application. In addition, the computer device 100 includes a processor 101, such as a central processing unit, a storage circuit 102, such as a memory, and a user interface 103.

[0025] The automated testing program method flow of the embodiments of this application can be implemented as a specific program code with artificial intelligence and packaged in a software package. The software package can be downloaded via a network and stored in the storage circuit 102, so that the processor 110 can read and execute the specific program code in the software package. Alternatively, in other embodiments, the software package can be stored in a portable storage device. By connecting the portable storage device to the computer device 100, the processor 110 can read and execute the specific program code in the software package.

[0026] In addition, the software package includes multiple testing tool software programs, some of which may be install-free (i.e., directly executable, installation-free testing tool software programs) or programs that require installation to run. For example, these testing tool software programs may include a solid-state drive performance testing tool software program (e.g., AS SSD Benchmark software program), a hard drive testing tool software program (e.g., CrystalDiskInfo software program), a hard drive testing and repair tool software program (e.g., HDTunePro software program), a burn-in testing tool software program (e.g., BurnInTest software program), a read / write speed testing tool software program (H2TestW software program), a test tool software program for creating hard drive slots (CreatePartition software program), and / or a test tool software program for deleting hard drive slots (DeletePartition software program), etc. The testing tool software items may be multiple different software program items, which is not a limitation of this application. For example, some testing software does not require hard drive slots during execution. The automated testing program of this application can first execute the testing software that deletes hard drive slots, removing the previously planned slot information. After the testing software that does not require slots completes its execution, it can then automatically execute the testing software that creates hard drive slots to restore the slot information. Furthermore, for some testing software that requires hard drive slots during execution, the automated testing program of this application can also first execute the testing software that creates hard drive slots, generating slot information for multiple storage devices, so that the testing software that requires slots can be executed automatically and smoothly later.

[0027] Furthermore, the computer device 100 can be connected to multiple external storage devices to be tested via one or more connection ports, such as... Figure 1 The solid-state drive (SSD) storage devices 105A-105C shown may be other flash memory devices, but are not limited thereto. Furthermore, an SSD storage device may include, for example, a flash memory controller and at least one flash memory chip, such as a NAND flash memory chip or a NOR flash memory chip, for example... Figure 1The flash memory controllers 106A-106C and flash memory chips 107A-107C are shown. These flash memory controllers perform error checking / correction (ECC), wear leveling, bad block mapping, cache control, garbage collection, encryption, and read / write / erase of storage pages or blocks of the flash memory chip. Furthermore, when the processor 101 of the computer device 100 executes test tool software to test one or more solid-state drive (SSD) storage devices, it sends one or more corresponding test signals to the respective flash memory controllers of the one or more SSD storage devices through one or more external connection ports of the computer device 100. For example, if the processor 101 executes read / write test software (but not limited to this), one or more respective flash memory controllers will receive the corresponding read / write test signals, then perform multiple read / write operations on their respective flash memory chips and record the test results. Afterwards, these flash memory controllers report these test results to the processor 101 of the computer device 100 through the aforementioned external connection ports. Figure 1 As shown, the first connection port is, for example, a USB interface, and is connected to the first storage device 105A to be tested via a USB-to-SATA bridge interface 104. The slot of the storage device 105A is, for example, slot D. In addition, the second connection port is, for example, a USB interface, and is connected to multiple storage devices under test via multiple USB hubs 104B and 104C. For example, the slot of the second storage device 105B to be tested is slot E, the slot of the third storage device 105C to be tested is slot F, and so on.

[0028] Users or operators can select or set one or more test tool software programs through a user interface of computer device 100 to perform automated testing on multiple selected storage devices to be tested sequentially and / or simultaneously, automatically generate test results, and store / display them. Compared with existing technical solutions that all use manual operation for testing, the method of this application can save users a considerable amount of time and improve the mass production efficiency of the production plant.

[0029] Please refer to Figure 2 , Figure 2 This is a schematic diagram illustrating examples of screens showing items that a user can operate and set on the user interface 103 of the computer device 100 when the method and process of this application are applied to the computer device 100, such as... Figure 2 As shown, the screen 200 of the operation interface 103 of the computer device 100 includes and can be divided into multiple operation areas. For example, the first operation area is a test script setting area 205, which may contain one or more test scripts with different test tool software settings. Figure 2Only one test script setting is shown, but this is not a limitation of this application. Users can select a test script by checking the box □ before it. Furthermore, the test script includes multiple different test item software programs, and users can select the software program items they want to test to select one or more test items. Additionally, there is a directional button "→" on the right side of the test script setting area 205. When the user presses the "→" button, the selected test script and / or test item will be selected into the second operation area 210 of the interface 200 of the computer device 100. It should be noted that, for the sake of simplifying the screen content, multiple test item software programs are represented by AP1 to AP7; however, this is not a limitation on the number of test tool software programs.

[0030] The second operation area 210 is a test item order adjustment area. In this order adjustment area 210, the index "Idx" represents the execution order of different test items. For example, the number 0 indicates that the first test item executed is software program AP5, such as a software program that creates hard disk slots (DeletePartition), while the number 4 indicates that the last test item executed is software program AP6, such as a read / write speed testing tool (H2TestW). Furthermore, "Selected..." "AP" indicates multiple test tool software projects with the same or different test scripts selected. In addition, users can select a software program of a test project by highlighting or graying out, for example, selecting AP3, and then delete the selected test project software program by pressing the "×" key, or move the selected test project up one position by pressing the "↑" key, or move the selected test project down one position by pressing the "↓" key, or save the execution order of multiple test projects by pressing the "Save" key. If the name of a test project is too long, users can also move the horizontal scroll bar below the order adjustment area 210 to the left or right to display the name of a test project.

[0031] Furthermore, the third operation area included in the operation interface of the computer device 100 is a test tool software setting area 215. When the user selects a test item in the test item order adjustment area 210 by first highlighting / highlighting, in this embodiment, the test tool software setting area 215 will correspondingly display the name of the selected test item and multiple sets of adjustable setting parameters and contents, for example, in Figure 2In the test tool software settings area 215, the name of the software program AP3 is displayed, such as a test tool software for creating hard disk slots (CreatePartition). It lists several user-adjustable settings parameters, such as Cluster size, EnableFormat, and QuickFormat. The settings displayed in the test tool software settings area 215 are stored in a format similar to a text file. Users can modify the settings directly within the test tool software settings area 215 and save them. For example, users can press the "Save" button at the top of the test tool software settings area 215 to save with the original test script filename, or press the "Save As" button to save with the desired test script filename. Furthermore, in other embodiments, the user modification format presented in the test tool software settings area 215 can also be achieved through option selection and / or scroll bar selection, allowing users to easily set a set of test tool software parameters through simple clicks / checks and scrolling. Furthermore, these setting parameters can be all the settable setting parameters of a certain testing tool software, or the setting parameters that are frequently used or more important to a certain testing tool software. In addition, the software package of this application can also actively display or provide the user with the frequently used or more important setting parameters in the setting area 215 of the testing tool software, based on all the setting parameters of the testing tool software, so that the user can set them himself.

[0032] Furthermore, the fourth operating area included in the operating interface of the computer device 100 is a slot setting area 220, which displays all storage devices currently connected to or externally connected to the computer device 100 and their corresponding slots, for example... Figure 2 The example shows three storage devices to be tested, corresponding to slots D, E, and G. It displays the name and manufacturer information of each device. Furthermore, the user can check the boxes next to the names of the three devices to indicate that they want to be tested. For example, Figure 2 The image shows two storage devices under test with slots E and G selected. Therefore, once the automated testing process is initiated, it will only perform automated testing on these two storage devices, excluding the storage device in slot D; this is not a limitation of this application. Furthermore, the user can scan and update the information of all currently connected storage devices under test by pressing the "Scan" button in the upper right corner of the slot setting area 220.

[0033] Furthermore, when the software package of this method is executed, it can automatically scan the names and product serial numbers of all external SSD devices and can filter out the system disk (i.e., C drive).

[0034] Furthermore, this method can also repeat the pre-defined automated testing procedures or steps, for example, Figure 2 The field "Loop" is displayed. If the value of "Loop" is N (an integer), it means that this method will repeatedly execute the pre-defined automated test program or steps N times, that is, execute it a total of N+1 times. For example, if the value of "Loop" is 1, it will be executed a total of 2 times, and if it is 0, the pre-defined automated test program or steps will be executed only once. Users can enter an integer value in the "Loop" field.

[0035] The interface 200 also includes a start button "Run" and a stop / pause button "Stop". When the start button "Run" is pressed, the method flow immediately begins to execute the above-mentioned automated test program or steps, and when the stop / pause button "Stop" is pressed, the method flow immediately pauses the operation of the test tool software.

[0036] In addition, the operation interface of the computer device 100 includes a fifth operation area, which is a test item status and progress area 225. When the user presses the start button "Run", the test item status and progress area 225 will display the names "Item", test status "Status", and test order "Idx" of the test tool software items that have been tested, the currently running test tool software items, and the test tool software items waiting to be executed, respectively. Figure 2 As shown, test tool software AP5 and AP7 have each been executed twice, and their status for testing one or more selected storage devices is "PASS". Test tool software AP3, which was executed for the first time, has also been executed, and its status for testing one or more selected storage devices is "PASS". The status of the second execution of test tool software AP3 is currently "Running". Furthermore, the status of test tool software AP2 and AP6 is currently "Waiting". Additionally, the test item status and progress area 225 includes a delete button "×", a clear all button "Clear All", and a progress bar. The user can select the status of a test item and then press the delete button to delete it, thus deleting the test results and details of that test item. Furthermore, if the user presses the clear all button, the process will delete the test results and details of all test items.

[0037] In addition, the operation interface of the computer device 100 includes a sixth operation area, which is a detailed result area 230 for a test item. The detailed results of the test performed by the aforementioned one or more test item software programs on one or more storage devices will be listed and displayed sequentially in the detailed result area 230 of the test item. Furthermore, the detailed result area of ​​the test item includes a delete button "×", a save button "Save", and a log button "Log". When the user presses the delete button, the method process will delete the content displayed in the detailed result area 230. When the save button is pressed, the method process will save the content displayed in the detailed result area 230. In addition, when the log button is pressed, the method process will present the content displayed in the detailed result area 230 to the user in the form of a log file.

[0038] In actual execution, the software package of this method integrates and is compatible with various commonly used testing tools on the market and implements them within the same software package. Multiple testing tools within this software package are stored in a specific folder. These multiple testing tools include some portable testing tools and some that require installation. For example, the software program BurnInTest requires installation, while the other software programs mentioned above are portable testing tools. For instance, processor 101 executes this specific program code to start this method, automatically installing the testing tools that require installation and recording their execution paths after installation. Furthermore, for portable testing tools, processor 101 executes this specific program code to record their respective portable software program execution paths.

[0039] The processor 101 executes the specific program code to launch a testing tool software. In the windowed operating system running on the computer device 100, executing the specific program code launches a corresponding child window. This child window has a corresponding window title, and the testing tool software also has a corresponding access control right. This access control right is used to control the corresponding child window. This access permission can be represented by code, address, or identifier, etc. In one embodiment of this method, the processor 101 executes the specific program code to call a standardized Windows API function, such as the FindWindow function, to identify and find the corresponding child window name, obtain the corresponding access control right, and thus control / operate the child window of the testing tool software. From the access control right of the child window, the access control right of a certain button within the child window is further identified. Based on the access control right of the button, the state of the button can be set, thereby simulating the effect of manually clicking or selecting the button. In this way, the system can automatically enter the settings page of the testing tool software, and then set one or more test parameters of the testing tool software.

[0040] For example, executing the specific program code uses the FindWindow function to find the corresponding child window name, identifies the corresponding access control rights, and from the access control rights of the child window, identifies the access control rights of a certain button in that window, such as identifying the access control rights of the "Yes (Y)" button or the "Next (Next)" button. Based on the access control rights of the buttons, the state of the buttons is set to simulate manual clicking or selecting different buttons. For example, a testing tool software may generate multiple child windows sequentially, such as generating the first child window, clicking the "Next (Next)" button, then generating the second child window and clicking the "Yes (Y)" button, and finally entering the settings page (but not limited to this). This method, when the processor 101 executes the specific program code to start the testing tool software, can call the FindWindow function. The method identifies the title and access control of the first sub-window. Based on this, it determines the access control of the "Next" button and sets its state accordingly, automatically simulating a manual selection. This triggers the second sub-window. The method can then call the FindWindow function to identify the title and access control of the second sub-window, determine the access control of the "Yes" button, and set its state accordingly, automatically simulating a manual selection. Finally, it automatically enters the settings page of the testing tool software for configuration. Similarly, during the setup process, this method, through the execution of the specific program code by the processor 101, can also identify the title name of the setup page and its corresponding access control rights. Based on these access control rights, the state and values ​​of different fields on the setup page are set to complete the automated setup process of the testing tool software. After the setup is complete, for example, returning to the main screen of the testing tool software, the specific program code can also identify the title name of the main screen window and obtain access control rights by calling the FindWindow function. Based on this, access control rights to the Start button on the main screen window are obtained, and the state of the Start button is set according to these access control rights. This automatically simulates manual selection of the Start button, causing the testing tool software to automatically start and execute a test.

[0041] This method's program spawns a thread to observe the executing test tool software. This thread periodically polls the test tool software, prompting it to report its current progress and details. For example, a text window can be generated to display the progress. If the test tool software completes the test, the text window will display a success message; otherwise, an error message will be displayed. The processor 101 executes the specific program code to capture and check for the aforementioned keywords. When a success message is captured, it means that the test tool software has completed the test and passed. The specific program code then accesses the log file generated by the test tool software to retrieve the log file and save it in the format desired by the user. The specific program code then closes the test tool software and starts the next test tool software waiting to be executed. Similarly, the actual operation after the specific program code starts the next test tool software is similar to the above operation and will not be repeated here to simplify the specification.

[0042] Furthermore, while the aforementioned method achieves access control by calling the FindWindow function, different software tools can be used in different embodiments to identify and find the ID of the corresponding program object. Based on this ID, the state, values, behaviors, and operations of the program object can be set and controlled. For example, after starting a testing software tool (such as H2TestW), the specific program code can use and execute the Spy tool software program (but not limited to) included in the Windows operating system to identify and find the ID of each program object. For example, it can capture the ID of the program object of any of the aforementioned buttons and / or the ID of the program object of the aforementioned settings page. Then, the program object of the button or the program object of the settings page can be controlled through the ID, thereby controlling the state of the button and the field settings of the settings page, simulating the selection control of the button, and setting the values ​​or data of these settings fields.

[0043] Furthermore, the automated test code of this application can achieve single-port sequential testing or multi-port simultaneous testing. Single-port sequential testing refers to testing only one storage device at a time, while multi-port simultaneous testing can test multiple storage devices at once. For example, the testing tool software BurnInTest itself supports simultaneous testing. Therefore, specific program code of this application will obtain the corresponding access control rights, enter the settings page to configure the function of multiple simultaneous tests, and select multiple slots.

[0044] While the H2TestW testing tool itself doesn't natively support simultaneous testing, specific program code can simultaneously launch multiple H2TestW instances, such as multiple instance executions. Each instance executes the FindWindow function to identify and find the IDs of different objects, thereby obtaining access control rights for those objects. When setting fields and parameters on multiple configuration pages for multiple instances, a sequential approach is used: first, the configuration page for one instance is completed, then the configuration page for another instance is opened and set. The object IDs are the same, but the access control rights of the objects found by executing the FindWindow function are different. In other words, the access control rights of multiple objects on multiple settings pages of the test tool software corresponding to different storage devices are different. For example, two program entities executed sequentially may use the same object ID to obtain two different access control rights. For example, both program entities executed sequentially may have a button function. Later, when the first program entity needs to press the button, it controls its corresponding access control right to set the state of the button to automatically press the button. In addition, when the second program entity needs to press the button, it controls its other corresponding access control right to set the state of the button to automatically press the button. Therefore, different program entities obtain different access control rights through the same object ID, and this operation will not cause an error.

[0045] To help readers better understand the technical spirit of the embodiments of this application, please refer to... Figure 3 , Figure 3 This is an example diagram illustrating an automated testing process that initiates the execution of a test tool software or a test tool software program entity according to an embodiment of this application. If the same result can be achieved substantially, it is not necessary to follow the steps exactly. Figure 3 The steps in the illustrated process are performed sequentially, and Figure 3 The steps shown do not necessarily have to be performed consecutively; other steps can be inserted as well. The process steps are described below:

[0046] Step 305: Begin;

[0047] Step 310: The user sets up the test tool software project through the user interface 200 of the computer device 100;

[0048] Step 315: The user starts the automated testing program;

[0049] Step 320: Based on the program path of the folder, the automated test program starts and executes the selected test tool software;

[0050] Step 325: The automated test program finds the corresponding child window name of the test tool software by calling the FindWindow function to obtain the corresponding access control rights, or captures the ID of the corresponding program object to obtain the corresponding access control rights.

[0051] Step 330: The automated test program obtains access control rights for buttons or other objects based on the corresponding access control rights, and sets the state of buttons or other objects accordingly;

[0052] Step 335: Enter the settings page of the testing tool software, and set the corresponding fields and parameters according to the settings parameters selected by the user;

[0053] Step 340: Return to the main screen of the testing tool software;

[0054] Step 345: Obtain the name of the start button or the corresponding object ID of the main screen window, obtain the corresponding access control rights, and set the state of the start button to start according to the corresponding access control rights, so as to start the test work of the test tool software.

[0055] Step 350: Poll the testing tool software to check if the test is complete; if the test is complete, proceed to step 355; otherwise, continue to step 350.

[0056] Step 355: Check if the selected test tool software is the last software program executed? If yes, proceed to step 360; otherwise, proceed to step 365.

[0057] Step 360: Select the next testing tool software; and

[0058] Step 365: End.

[0059] It should be noted that if the test is set to single-port sequential execution, then after the test tool software starts executing the test work in step 345, the test tool software tests all the storage devices under test one by one. However, if the test is set to multi-port simultaneous execution, then after the test tool software starts executing the test work in step 345, the test tool software tests all the storage devices under test simultaneously. In this case, if the test tool software itself does not support the function of multi-port simultaneous testing, the automated test program of this application will start multiple program entities of the test tool software to test multiple different storage devices under test simultaneously.

[0060] Furthermore, the method of this application retrieves the product serial number of each external storage device during implementation. Therefore, when the testing software executes the test, it can determine which storage device is currently being tested, which storage devices have already been tested and passed, and which storage devices are still waiting to be tested based on the different serial numbers. Thus, even without considering the slot, the method of this application can still correctly determine which storage devices have completed and passed the test based on the different serial numbers. Moreover, the method of this application can photograph and store the results of different testing software executions after each test script execution using photographic software (e.g., Snapshot).

[0061] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for automatically testing multiple solid-state drive (SSD) storage devices under test, wherein the multiple SSD storage devices under test are connected to a computer device via a first external connection port and a second external connection port, the first external connection port being different from the second external connection port, the computer device having a user interface, the automated testing being performed by the computer device sending multiple test signals, one by one or simultaneously, to multiple flash memory controllers of the multiple SSD storage devices connected to the first external connection port and the second external connection port, respectively, the multiple flash memory controllers performing corresponding tests on multiple flash memory chips of the multiple SSD storage devices under test according to the received multiple test signals, to obtain and record multiple test results of the multiple SSD storage devices under test, and the multiple flash memory controllers reporting the multiple test results back to the computer device via the first external connection port and the second external connection port, causing the computer device to store the multiple test results in a storage circuit of the computer device, and the method comprising: The user interface is provided so that users can input the setting parameters for executing the test tool software to test the multiple solid-state drive storage devices under test through the user interface. Based on the set parameters, the field information that the testing tool software needs to refer to when performing testing is automatically set, including: Execute specific program code to start the test tool software; The specific program code is executed to call a standardized application programming interface (API) function, and access control of the buttons in one or more sub-windows of the testing tool software is obtained through the standardized API function to set one or more test parameters of the testing tool software. Based on the field information, the testing tool software is automatically executed to perform the tests on the plurality of solid-state drive storage devices under test, including: By obtaining access control to the buttons on the main screen window of the testing tool software through the standardized application programming interface functions, a test task of the testing tool software can be automatically started and executed; and The test results of the test tool software completing the test are automatically stored and displayed on the user interface to notify the user.

2. The method as described in claim 1, characterized in that, The testing software includes multiple testing tools. The user can input multiple sets of setting parameters through the user interface. Based on the multiple sets of setting parameters, the system automatically sets multiple fields of information that the multiple testing tools need to refer to when performing multiple tests. Based on the multiple fields of information, the system automatically executes the multiple testing tools to perform the multiple tests on the multiple solid-state drive storage devices under test. The system automatically stores the multiple test results of the multiple testing tools and displays the multiple test results on the user interface to notify the user.

3. The method as described in claim 1, characterized in that, The test port sequentially tests each of the multiple solid-state drive storage devices under test one by one, or the multiple ports simultaneously test the multiple solid-state drive storage devices under test at the same time.

4. The method as described in claim 3, characterized in that, The testing process involves testing the multiple solid-state drives (SSDs) under test based on the multiple slots corresponding to each SSD or based on the multiple serial numbers corresponding to each SSD.

5. The method as described in claim 1, characterized in that, Also includes: The system automatically scans the names and product serial numbers of all external solid-state drive (SSD) storage devices and filters out the system disk C drive to obtain the multiple SSD storage devices to be tested.

6. The method as described in claim 1, characterized in that, The automatic execution and automatic storage steps can be repeated; the testing tool software includes at least one of the following: AS SSD Benchmark, a tool software program for solid-state drive performance testing; CrystalDiskInfo, a tool software program for hard drive detection; HDTunePro, a tool software program for hard drive detection and repair; BurnInTest, a tool software program for burn-in testing; H2TestW, a tool software program for read / write speed testing; CreatePartition, a testing tool software program for creating hard drive slots; and DeletePartition, a testing tool software program for deleting hard drive slots.

7. A computer device for automatically testing a plurality of solid-state drive (SSD) storage devices under test, wherein the plurality of SSD storage devices under test are connected to the computer device via a first external connection port and a second external connection port, the first external connection port being different from the second external connection port, the computer device having a user interface, the automated testing being performed by the computer device sending a plurality of test signals, one by one or simultaneously, to a plurality of flash memory controllers of the plurality of SSD storage devices under test connected to the first external connection port and the second external connection port, the plurality of flash memory controllers then performing corresponding tests on a plurality of flash memory chips of the plurality of SSD storage devices under test according to the received plurality of test signals, to obtain and record a plurality of test results of the plurality of SSD storage devices under test, and the plurality of flash memory controllers reporting the plurality of test results back to the computer device via the first external connection port and the second external connection port, causing the computer device to store the plurality of test results in the storage circuit of the computer device, and the computer device comprising: The user interface allows the user to input setting parameters for executing the test tool software to test the multiple solid-state drive storage devices under test. The storage circuit is used to store specific program code for performing the automated test; A processor, coupled to the storage circuit and the user interface, is configured to read the specific program code from the storage circuit and execute the specific program code. Based on the set parameters, the field information that the testing tool software needs to refer to when performing testing is automatically set, including: Execute specific program code to start the test tool software; The specific program code is executed to call a standardized application programming interface (API) function, and access control of the buttons in one or more sub-windows of the testing tool software is obtained through the standardized API function to set one or more test parameters of the testing tool software. Based on the field information, the testing tool software is automatically executed to perform the tests on the plurality of solid-state drive storage devices under test, including: By obtaining access control to the buttons on the main screen window of the testing tool software through the standardized application programming interface functions, a test task of the testing tool software can be automatically started and executed. as well as The test results of the test tool software completing the test are automatically stored and displayed on the user interface to notify the user.

8. The computer device as claimed in claim 7, characterized in that, The testing software includes multiple testing tools. The user can input multiple sets of setting parameters through the user interface, and the processor executes the specific program code to automatically set multiple field information that the multiple testing tools need to refer to when performing multiple tests based on the multiple sets of setting parameters. Based on the multiple field information, the multiple testing tools are automatically executed to perform the multiple tests on the multiple solid-state drive storage devices under test, automatically storing the multiple test results of the multiple testing tools and displaying the multiple test results on the user interface to notify the user.

9. The computer device as claimed in claim 7, characterized in that, The test port sequentially tests each of the multiple solid-state drive storage devices under test one by one, or the multiple ports simultaneously test the multiple solid-state drive storage devices under test at the same time.

10. The computer device as claimed in claim 9, characterized in that, The testing process involves testing the multiple solid-state drives (SSDs) under test based on the multiple slots corresponding to each SSD or based on the multiple serial numbers corresponding to each SSD.

11. The computer device as claimed in claim 7, characterized in that, The processor automatically scans the names and product serial numbers of all external solid-state drive (SSD) storage devices and filters out the system disk C slot to obtain the multiple SSD storage devices to be tested.

12. The computer device as claimed in claim 7, characterized in that, The operations performed by the processor described above can be repeated; and the testing software includes at least one of the following: AS SSD Benchmark, a software program for testing solid-state drive performance; CrystalDiskInfo, a software program for detecting hard drives; HDTunePro, a software program for testing and repairing hard drives; BurnInTest, a software program for testing burn-in; H2TestW, a software program for testing read and write speeds; CreatePartition, a software program for creating hard drive slots; and DeletePartition, a software program for deleting hard drive slots.

Citation Information

Patent Citations

  • Integrated test method and system

    CN102023919A

  • Method and apparatus for testing performances of solid state disks

    CN103578568A