Automating the testing of software or hardware components by dynamically creating virtual storage devices on a simulated system bus in a physical computer system
First Claim
1. A method for dynamically creating a virtual storage device on a physical computer system, the physical computer system comprising software monitoring created devices, the method comprising:
- loading a system bus driver module, wherein the system bus driver module simulates a system bus adapted to interface with a plurality of virtual storage devices;
dynamically creating a virtual storage device on the simulated system bus by creating a physical device object for the created virtual storage device, the created virtual storage device simulating a physical storage device not operatively connected to the physical computer system;
returning a hardware ID to the software monitoring created devices, wherein the hardware ID identifies a type of the physical storage device simulated by the created virtual storage device;
attaching, to the created virtual storage device, a storage class driver corresponding to the type of the physical storage device based on processing done by the software monitoring created devices;
creating at least one partition on a storage medium of the physical computer system, the storage medium being of a first device type;
creating a formatted backing store on the at least one partition, the formatted backing store being formatted like a second device type different from the first device type, the second device type being a type of the simulated physical storage device;
mapping the virtual storage device to the formatted backing store in the storage medium of the physical computer system such that data written to the virtual storage device is written to the at least one partition on the storage medium of the physical computer system;
mounting a file system to each partition on the created virtual storage device; and
handling I/O requests to the created virtual storage device by calculating offsets in the formatted backing store; and
dynamically creating at least one second virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a second physical device object for the at least one second virtual storage device wherein the second virtual storage device is of a different type than the first virtual storage device, the at least one virtual storage device simulating a second physical storage device not operatively connected to the computer system different from the first physical storage device; and
automatically performing a plurality of testing operations to test functions of the software or hardware components involving interactions with the first and second physical storage devices, the automatically testing comprising simulating the first and second physical storage devices with the first virtual storage device and the second virtual storage device, wherein performing a plurality of testing functions comprises performing at least one testing operation for the first virtual storage device and the second virtual storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method for automating testing tasks which would otherwise have to be done manually using actual hardware by providing the capability to dynamically create many types of storage devices with different storage media, thus eliminating the need to have test machines with the actual hardware. In one embodiment a virtual storage device driver can be implemented that can be used to simulate various storage devices such as CD-ROM, CD-R, CD-RW, removable disk drives and fixed disk drives. Manual testing tasks such as testing autoplay functionality when a CD is inserted, testing CD burning, and testing CD audio playback can then be automated.
29 Citations
17 Claims
-
1. A method for dynamically creating a virtual storage device on a physical computer system, the physical computer system comprising software monitoring created devices, the method comprising:
-
loading a system bus driver module, wherein the system bus driver module simulates a system bus adapted to interface with a plurality of virtual storage devices; dynamically creating a virtual storage device on the simulated system bus by creating a physical device object for the created virtual storage device, the created virtual storage device simulating a physical storage device not operatively connected to the physical computer system; returning a hardware ID to the software monitoring created devices, wherein the hardware ID identifies a type of the physical storage device simulated by the created virtual storage device; attaching, to the created virtual storage device, a storage class driver corresponding to the type of the physical storage device based on processing done by the software monitoring created devices; creating at least one partition on a storage medium of the physical computer system, the storage medium being of a first device type; creating a formatted backing store on the at least one partition, the formatted backing store being formatted like a second device type different from the first device type, the second device type being a type of the simulated physical storage device; mapping the virtual storage device to the formatted backing store in the storage medium of the physical computer system such that data written to the virtual storage device is written to the at least one partition on the storage medium of the physical computer system; mounting a file system to each partition on the created virtual storage device; and handling I/O requests to the created virtual storage device by calculating offsets in the formatted backing store; and dynamically creating at least one second virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a second physical device object for the at least one second virtual storage device wherein the second virtual storage device is of a different type than the first virtual storage device, the at least one virtual storage device simulating a second physical storage device not operatively connected to the computer system different from the first physical storage device; and automatically performing a plurality of testing operations to test functions of the software or hardware components involving interactions with the first and second physical storage devices, the automatically testing comprising simulating the first and second physical storage devices with the first virtual storage device and the second virtual storage device, wherein performing a plurality of testing functions comprises performing at least one testing operation for the first virtual storage device and the second virtual storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer storage medium having computer-executable components and software monitoring created devices, the computer-executable components adapted for execution on a physical computer comprising a memory, the computer-executable components comprising a plurality of modules, the modules comprising:
-
a system bus driver module for simulating a system bus adapted to interface with a plurality of virtual storage devices; a virtual storage device creation module for creating a virtual storage device on the simulated system bus by creating a physical device object, the created virtual storage device simulating a physical storage device not operatively coupled to the physical computer system, and returning a hardware ID to software monitoring created devices identifying a type of the physical storage device simulated by the created virtual storage device; a storage class attachment module for attaching, to the created virtual storage device, a storage class driver corresponding to the type of the physical storage device based on processing done by the software monitoring created devices; a partition manager module for creating a partition on a storage medium of the physical computer system, the storage medium being of a first device type, and mapping the virtual storage device to the partition in the storage medium of the physical computer system such that data written to the virtual storage device is written to the partition on the storage medium of the physical computer system; a file system mounting module for mounting a file system to each partition on the created virtual storage device; an I/O request module for handling I/O requests to the created virtual storage device by calculating offsets in the formatted backing store; and dynamically creating at least one second virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a second physical device object for the at least one second virtual storage device wherein the second virtual storage device is of a different type than the first virtual storage device, the at least one virtual storage device simulating a second physical storage device not operatively connected to the computer system different from the first physical storage device; and automatically performing a plurality of testing operations to test functions of the software or hardware components involving interactions with the first and second physical storage devices, the automatically testing comprising simulating the first and second physical storage devices with the first virtual storage device and the second virtual storage device, wherein performing a plurality of testing functions comprises performing at least one testing operation for the first virtual storage device and the second virtual storage device. - View Dependent Claims (10, 11, 12)
-
-
13. A method for automating testing of software or hardware components by creating a plurality of virtual storage devices on a computer system comprising software monitoring created devices, the method comprising:
-
loading a system bus driver module, wherein the system bus driver module simulates a system bus adapted to interface with the plurality of virtual storage devices; dynamically creating a first virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a physical device object for the first virtual storage device, the first virtual storage device simulating a first physical storage device not operatively connected to the physical computer system; returning a hardware ID to the software monitoring created devices, wherein the hardware ID identifies a type of the physical storage device simulated by the first virtual storage device; attaching, to the first virtual storage device, a storage class driver corresponding to the type of the physical storage device based on processing done by the software monitoring created devices; creating a partition on a storage medium of the physical computer system, the storage medium being of a first device type; mapping the first virtual storage device to the partition on the storage medium of the computer system such that data written to the first virtual storage device is written to the partition on the storage medium of the computer system; mounting a file system to the partition on the storage medium; handling I/O requests to the first virtual storage device by calculating offsets in the formatted backing store; and dynamically creating at least one second virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a second physical device object for the at least one second virtual storage device wherein the second virtual storage device is of a different type than the first virtual storage device, the at least one virtual storage device simulating a second physical storage device not operatively connected to the computer system different from the first physical storage device; and automatically performing a plurality of testing operations to test functions of the software or hardware components involving interactions with the first and second physical storage devices, the automatically testing comprising simulating the first and second physical storage devices with the first virtual storage device and the second virtual storage device, wherein performing a plurality of testing functions comprises performing at least one testing operation for the first virtual storage device and the second virtual storage device. - View Dependent Claims (14, 15, 16, 17)
-
Specification