CN117609009A - Test method, server, management equipment and test system - Google Patents

Test method, server, management equipment and test system Download PDF

Info

Publication number
CN117609009A
CN117609009A CN202311385556.2A CN202311385556A CN117609009A CN 117609009 A CN117609009 A CN 117609009A CN 202311385556 A CN202311385556 A CN 202311385556A CN 117609009 A CN117609009 A CN 117609009A
Authority
CN
China
Prior art keywords
server
test
tested
command
operating system
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.)
Pending
Application number
CN202311385556.2A
Other languages
Chinese (zh)
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies 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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202311385556.2A priority Critical patent/CN117609009A/en
Publication of CN117609009A publication Critical patent/CN117609009A/en
Pending legal-status Critical Current

Links

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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application provides a testing method, a server, management equipment and a testing system. In an embodiment, a server for storing at least two operating systems, the method includes; acquiring a first command, wherein the first command is used for indicating a first operating system in at least two operating systems to be started in a server; starting a first operating system, and testing an object to be tested; acquiring a second command, wherein the second command instructs the server to start a second operating system in the at least two operating systems; and starting a second operating system, and testing the object to be tested under the second operating system. The switching of the operating system can be realized based on instruction automation, and the switching efficiency of the operating system is improved.

Description

Test method, server, management equipment and test system
Technical Field
The present disclosure relates to the field of server technologies, and in particular, to a testing method, a server, a management device, and a testing system.
Background
The application scenes of the server are diversified, hundreds of operating systems are used in the current server, and different client requirements are met; in the scenario where the server needs to be compatible with multiple operating systems, a test needs to be performed on each operating system to release compatibility for firmware or driver updates for each component in the server.
Currently, for updating firmware or drivers, a tester tests a plurality of operating systems for the firmware or drivers, and after one operating system completes the test, the tester squats to switch another operating system to continue to complete the test.
However, the adoption of the scheme is easy to increase the test duration and reduce the test efficiency.
The information disclosed in this background section is only for enhancement of understanding of the general background of the application and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person of ordinary skill in the art.
Disclosure of Invention
The embodiment of the application provides a testing method, a server, a management device and a testing system, which can realize switching of an operating system based on instruction automation and improve the switching efficiency of the operating system.
In a first aspect, an embodiment of the present application provides a test method, configured to be used in a server, where at least two operating systems and a to-be-tested object are stored in the server, where the to-be-tested object is used for testing in at least two operating systems, and the to-be-tested object is one or more of a driver, firmware, or software; the method comprises the steps of;
acquiring a first command, wherein the first command is used for indicating a first operating system in at least two operating systems to be started in a server; starting a first operating system, and testing an object to be tested; acquiring a second command, wherein the second command instructs the server to start a second operating system in the at least two operating systems; and starting a second operating system, and testing the object to be tested.
In the scheme, switching of the operating system can be realized based on instruction automation, and the switching efficiency of the operating system is improved.
In one possible implementation, before starting the second operating system, the method includes: the control server is restarted.
In one possible implementation, the server includes a plurality of hard disks and a hard disk manager for virtualizing the plurality of hard disks into at least one hard disk group, creating virtual hard disks in one or more of the hard disk groups; at least two operating systems are stored in the virtual hard disk of the server.
In one example of this implementation, each virtual disk stores an operating system.
In one example of this implementation, the method further comprises: acquiring a newly added operating system; newly adding a virtual hard disk in the hard disk group with the available space; installing a new operating system in the new virtual hard disk.
In the scheme, more operating systems can be installed through the dilatability of the hard disk group.
In one example of this implementation, the method further comprises: obtaining a newly added hard disk, dividing the newly added hard disk into target hard disk groups in the existing hard disk groups, and newly adding a virtual hard disk in the target hard disk groups; installing a new operating system in the new virtual hard disk.
In the scheme, more operating systems can be installed through the dilatability of the hard disk group.
In one possible implementation, the first command and/or the second command are obtained from the management device.
In the scheme, the server can automatically realize the switching of the operating system under the control of the management equipment, the operating system is not required to be improved, and the complexity of the automatic switching of the operating system is reduced.
In one possible implementation, the first command and/or the second command is an instruction to start a manager in the basic input output system.
In one possible implementation, the object to be tested or the download address of the object to be tested is obtained from the management device.
In the scheme, the object to be tested is arranged in the server through the management equipment, so that test management is facilitated.
In one possible implementation, when there are a plurality of to-be-tested objects, and there are no to-be-tested object objects of different versions for the same type in the plurality of to-be-tested objects, the first operating system tests the plurality of to-be-tested object objects in parallel.
In the scheme, the test efficiency can be improved by testing a plurality of objects to be tested in parallel.
In one possible implementation, the first command indicates a first version of the object to be tested; the version of the object to be tested in the server is a second version; before testing the object to be tested, the method comprises the following steps: the version of the object to be tested is changed from the second version to the first version.
In one possible implementation, the testing the object to be tested includes: acquiring a third command, wherein the third command indicates that an object to be tested performs update requirements; updating the object to be tested according to the updating requirement of the object to be tested, and testing the updated object to be tested.
In a second aspect, an embodiment of the present application provides a testing method, configured to manage a device, where the management device is in communication with a server, and at least two operating systems and an object to be tested are stored in the server, where the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, firmware, or software, and the method includes:
according to the test information, a first command is sent to a server; the test information indicates a test order of at least two operating systems; the first command indication is used for indicating to start a first operating system in the at least two operating systems in the server; the server starts a first operating system and tests the object to be tested;
sending a second command to the server according to the test information and the first operating system; the second command instructs the server to boot a second operating system of the at least two operating systems; and starting a second operating system by the server, and testing the object to be tested.
In the scheme, switching of the operating system can be realized based on instruction automation, and the switching efficiency of the operating system is improved.
In one possible implementation, the method further includes: and receiving the test condition of the first operating system aiming at the object to be tested, which is sent by the server, and sending a second command to the server according to the test information and the first operating system after the test of the first operating system is determined to be completed.
In one possible implementation, the server is configured to test at least two test systems in a test order.
In one example of this implementation, the method further comprises: and when the objects to be tested of the at least two operating systems are the same, determining a target operating system from the at least two operating systems according to the test results of the at least two operating systems.
In the scheme, the operating system with better performance can be selected as the operating system for service use through the testing conditions of the objects to be tested by the plurality of operating systems, so that the service performance is ensured.
In one possible implementation, the management device is configured with at least some of the test ranking bits in at least two operating systems; the test order is determined by the management device based on at least some of the test order bits in the at least two operating systems.
In one possible implementation, according to the test information, sending a first command to the server includes: receiving identifiers of at least two operating systems sent by a server; and sending a first command to the server according to the identification and the test information of at least two operating systems.
In a third aspect, embodiments of the present application provide a server, the server including a processor and a memory; wherein the memory is used for storing programs; the processor is shown for executing a memory-stored program which, when executed, performs the method provided in the first aspect.
In a fourth aspect, embodiments of the present application provide a management apparatus, including a processor and a memory; wherein the memory is used for storing programs; the processor is shown for executing a memory-stored program which, when executed, performs the method provided in the second aspect.
Fifth, the embodiment of the application provides a test system, which comprises a server and a management device; the server stores at least two operating systems and an object to be tested, wherein the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, a firmware or software;
The management equipment is used for sending a first command to the server according to the test information; the test information indicates a test order of at least two operating systems; the first command indication is used for indicating to start a first operating system in the at least two operating systems in the server;
the server is used for starting a first operating system and testing the object to be tested;
the management device is used for sending a second command to the server according to the test information and the first operating system; the second command instructs the server to boot a second operating system of the at least two operating systems;
the server is used for starting a second operating system and testing the object to be tested.
In one possible implementation, the server includes a plurality of hard disks and a hard disk manager for virtualizing the plurality of hard disks into at least one hard disk group, creating virtual hard disks in one or more of the hard disk groups; at least two operating systems are stored in the virtual hard disk of the server.
In one example of this implementation, each virtual disk stores an operating system.
In one example of this implementation, a server is used to obtain a newly added operating system; newly adding a virtual hard disk in the hard disk group with the available space; installing a new operating system in the new virtual hard disk.
In the scheme, more operating systems can be installed through the dilatability of the hard disk group.
In one example of this implementation, the server is configured to obtain a newly added hard disk, divide the newly added hard disk into a target hard disk group in the existing hard disk groups, and newly add a virtual hard disk in the target hard disk group; installing a new operating system in the new virtual hard disk.
In the scheme, more operating systems can be installed through the dilatability of the hard disk group.
In one possible implementation, the first command and/or the second command is an instruction to start a manager in the basic input output system.
In one possible implementation, the object to be tested or the download address of the object to be tested is obtained from the management device.
In one possible implementation, when there are a plurality of to-be-tested objects, and there are no to-be-tested object objects of different versions for the same type in the plurality of to-be-tested objects, the first operating system tests the plurality of to-be-tested object objects in parallel.
In one possible implementation, the first command indicates a first version of the object to be tested; the version of the object to be tested in the server is a second version; the server is used for changing the version of the object to be tested from the second version to the first version.
In one possible implementation, the server is configured to obtain a third command, where the third command indicates that the object to be tested performs the update requirement; updating the object to be tested according to the updating requirement of the object to be tested, and testing the updated object to be tested.
In a sixth aspect, an embodiment of the present application provides a testing apparatus, where the testing apparatus includes a plurality of modules, each module is configured to perform each step in the testing method provided in the first aspect of the embodiment of the present application, and the division of the modules is not limited herein. The specific functions and the achieved beneficial effects executed by each module of the testing device refer to the functions of each step of the testing method provided in the first aspect of the embodiment of the present application, which are not described herein again.
The test device is arranged in a server, at least two operating systems and an object to be tested are stored in the server, the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, firmware or software; the test device includes:
the first acquisition module is used for acquiring a first command, wherein the first command is used for indicating to start a first operating system in at least two operating systems in the server;
The first testing module is used for starting a first operating system and testing an object to be tested;
the second acquisition module is used for acquiring a second command, wherein the second command indicates the server to start a second operating system in at least two operating systems;
and the second testing module is used for starting a second operating system and testing the object to be tested.
In one possible implementation, the second test module is configured to control the server to restart, and start the second operating system after restarting.
In one possible implementation, the server includes a plurality of hard disks and a hard disk manager for virtualizing the plurality of hard disks into at least one hard disk group, creating virtual hard disks in one or more of the hard disk groups; at least two operating systems are stored in the virtual hard disk of the server.
In one example of this implementation, each virtual disk stores an operating system.
In one example of this implementation, the apparatus further includes: the new adding module is used for obtaining a new added operating system; newly adding a virtual hard disk in the hard disk group with the available space; installing a newly added operating system in the newly added virtual hard disk; or, the method is used for obtaining the newly added hard disk, dividing the newly added hard disk into target hard disk groups in the existing hard disk groups, and newly adding a virtual hard disk in the target hard disk groups; installing a new operating system in the new virtual hard disk.
In one possible implementation, the first command and/or the second command are obtained from the management device.
In one possible implementation, the first command and/or the second command is an instruction to start a manager in the basic input output system.
In one possible implementation, the object to be tested or the download address of the object to be tested is obtained from the management device. .
In one possible implementation, when there are a plurality of to-be-tested objects, and there are no to-be-tested object objects of different versions for the same type in the plurality of to-be-tested objects, the first operating system tests the plurality of to-be-tested object objects in parallel.
In one possible implementation, the first command indicates a first version of the object to be tested; the version of the object to be tested in the server is a second version; and the first testing module is used for changing the version of the object to be tested from the second version to the first version.
In one possible implementation manner, the second testing module is configured to obtain a third command, where the third command indicates that the object to be tested performs the update requirement; updating the object to be tested according to the updating requirement of the object to be tested, and testing the updated object to be tested.
In a seventh aspect, an embodiment of the present application provides a testing apparatus, where the testing apparatus includes a plurality of modules, each module is configured to perform each step in the testing method provided in the second aspect of the embodiment of the present application, and the division of the modules is not limited herein. The specific functions and the achieved beneficial effects executed by each module of the testing device refer to the functions of each step of the testing method provided in the second aspect of the embodiment of the present application, which are not described herein again.
The test device is in communication with a server, at least two operating systems and an object to be tested are stored in the server, the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, firmware or software; the test device includes:
the first command determining module is used for sending a first command to the server according to the test information; the test information indicates a test order of at least two operating systems; the first command indication is used for indicating to start a first operating system in the at least two operating systems in the server; the server starts a first operating system and tests the object to be tested;
the second command determining module is used for sending a second command to the server according to the test information and the first operating system; the second command instructs the server to boot a second operating system of the at least two operating systems; and starting a second operating system by the server, and testing the object to be tested.
In one possible implementation manner, the second command determining module is configured to send, when receiving a test result of the object to be tested sent by the server and directed by the first operating system, a second command to the server according to the test information and the first operating system.
In one possible implementation, the server is configured to test at least two test systems in a test order.
In one example of this implementation, the apparatus further comprises: and the comparison module is used for determining a target operating system from the at least two operating systems according to the test results of the at least two operating systems when the objects to be tested of the at least two operating systems are the same.
In one possible implementation, the management device is configured with at least some of the test ranking bits in at least two operating systems; the test order is determined by the management device based on at least some of the test order bits in the at least two operating systems.
In one possible implementation manner, the second command determining module is configured to receive identifiers of at least two operating systems sent by the server; and sending a first command to the server according to the identification and the test information of at least two operating systems.
In an eighth aspect, embodiments of the present application provide a computer storage medium having instructions stored therein that, when executed on a computer, cause the computer to perform the method provided in the first aspect.
In a ninth aspect, embodiments of the present application provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method provided in the first aspect.
Drawings
FIG. 1 is a schematic illustration of the testing principle provided by an embodiment of the present application;
FIG. 2 is a schematic diagram of an operating system switching principle provided in an embodiment of the present application;
FIG. 3 is a schematic diagram of a test scenario provided by an embodiment of the present application;
FIG. 4 is a system architecture diagram of a test system provided in an embodiment of the present application;
FIG. 5a is a schematic diagram of a BIOS structure according to an embodiment of the present application;
fig. 5b is a schematic structural diagram of a server 420 according to an embodiment of the present application;
FIG. 6 is a schematic flow chart of a test method according to an embodiment of the present application;
fig. 7 is a schematic diagram of an application scenario of a test method provided in an embodiment of the present application;
FIG. 8 is a schematic diagram of a test apparatus according to an embodiment of the present disclosure;
fig. 9 is a schematic diagram of a second structure of the test device according to the embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be described below with reference to the accompanying drawings.
In the description of embodiments of the present application, words such as "exemplary," "such as" or "for example," are used to indicate by way of example, illustration, or description. Any embodiment or design described herein as "exemplary," "such as" or "for example" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary," "such as" or "for example," etc., is intended to present related concepts in a concrete fashion.
In the description of the embodiments of the present application, the term "and/or" is merely an association relationship describing an association object, and indicates that three relationships may exist, for example, a and/or B may indicate: a alone, B alone, and both A and B. In addition, unless otherwise indicated, the term "plurality" means two or more. For example, a plurality of systems means two or more systems, and a plurality of terminals means two or more terminals.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating an indicated technical feature. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
Hereinafter, some terms in this embodiment will be explained. It should be noted that these explanations are for the convenience of those skilled in the art, and do not limit the scope of protection claimed in the present application.
Redundant array of independent disks or disk array (Redundant Array of Independent Disk, RAID): as a key component in the computer, the data security of the user can be effectively protected.
RAID card: a board card for implementing RAID functions is generally composed of a series of components such as an I/O processor, a storage controller, a hard disk connector, and a cache. Briefly, RAID cards are a technology that combines multiple independent hard disks (physical hard disks) in different ways to form a logical hard disk, thereby providing higher storage performance than a single hard disk and providing data redundancy.
Disk array Group (RG): it is understood as a configuration of capacity in a RAID card.
Virtual Drive (VD): the entire capacity of the RG may not be used, that is, one RG may be divided into a plurality of VDs.
Operating System (OS): the hard disk drive system is arranged on a main board of the server, and a hard disk drive program is arranged in the OS and can acquire information of the hard disk. The OS program can be loaded to the mainboard under the running environment of the server, and the mainboard can be communicated with the controller of the backboard through the I2C bus. The main board communicates with a hard disk connected with the hard disk backboard through PCIE (Peripheral Component Interconne ct Express, high-speed serial bus). Each motherboard may be communicatively coupled to a plurality of hard disk backplanes. From the current development, the main operating systems currently mainly include a Linux system and a Windows system, and the method provided by the application is mainly described around the Linux system, but the application is not limited to the specific type of the operating system in consideration of the diversity of the operating system and the possible occurrence of more new operating systems in the future.
Driver (Device Driver): is a special program that enables a computer and a device to communicate with each other. The driver mainly functions to complete data transmission between the computer system and the hardware device, and only by means of the driver, the computer system and the hardware device can communicate and complete specific functions. The driver is a medium between the operating system and the hardware, and is used for realizing bidirectional communication, communicating functions of the hardware device to the operating system, and simultaneously communicating standard instructions of the operating system to the hardware device.
Firmware (Firmware): the device "driver" stored in the device is referred to as an Operating System (OS), through firmware, which can implement operation of a specific machine according to a standard device driver, for example, an optical drive, a recorder, etc. all have internal firmware.
Basic input output system (Basic Input Output System, BIOS): the BIOS is the first software loaded when the personal computer is started. It is a set of programs solidified on a ROM chip on the main board in the computer, and it can save the most important basic input and output programs of computer, self-checking program after starting up and system self-starting program. The main functions of the system are to provide the lowest and most direct hardware setting and control for the computer, for example, interrupt service routine, system setting routine, power-on self test (Power On Self Test, POST), system start-up bootstrap routine and the like. The interrupt service routine is a programmable interface between the system software and hardware, and is used for completing hardware initialization; the system setup program is used to set parameters that generally represent system base conditions, CPU characteristics, information on components such as disk drives, and the like. The program interface can be accessed by pressing a Delete key when the machine is started; the power-on self-checking POST works by automatically checking each key and main peripheral in the system after the computer is electrified, and once a problem is found in the self-checking, a user is warned by whistling or prompt information; the system boot bootstrapping procedure is performed after the POST has completed its work. The BIOS needs to be initially booted when being started, and mainly detects the kernel operation environment in advance.
Boot Manager (Boot Manager): in BIOS, in the concept of computer operating system, boot Manager is a program that boots an operating system, such as windows Boot program, grub, llo, etc. The boot manager searches for an effective driver according to the boot sequence stored in the settings, reads the boot program of the OS, gives control of the system to the boot program of the OS, and loads the kernel code by the boot program to complete the booting of the OS.
Hard disk backboard: and a frame supporting connection between the main board and the hard disk, wherein each hard disk back plate can be inserted into a plurality of hard disks through a slot (called a hard disk slot for convenience of description and distinction).
The embodiment of the application provides a testing method, as shown in fig. 1, after the testing of the OS is finished, determining an instruction, wherein the instruction instructs to switch to other OS which are not tested to test after restarting, so that the automatic switching of the testing of the operating system is realized, and the testing efficiency is improved. As described in fig. 1, n+1 OSs are assumed: OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n, the first time the OS0000 is started, the next time the OS started can be designated as any one of OS0001 to 0S000n by an instruction after the completion of the test of OS0000, and any one of OS0001 to 0S000n can be designated as the next time the test of OS is started after the completion of the test of all the OS for any one of OS0001 to OS000 n. It should be noted that, in the embodiment of the present application, the test sequence of the OS may be manually configured, or may be automatically determined, for example, the larger the number of the OS, the later the test sequence.
The instructions may be, for example, instructions in the BIOS to start the controller. In specific implementation, as shown in fig. 2, the BIOS stores a list of OS, and loads the first OS in the list after each restart; correspondingly, the instruction is used for indicating the OS switched to after restarting to move to the first position of the list, so that starting is performed after restarting. Illustratively, as shown in FIG. 2, the BIOS stores a list of OSs in the order OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n from top to bottom; assuming that the OS0001 needs to be started next time, the OS0001 is moved to be located above the OS0000 by an instruction, so that after the next start, the OS0001 is started, and automatic switching of the OS is realized.
In addition, in the embodiment of the present application, the OS may be installed in a virtual hard disk created by a hard disk manager in a plurality of hard disks, specifically, the hard disk manager is configured to virtualize the plurality of hard disks into at least one hard disk group, create a virtual hard disk in one or more hard disk groups, and install one OS in each virtual hard disk; illustratively, the hard disk manager may be a RAID card. In a specific implementation, for example, the RAID card may group a plurality of managed hard disks to obtain 1 or more RGs (corresponding to a hard disk group), where each RG may be composed of a plurality of hard disks, create 1 or more VDs in the RGs, and install an OS in each VD. In this embodiment of the present application, the OS may be installed under different RG, so that more OS may be extended. For example, as shown in fig. 3, in the scenario of RAID card+hard disk, a plurality of hard disks may be divided into a plurality of RGs, where n+1 VDs are created under each RG, each VD installs 1 OS, and n+1 OS are installed in total: OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n; the first time OS0000 is started, the OS that starts next time can be designated as any one of OS0001 to 0S000n by an instruction after completion of the OS0000 test, and any one of OS0001 to 0S000n can be designated as the next time of the test after the OS starts up to perform the test for any one of OS0001 to OS000n until the test of all the OS is completed.
This is merely an overview of the method, and the details are set forth below.
Next, a test system to which the test method provided in the embodiment of the present application may be applied will be described. Fig. 4 shows an architecture example diagram of a test system according to an embodiment of the present application. The embodiment of the application provides that the test method can be applied to the system architecture diagram shown in fig. 4. As shown in fig. 4, the test system includes a management device 410, a number of servers 420; the server 420 is configured to implement OS automatic switching, the management device 410 deploys an automatic test platform, and the server 420 and the management device 410 may communicate, for example, through a network, so that the automatic test platform is configured to manage testing of the server 420. The management device 410 may run an automated test platform, which may be a desktop application, a Web application, a command line terminal, or the like. And, a tester may configure an OS to be tested, an object to be tested (e.g., firmware, driver, software), a test requirement, etc. through an automated test platform operated by the management apparatus 410, so as to perform test configuration. It should be appreciated that the management device 410 may be a device having a display device, such as a host configured with a display screen, for example, a computer.
Wherein one server 420 may be one computing device, or a plurality of servers 420 may be one computing device. In some possible cases, server 420 may be located on a computing device. In some possible cases, the computing device may be a single-node server, such as a rack server; correspondingly, one computing device is a server 420. In other possible cases, the computing device may be a multi-node server, which may be a blade server, a high-density server, or a whole cabinet server (an independent product formed by fusing an architecture in which an original rack is separated from a machine such as a server node); wherein the computing device includes a server chassis and several computing nodes (e.g., server 420 and/or management device 410). For example, as shown in fig. 4, the server 420 or the management device 410 may include a power supply 121 and a motherboard 110, where the power supply 121 is electrically connected to the motherboard 110 for supplying power to devices on the motherboard 110.
Illustratively, the motherboard includes a central processing unit (central processing unit, CPU) 111, a memory 112, a BIOS chip 113, a baseboard management controller (baseboard management controller, BMC) chip 114, a PCIE slot 115, a network card 122, a hard disk 123, a hard disk back plate 124, and a fan 125.
Wherein the memory 112 is inserted into a memory slot, which serves as an external cache. Memory 112 may be, for example, random access memory (random access memory, RAM). By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic Random Access Memory (DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), and direct memory bus RAM (DR RAM).
The BIOS chip 113 is used to store a program of the BIOS, as shown in fig. 5b, and the BIOS includes a boot manager, as shown in fig. 5 a. The starting manager comprises a list of OS, and the OS at the first position is the OS which needs to be started after the restarting.
The hard Disk 123 may be a mechanical hard Disk (HDD) or a Solid State Disk (SSD) for short. It should be understood that the hard disk 123 is merely an example of a nonvolatile memory, and is not particularly limited, and the nonvolatile memory may be selected in practical applications in combination with practical situations.
The PCIE slot 115 is adapted to extend at least one of a GPU card, a network card, a video capture card, an HBA (Host Bus Adapter) card, a RAID card 1151, an SSD (solid state disk) or solid state drive, and may also support extending various Adapter cards.
The connection relationship among the CPU111, the memory 112, the BIOS chip 113, the BMC chip 114, the RAID card 1151, the hard disk 123, and the hard disk back plate 124 is shown in fig. 5 b. The manner in which the hard disk 123 is connected to the RAID card 1151 through the hard disk back plate 124, and the RAID card 1151 may extend more hard disks 123, where the manner in which the hard disk 123 is connected to the RAID card 1151 through the hard disk back plate 124 is merely an example and not specifically limited, and in some possible implementations, the hard disk 123 may be directly connected to the RAID card 1151.
In the embodiment of the present application, the RAID card 1151 may serve as a hard disk manager, may manage a plurality of hard disks 123, and may create a plurality of RGs in the managed hard disks 123; for any RG, multiple VDs can be created in the RG and the OS installed in the VD. If the OS needs to be newly added, the VD can be newly added in the RG with the available space, and the newly added OS is installed in the newly added VD; if there is no space available, but the hard disk backplane 124 has available hard disk slots, then a hard disk may be inserted into the available hard disk slots, such that the newly added hard disk 123 is added to the server 420, the RAID card 1151 allocates the newly added hard disk 123 to the RG, the VD is newly added to the RG, and the newly added OS is installed in the newly added VD.
It should be noted that fig. 4 is only used as an example of the server 420, and is not limited to the specific embodiment, and in practical application, more or less devices than fig. 4 may be included, for example, a single chip microcomputer (an integrated circuit chip, equivalent to a microcomputer), a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, a general purpose processor, or the like may also be included. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Next, a test method provided in the embodiments of the present application will be described in detail with reference to the test system provided above.
Fig. 6 is a flow chart of a test method according to an embodiment of the present application. The embodiment can be applied to a test system. As shown in fig. 6, a testing method provided in an embodiment of the present application at least includes the following steps:
in step 601, the server 420 installs N OSs, where N is a positive integer greater than or equal to 2.
In a specific implementation, the server 420 includes a hard disk manager and a plurality of hard disks 123, where the hard disk manager is configured to virtualize the plurality of hard disks 123 into at least one hard disk group RG, create virtual hard disks VD in one or more hard disk groups RG, and install an OS in each virtual hard disk VD; illustratively, the hard disk manager may be a RAID card; illustratively, 1 hard disk 123 may belong to 1 RG, or a plurality of hard disks 123 may belong to 1 RG. Creating N VDs in the RG can be understood as: a capacity divided into a part among the capacities of the hard disk 123 belonging to the RG is allocated to the VD. The capacity of the VD is controllable, and the capacity of each VD is suitable for installing any one of N OS, specifically, the capacity of each VD may be an OS that occupies the largest storage space among the N OS. Notably, which VD installs which OS is generally random, the OS has an identification such as a number, which may be, for example, OS0000, OS0001, OS0002, OS0003, OS0004, …, as shown in fig. 1 to 3; in some possible scenarios, the larger the number of VD, the larger the number of installed OS.
The process of installing the OS in the VD by the server 420 may be understood as that the hard disk manager determines the identifier and the installation package of the OS to be installed, and sends the installation package to the hard disk 123 belonging to the VD, and the hard disk 123 stores the installation package of the OS in the storage space allocated to the VD, thereby implementing the installation of the OS. In some possible scenarios, the management device 410 may send an installation package of the OS to the server 420; in another possible scenario, the management device 410 may send a download link of the OS to the server 420, and the server 420 downloads an installation package of the OS. In addition, the N OSs are planned in advance and are needed to be installed.
Notably, the hard disk controller has capacity expansion capability; when a new OS is needed, in a possible case, when the RG space is remained, more VDs can be created and more OSs are installed; in a specific implementation, the server 420 acquires a newly added OS; newly adding a virtual hard disk in the hard disk group with the available space; installing the newly added OS in the newly added virtual hard disk. In another possible case, when the space of the RG is not left, more hard disks 123 may be installed, for example, the hard disks 123 are inserted into the hard disk slots of the hard disk back plate 124, so that more VD may be created and more OS may be installed; in a specific implementation, the server 420 obtains a newly added hard disk, divides the newly added hard disk into a target hard disk group in the existing hard disk groups, and newly adds a virtual hard disk in the target hard disk group; installing the newly added OS in the newly added virtual hard disk.
Step 602, the server 420 sends N OS identities to the management device 410.
In step 603, the management device 410 accesses the automated test platform to perform configuration of a test plan, so as to obtain a test plan, where the test plan indicates N OSs to be tested in the N OSs, and the N OSs correspond to objects to be tested, where the objects to be tested are 1 or more of firmware, driver or software, and N is a positive integer greater than or equal to 2.
Illustratively, N may be equal to N, i.e., all OSs are tested, or may be less than N.
In some possible scenarios, a tester may set a test order among at least some of the n OSs through the management device 410. Specifically, at least a first OS to be tested may be set.
It should be noted that, in some possible scenarios, the object to be tested may be control software, generally firmware or driver, required by the hardware in the OS boot server 420, where the OS is used to load the object to be tested to implement control over the hardware in the server 420, and the main purpose of the test is to detect whether the hardware can work normally, for example, whether the hardware can read and write normally; in other possible scenarios, the object to be tested may be software, the main purpose of which is to detect whether the software can function properly in different OSs.
Step 604, the management device 410 sends the test plan to the management device 410.
Step 605, the management device 410 determines test information based on the test plan, where the test information indicates a test sequence of n OSs and a test object to be tested of the n OSs.
When the first-boot OS is not indicated in the test plan in step 604, the first-boot OS in the test information is any one of the n OS. For example, the n OS numbers are: OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n-1, the first start OS is the minimum number OS0000 OS.
In some possible implementations, where the test order among n OSs is not indicated in the test plan in step 604, management device 410 may randomly schedule the test order of the n OSs; for example, the arrangement of the test sequence is performed in the order in which the numbers of the OS are increased. For example, assume that the n+1 OS numbers are: OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n-1, then the test order of n OS is OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n-1. The first boot OS is the OS indicated by OS 0000.
In some possible implementations, where the test order among the n OSs is indicated in the test plan in step 604, management device 410 may determine the test order among the n OSs in accordance with the test order specified by the tester.
For example, assume that the n OSs are numbered: OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n-1, the test order of OS specified by the tester is OS000n-1, OS000n-2, …, OS0000, then the test order of n OS is OS000n-1, OS000n-2, …, OS0000.
Illustratively, the tester specifies the test order of 2 or more of the n OS, and in particular implementations, the tester may specify the test order bits of the tested OS (indicating what OS is tested the third time out of the total number of tests), and the management device 410 determines the test order among the n OS based on the test order of 2 or more of the n OS specified by the tester. For OSs where the tester does not specify test order bits, the ordering may be random, e.g., according to the size of the OS number. For example, assume that the n OSs are numbered: the test order bits of OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n-1, which are specified by the tester, are 0, 3, 9, 27, …, and the test order of the n OSs is OS0000, OS000n-1, OS0003, OS000n-2, …, which are not specified by the tester, are ordered in the order of the numbers of the OSs from large to small.
It should be noted that the objects to be tested of different OSs may be the same or different. Specifically, the test scene is combined with the actual test scene to determine the objects to be tested of different OSs.
In one possible scenario, there are mainly three test scenarios:
scene 1: software testing is mainly used for testing whether software can normally run or not, and generally, when the software is upgraded, the software after the upgrade is tested. In the case of a software test scenario, the object to be tested may comprise software. If only software testing is performed, the objects to be tested for different OSs may be the same.
Scene 2: the firmware test is mainly to test whether the firmware is installed in the hardware of the server 420, whether the OS can normally control the hardware or not, whether the hardware works normally, and generally, when the firmware is upgraded, the firmware after the upgrade is tested. In the case of a firmware test scenario, the object to be tested may include firmware. If only firmware testing is performed, the objects to be tested for different OSs may be the same.
Scene 3: the driver test is mainly to test whether the driver is installed in the OS, and the OS can work normally or not, and generally, when the driver is upgraded, the upgraded driver is tested. The kernels of different OSs are different, and the drivers need to adapt to the kernels of the OSs, so the same type of driver is different in different OSs. In the case of a driver test scenario, the object to be tested may include drivers, with different OS drivers. If only the drive test is performed, the objects to be tested of different OS are different, but the types of the objects to be tested of different OS are the same.
In some possible scenarios, in order to improve the test efficiency, if software test, firmware test and drive test exist at the same time, different test scenarios may be combined, so as to obtain the objects to be tested of different OS. For example, any two of the software test, the firmware test, the drive test may be performed simultaneously. For example, if the software test is to be performed after the firmware test, the software test and the firmware test may be combined. For example, if the driver test needs to be performed after the firmware test, the driver test and the firmware test may be combined. For example, if the software test is to be performed after the driver test, the driver test and the software test may be combined. For example, if the software test is to be performed after the firmware test, the driver test, the software test, the firmware test, the driver test may be combined.
Notably, the OS involved in the software test, the OS involved in the firmware test, and the OS involved in the driver test may be partially the same, or completely different, and the corresponding objects to be tested of the OS need to be flexibly determined in combination with the test scenario in which the OS needs to participate.
Step 606, the management device 410 determines a first command based on the test information; the first command instructs a first OS of the n OS to be started in the server 420.
Step 607, the management device 410 sends a first command to the server 420.
In step 608, the server 420 obtains the first command, starts the first OS, and tests the object to be tested under the first OS.
It is noted that the first command may include a plurality of commands, and the plurality of commands may include a switch command, and a restart command, where the switch command may be a command of a boot manager of the BIOS, for instructing to switch to the first OS, and the restart command is for instructing the server 420 to restart. The issuing time of the switching command is different from that of the restarting command, and the switching command is issued first and then the restarting command is issued. Note that, if the OS initially started by the server 420 is the first OS, the server 420 does not need to be restarted, and the first command does not include a restart command. The server 420 is provided with a boot manager (typically located in the BIOS), and the boot manager may arrange n OS (typically the numbers of the installed OS are ordered from small to large), and the first OS is the OS that needs to be booted. In a specific implementation, before restarting, the server 420 checks whether the OS located at the first place is the OS indicated by the switch command, and if not, the OS indicated by the switch command needs to be moved to the first place; then restarting, loading the OS at the first position. It is noted that in some possible scenarios, the first command may be a command of a boot manager of the BIOS, and when the server 420 needs to be restarted, the management device 410 sends a restart command to the server 420.
In practical application, when the server 420 tests the object to be tested under the first OS, the object to be tested needs to be tested according to the first test requirement. In a specific implementation, after the first OS is started, the management device 410 may issue a test command according to n to-be-tested objects of the OS, where the test command is used to instruct the server 420 to test the to-be-tested objects according to a first test requirement; the first test requirement indicates the condition of the object to be tested, the test method, the parameters to be tested, and the like, and the first test requirement can be flexibly designed specifically according to the actual requirement.
Wherein the condition of the object to be tested may include an update requirement. The update requirements may include version requirements; for the version requirement, if the server 40 finds that the version of the object to be tested does not meet the requirement, the version of the object to be tested can be requested to the management device 420, and the management device 420 can issue the version of the object to be tested or the download address of the object to be tested, so that the server 420 modifies the version of the object to be tested and meets the version requirement.
In some possible implementations, the first test requirement indicates a first version of the object to be tested, the version of the object to be tested in server 420 being the second version; in particular, after the server 420 starts the first OS and before the test starts, the version of the object to be tested is sent to the management device 410 to be the second version, after the management device 410 finds that the version of the object to be tested of the server 420 is not the first version of the object to be tested, the first version of the object to be tested or the download address of the object to be tested is sent to the server 420, and the server 420 updates the version of the object to be tested to be the first version. It should be noted that, in an actual business scenario, after the developer develops the first version of the object to be tested, the first version of the object to be tested is stored in the automated test platform deployed by the management device 410, so that subsequent management is facilitated.
In some possible scenarios, the object to be tested may include firmware or a driver, and the test by the OS is mainly to determine whether the OS can normally operate, such as reading and writing, after loading the object to be tested after installing the object to be tested, and if the OS cannot normally operate, whether the OS can restore to the previous state.
In some possible scenarios, the object to be tested may comprise software, with the OS test primarily to determine if the software can function properly.
Step 609, the management device 410 determines a second command based on the test information and the first OS; the second command instructs a second OS of the n OS to be started in the server 420.
In practical application, the management device 410 determines the second command based on the test information and the first command when determining that the test of the object to be tested by the first OS is completed. In a specific implementation, the management device 410 may determine that the test of the object to be tested by the first OS is completed based on the test condition of the first OS reported by the server 420, and take the next OS of the first OS indicated by the first command in the test sequence of the n OSs as the second OS. Wherein the test condition may indicate the progress of the test.
Step 610, the management device 410 sends a second command to the server 420.
In step 611, the server 420 obtains a second command, starts a second OS, and tests the object to be tested under the second OS.
It is noted that the second command may include a plurality of commands, and the plurality of commands may include a switch command, and a restart command, where the switch command may be a command of a boot manager of the BIOS, for instructing to boot the second OS, and the restart command is for instructing the server 420 to restart. And the switching command and the restarting command are issued at different time, and the switching command and the restarting command are issued first.
In practical application, when the server 420 tests the object to be tested under the second OS, the object to be tested needs to be tested according to the second test requirement. In a specific implementation, after the second OS is started, the management device 410 may issue a test command according to the n to-be-tested objects of the OS, where the test command is used to instruct the server 420 to test the to-be-tested objects according to the second test requirement; wherein the second test requirement indicates the condition of the object to be tested, the test method, the parameters to be tested, etc.
Wherein in some possible scenarios the test command may be referred to as a third command, which may indicate an update requirement of the object to be tested. Then in step 611, testing the object under test under the second OS may include: and acquiring a third command, updating the object to be tested according to the updating requirement of the object to be tested, and testing the updated object to be tested.
Illustratively, the update requirements may include version requirements, see above for details regarding the description of the relevant content in step 708; in some possible scenarios, when the driver needs to be upgraded, the kernel of each OS is different, resulting in different adapted drivers, and thus, when the version of the driver does not meet the version requirement, version modification is required.
For example, the update requirements may include a change in the type of the subject to be tested, which may increase or decrease, if so, the subject to be tested increases, otherwise, the subject to be tested decreases; for example, in step 708, the firmware is tested, and in step 711, the test of the driver may be added, or the test of other firmware may be stopped, and the test of the software, the driver, etc. may be newly added.
In the scheme, switching of the operating system can be realized based on instruction automation, and the switching efficiency of the operating system is improved.
It should be noted that, steps 606 to 611 describe the process of 2 OS switching, and subsequent OS switching is similar and will not be repeated; in practical application, under the control of the management device 410, the server 420 performs testing according to the testing sequence of n+1 OSs, and the server 420 reports the testing result of each OS.
In some possible scenarios, the purpose of the test is to select the OS to be used for the customer, and correspondingly, the object to be tested may be software developed for the customer; the management device 410 may select a target operating system from the n+1 OSs according to the test result reported by each of the n+1 OSs.
In some possible scenarios, the purpose of the test is to determine whether the firmware and/or the driver can be upgraded normally, and correspondingly, the object to be tested can be the firmware and/or the driver, and the management device 410 may determine whether the object to be tested is available according to the test result reported by each OS of the n+1 OS.
Note that in the embodiment of the present application, the control of the server 420 by the management apparatus 410 to realize switching of the OS is merely an example; in some possible scenarios, test scripts of each OS may also be written in advance by a tester, and the test script corresponding to the OS is deployed in the OS in the server 420, so that the server 420 may automatically implement switching of the OS.
Based on the above-provided test method, a specific application of the test method will be described. Fig. 7 is a schematic diagram of a specific application of a test method according to the embodiment of the present invention. As shown in fig. 7, assume that 1 or more RGs are created after a plurality of hard disks managed by a RAID card in the server 420 are grouped, 1 or more VDs are created under each RG, OS0000 is installed in the VD in advance, then after being started, the OS is installed under the osooo, then the OS is installed in the VD, and n kinds of OS are assumed: OS0001, OS0002, OS0003, OS0004, …, OS000n.
Then, the server 420 reports the identifiers of n+1 OS and the identifiers of the currently running OS; the automated test platform deployed by the management device 410 determines the test order of the n+1 OSs as: OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000n, and objects to be tested of OS0000, OS0001, OS0002, OS0003, OS0004, …, OS000 n.
It should be noted that, the objects to be tested corresponding to the OS need to be determined in combination with specific test scenarios (firmware test, driving test, software test), the OS involved in the software test, the OS involved in the firmware test, the OS involved in the driving test may be partially the same or completely the same, or may be completely different, and the corresponding objects to be tested of the OS need to be flexibly determined in combination with the test scenarios in which the OS needs to participate. Details can be found in step 605 about the management description between the test scenario and the object to be tested.
When the automation test platform deployed by the management device 410 determines that the OS currently running on the server 420 is the OS to be tested for the first time, a test command (indicating a test requirement on an object to be tested to the oooooo) is sent to the server 420, and after the test on the object to be tested to the OS0000 according to the test requirement of the test command is completed, the automation test platform deployed by the management device 410 reports a test condition (which indicates test data generated in the test process).
The automation test platform deployed by the management device 410 determines that the osoo 0 test is completed, issues a switching command to the server 420, and indicates switching to the next started osoo 1; the server 420 moves the ooo1 in the list of OS maintained by the boot manager to the first place in the case of OS0000, and notifies the automated test platform that the switch command has been executed; the automated test platform issues a restart command to the server 420, and the server 420 restarts, starting the first OS in the list of OS maintained by the startup manager: OSOOO1, upon completion of the boot, notifies the automated test platform server 420 that the currently running OS is OS0001.
When the automated test platform determines that the OS currently running on the server 420 is OS0001, a slave test command (indicating a test requirement on an object to be tested of the osoooo 1) is sent to the server 420, and after the OS0001 completes the test on the object to be tested of the OS0000 according to the test requirement of the test command, the automated test platform deployed on the management device 410 reports the test condition (which indicates test data generated in the test process).
With reference to the test procedure of switching to OS0001 by osoooo 0, the test of operating system switching is performed in the order of OS0002, OS0003, OS0004, …, OS000n until the test of n+1 OS is completed.
Later, the automated test platform deployed by the management device 410 may later expose test data to the tester, or recommend an OS that performs better than the test data, so that the tester may perform later work arrangement.
Notably, in the context of testing for firmware upgrades, for the first time testing for firmware: if the firmware is not upgraded, firstly, the firmware needs to be upgraded and then tested; subsequently, the firmware is directly tested without updating the firmware again. In the scenario of drive test for drive upgrade, for each test: it is necessary to detect whether the driver of the OS of the server 420 is upgraded, and if not, it is necessary to upgrade the driver and then test it. In the scenario of driving test of software upgrading, for the first test of the software, if the software is not upgraded, the software is firstly required to be upgraded and then tested; subsequently, the software is directly tested without upgrading the software again.
Based on the same conception as the method embodiment of the application, the embodiment of the application also provides a testing device. The testing device comprises a plurality of modules, each module is used for executing each step in the testing method provided by the embodiment of the application, and the division of the modules is not limited herein. It will be apparent to those skilled in the art that, in practical application, each step in the testing method provided in the embodiments of the present application may be distributed and completed by different modules, i.e. the internal structure of the device is divided into different modules, so as to complete all or part of the functions described above. The modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more modules may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, the specific names of the modules are only for distinguishing from each other, and are not used to limit the protection scope of the present application. The specific working process of the modules in the above apparatus may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
For example, the test apparatus is configured to execute the test method executed by the server 420 provided in the embodiment of the present application, and fig. 8 is a schematic structural diagram of the test apparatus provided in the embodiment of the present application. As shown in fig. 8, a test apparatus provided in an embodiment of the present application includes:
a first obtaining module 801, configured to obtain a first command, where the first command is used to instruct a first operating system of the at least two operating systems to be started in the server;
a first test module 802, configured to start a first operating system, and test an object to be tested;
a second obtaining module 803, configured to obtain a second command, where the second command instructs the server to start a second operating system of the at least two operating systems;
the second testing module 804 is configured to start a second operating system to test the object to be tested.
The details of the first obtaining module 801 may be described in step 606 and step 607, and the first command may be from the management device 420. Details of the first test module 802 may be found in the description of step 609. The second obtaining module 803 may refer to the description of step 609 and step 610, and the second command may be from the management device 420. Details of the second test module 804 may be found in the description of step 611.
It should be noted that the test apparatus is disposed in the server 420.
For example, the test apparatus is configured to perform the test method performed by the management device 410 provided in the embodiment of the present application, and fig. 9 is a schematic structural diagram of the test apparatus provided in the embodiment of the present application. As shown in fig. 9, a test apparatus provided in an embodiment of the present application includes:
a first command determining module 901, configured to send a first command to a server according to the test information; the test information indicates a test order of at least two operating systems; the first command indication is used for indicating to start a first operating system in the at least two operating systems in the server; the server starts a first operating system and tests the object to be tested;
a second command determining module 902, configured to send a second command to the server according to the test information and the first operating system; the second command instructs the server to boot a second operating system of the at least two operating systems; and starting a second operating system by the server, and testing the object to be tested.
Wherein the first command determination module 901 may refer to the description of step 606 and step 607 above and the second command determination module 902 may refer to the description of step 609 and step 610 above.
Based on the same concept as the method embodiment of the present application, the embodiment of the present application further provides a server, where the structure of the server may refer to the structure of the server 420 in fig. 4.
In a specific application, the hard disk 123 may store a computer program, and when the server 420 is running, the CPU111 may read the computer program stored in the hard disk 123, to implement the steps performed by the server 420 in fig. 6, for example, step 608 and step 611 in fig. 6.
By way of example, a computer program may be divided into one or more modules/units, which may be a series of computer program instruction segments capable of performing a specific function, stored in the hard disk 123 and executed by the CPU111 to perform the present application. For example, the computer program may be divided into a first acquisition module 801, a first test module 802, a second acquisition module 803, a second test module 804, each module having specific functions as described above.
Based on the same concept as the method embodiment of the present application, the embodiment of the present application further provides a management device, where the structure of the management device may refer to the structure of the server 420 in fig. 4, and a display screen is additionally added.
In a specific application, the hard disk 123 may store a computer program, and when the management device 420 is running, the CPU111 may read the computer program stored in the hard disk 123, to implement the steps performed by the management device 410 in fig. 6, for example, step 606, step 607, step 609, and step 610 in fig. 6.
By way of example, a computer program may be divided into one or more modules/units, which may be a series of computer program instruction segments capable of performing a specific function, stored in the hard disk 123 and executed by the CPU111 to perform the present application. For example, the computer program may be divided into a first command determination module 901, a second command determination module 902, each module having specific functions as described above.
In addition to the methods, apparatus and electronic devices described above, embodiments of the present application may also provide a computer program product comprising computer program instructions which, when executed by a processor, cause the processor to perform the steps in the test methods of the various embodiments of the present application described in the "methods" section of the present specification. Wherein the computer program product may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. Wherein the computer program code may be in the form of source code, object code, executable files, or in some intermediate form, etc. The computer program code may execute entirely on the tester computing device, partly on the tester device, as a stand-alone software package, partly on the tester computing device, partly on a remote computing device, or entirely on a remote computing device or server.
Furthermore, embodiments of the present application may also provide a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, cause the processor to perform steps in a test method according to various embodiments of the present disclosure described in the "method" section of the present specification. The computer readable storage medium may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may include, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. It should be noted that the computer readable medium contains content that can be appropriately scaled according to the requirements of jurisdictions in which such content is subject to legislation and patent practice, such as in certain jurisdictions in which such content is subject to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
It should be understood that the sequence number of each step in the foregoing embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic of each process, and should not limit the implementation process of the embodiment of the present application in any way.
The basic principles of the present application have been described above in connection with specific embodiments, however, it should be noted that the advantages, benefits, effects, etc. mentioned in the present application are merely examples and not limiting, and these advantages, benefits, effects, etc. are not to be considered as necessarily possessed by the various embodiments of the present disclosure. Furthermore, the specific details disclosed herein are for purposes of illustration and understanding only, and are not intended to be limiting, since the disclosure is not necessarily limited to practice with the specific details described.
The block diagrams of the devices, apparatuses, devices, systems referred to in this disclosure are merely illustrative examples and are not intended to require or imply that the connections, arrangements, configurations must be made in the manner shown in the block diagrams. As will be appreciated by one of skill in the art, the devices, apparatuses, devices, systems may be connected, arranged, configured in any manner. Words such as "including," "comprising," "having," and the like are words of openness and mean "including but not limited to," and are used interchangeably therewith. The terms "or" and "as used herein refer to and are used interchangeably with the term" and/or "unless the context clearly indicates otherwise. The term "such as" as used herein refers to, and is used interchangeably with, the phrase "such as, but not limited to.
It is also noted that in the apparatus, devices and methods of the present disclosure, components or steps may be disassembled and/or assembled. Such decomposition and/or recombination should be considered equivalent to the present disclosure.
The foregoing description has been presented for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of the disclosure to the form disclosed herein. Although a number of example aspects and embodiments have been discussed above, a person of ordinary skill in the art will recognize certain variations, modifications, alterations, additions, and subcombinations thereof.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application.

Claims (10)

1. A test method, characterized by being used in a server, wherein at least two operating systems and an object to be tested are stored in the server, the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, firmware or software, the method comprises;
acquiring a first command, wherein the first command is used for indicating a first operating system in the at least two operating systems to be started in the server;
Starting the first operating system to test the object to be tested;
acquiring a second command, wherein the second command indicates the server to start a second operating system in the at least two operating systems;
and starting the second operating system to test the object to be tested.
2. The method of claim 1, wherein prior to said booting said second operating system, comprising: controlling the server to restart; or,
the server comprises a plurality of hard disks and a hard disk manager, wherein the hard disk manager is used for virtualizing the plurality of hard disks into at least one hard disk group, and a virtual hard disk is created in one or more hard disk groups; the at least two operating systems are stored in a virtual hard disk of the server.
3. The method of claim 2, wherein each of the virtual disks stores an operating system; and/or, the method further comprises:
acquiring a newly added operating system; newly adding a virtual hard disk in the hard disk group with the available space; installing the newly added operating system in the newly added virtual hard disk; or,
obtaining a newly added hard disk, dividing the newly added hard disk into target hard disk groups in the existing hard disk groups, and newly adding a virtual hard disk in the target hard disk groups; and installing the newly-added operating system in the newly-added virtual hard disk.
4. A method according to any one of claims 1 to 3, characterized in that the first command and/or the second command is obtained from a management device;
the first command and/or the second command is an instruction for starting a manager in the basic input/output system;
the object to be tested or the download address of the object to be tested is obtained from the management device.
5. The method according to any one of claims 1 to 4, wherein said testing said subject comprises:
acquiring a third command, wherein the third command indicates the update requirement of the object to be tested;
and updating the object to be tested according to the update requirement of the object to be tested, and testing the updated object to be tested.
6. A test control method, characterized by being used for a management device, where the management device is in communication with a server, where at least two operating systems and an object to be tested are stored in the server, where the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, firmware, or software, and the method includes:
According to the test information, a first command is sent to the server; the test information indicates a test order of the at least two operating systems; the first command indication is used for indicating to start a first operating system in the at least two operating systems in the server; the server starts the first operating system to test the object to be tested;
sending a second command to the server according to the test information and the first operating system; the second command instructs the server to boot a second operating system of the at least two operating systems; and the server starts the second operating system to test the object to be tested.
7. The method of claim 6, wherein the method further comprises:
and receiving the test condition of the first operating system aiming at the object to be tested, which is sent by the server, and sending a second command to the server according to the test information and the first operating system after determining that the test of the first operating system is completed.
8. A server comprising a processor and a memory; wherein,
The memory is used for storing programs;
the processor is configured to execute the program stored in the memory, and when the program stored in the memory is executed, to perform the method of any one of claims 1 to 5.
9. A management device comprising a processor and a memory; wherein,
the memory is used for storing programs;
the processor is configured to execute the program stored in the memory, and when the program stored in the memory is executed, to perform the method of claim 6 or 7.
10. A test system comprising a server and a management device: the server stores at least two operating systems and an object to be tested, wherein the object to be tested is used for testing in the at least two operating systems, and the object to be tested is one or more of a driver, a firmware or software;
the management equipment is used for sending a first command to the server according to the test information; the test information indicates a test order of the at least two operating systems; the first command indication is used for indicating to start a first operating system in the at least two operating systems in the server;
the server is used for starting the first operating system and testing the object to be tested;
The management device is used for sending a second command to the server according to the test information and the first operating system; the second command instructs the server to boot a second operating system of the at least two operating systems;
the server is used for starting the second operating system and testing the object to be tested.
CN202311385556.2A 2023-10-24 2023-10-24 Test method, server, management equipment and test system Pending CN117609009A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311385556.2A CN117609009A (en) 2023-10-24 2023-10-24 Test method, server, management equipment and test system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311385556.2A CN117609009A (en) 2023-10-24 2023-10-24 Test method, server, management equipment and test system

Publications (1)

Publication Number Publication Date
CN117609009A true CN117609009A (en) 2024-02-27

Family

ID=89952371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311385556.2A Pending CN117609009A (en) 2023-10-24 2023-10-24 Test method, server, management equipment and test system

Country Status (1)

Country Link
CN (1) CN117609009A (en)

Similar Documents

Publication Publication Date Title
US8914785B2 (en) Providing virtual appliance system firmware images
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
CN105814541A (en) Computer device and memory starting method for computer device
JP6198843B2 (en) Hard disk system operating method, storage system, and processor
US20200364040A1 (en) System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module
CN114756290A (en) Operating system installation method, device and readable storage medium
CN113791874A (en) Configuration method and device for virtual machine boot, computer equipment and storage medium
CN113064637B (en) Method and system for starting from separated BIOS image file
CN106528114B (en) Android firmware application device and android firmware upgrading method
US12067380B2 (en) System and method of offloading and migrating management controller functionalities using containerized services and application thereof
CN116627472A (en) Firmware program upgrading method and server of high-speed peripheral component equipment
CN116501343A (en) Program upgrading method, power supply and computing device
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN117609009A (en) Test method, server, management equipment and test system
CN112667544A (en) Method, device, system and medium for controlling mainboard slot enabling
US10210004B2 (en) Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system
CN114443582B (en) File system mounting method, device, equipment and medium on operating system
CN110928582B (en) Information processing apparatus and method of configuring target device of information processing apparatus
US9436488B2 (en) Program redundancy among virtual machines and global management information and local resource information arrangement
CN110007973B (en) Information processing method and electronic equipment
US20240036896A1 (en) Generating installation images based upon dpu-specific capabilities
JP7318799B2 (en) Information processing device, operation control method and operation control program
CN118276921A (en) Method and system for adjusting device firmware according to BIOS
CN113448644A (en) OC hard disk configuration method, device, terminal and storage medium in ring3 mode of operating system

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