Systems and methods for using virtualization of operating-system-level components to facilitate software testing
First Claim
1. A computer-implemented method for using virtualization of operating-system-level components to facilitate software testing, wherein each operating system-level component comprises at least one of a registry key, a hardware driver, a network driver, or an application programming interface (API), at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
- managing software testing with a virtualized operating system component, wherein the software testing uses a testing module operating on the computing device to automatically, autonomously, and without user intervention, perform direct testing of a software product installed on a computing system comprising a base operating system, the testing comprising;
identifying, by the computing device at the request of the testing module, the software product installed on the computing system comprising the base operating system, wherein;
the base operating system comprises a plurality of operating-system-level components;
the base operating system runs directly on the hardware of the computing system;
selecting, by the computing device at the request of the testing module, from within the plurality of operating-system-level components, an operating-system-level component for use in testing, wherein selecting the operating-system-level component comprises excluding at least one other component from within the plurality of operating-system-level components from use in testing;
isolating, by the computing device at the request of the testing module, an operating-system-level component that corresponds to the selected operating-system-level component in a virtualization layer that is distinct from the base operating system;
activating, by the computing device at the request of the testing module, the virtualization layer such that access requests directed to the base operating system for the selected operating-system-level component are redirected to the virtualization layer;
testing, by the computing device at the request of the testing module, the software product while the virtualization layer is active to determine how the software product would function if the isolated operating-system-level component were part of the base operating system;
after the testing is complete, deactivating, by the computing device at the request of the testing module, the virtualization layer such that the isolated operating-system-level component is no longer visible to the base operating system or the software product;
comparing, by the computing device at the request of the testing module, functionality of the software product when the virtualization layer is inactive to functionality of the software product when the virtualization layer is active to determine whether the software product functions properly when the virtualization layer is active.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method for facilitating software testing using operating-system component virtualization may include 1) identifying a software product installed on a computing system comprising a base operating system; 2) selecting an operating-system-level component with which the software product is to be tested; 3) isolating the operating-system-level component in a virtualization layer that is distinct from the base operating system; 4) activating the virtualization layer such that access requests directed to the base operating system for the operating-system-level component are redirected to the virtualization layer; 5) testing the software product while the virtualization layer is active to determine how the software product would function if the operating-system-level component was part of the base operating system; and 6) after the testing is complete, deactivating the virtualization layer such that the operating-system-level component is no longer visible to the base operating system or the software product.
-
Citations
20 Claims
-
1. A computer-implemented method for using virtualization of operating-system-level components to facilitate software testing, wherein each operating system-level component comprises at least one of a registry key, a hardware driver, a network driver, or an application programming interface (API), at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
-
managing software testing with a virtualized operating system component, wherein the software testing uses a testing module operating on the computing device to automatically, autonomously, and without user intervention, perform direct testing of a software product installed on a computing system comprising a base operating system, the testing comprising; identifying, by the computing device at the request of the testing module, the software product installed on the computing system comprising the base operating system, wherein; the base operating system comprises a plurality of operating-system-level components;
the base operating system runs directly on the hardware of the computing system;selecting, by the computing device at the request of the testing module, from within the plurality of operating-system-level components, an operating-system-level component for use in testing, wherein selecting the operating-system-level component comprises excluding at least one other component from within the plurality of operating-system-level components from use in testing;
isolating, by the computing device at the request of the testing module, an operating-system-level component that corresponds to the selected operating-system-level component in a virtualization layer that is distinct from the base operating system;
activating, by the computing device at the request of the testing module, the virtualization layer such that access requests directed to the base operating system for the selected operating-system-level component are redirected to the virtualization layer;
testing, by the computing device at the request of the testing module, the software product while the virtualization layer is active to determine how the software product would function if the isolated operating-system-level component were part of the base operating system;
after the testing is complete, deactivating, by the computing device at the request of the testing module, the virtualization layer such that the isolated operating-system-level component is no longer visible to the base operating system or the software product;
comparing, by the computing device at the request of the testing module, functionality of the software product when the virtualization layer is inactive to functionality of the software product when the virtualization layer is active to determine whether the software product functions properly when the virtualization layer is active. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 18, 19, 20)
-
-
11. A testing system for using virtualization of operating system-level components to facilitate software testing, wherein each operating system-level component comprises at least one of a registry key, a hardware driver, a network driver, or an application programming interface (API), the system comprising:
-
a testing module programmed to manage software testing with a virtualized operating system component, wherein the testing module operates on a computing device to automatically, autonomously, and without user intervention, perform direct testing of a software product installed on a computing system comprising a base operating system, the testing comprising; identifying, by the computing device at the request of the testing module, the software product installed on the computing system comprising the base operating system, wherein; the base operating system comprises a plurality of operating-system-level components; the base operating system runs directly on the hardware of the computing system;
selecting, by the computing device at the request of the testing module, from within the plurality of operating-system-level components, an operating-system-level component for use in testing, wherein selecting the operating-system-level component comprises excluding at least one other component from within the plurality of operating-system-level components from use in testing;isolating, by the computing device at the request of the testing module, isolation module programmed to isolate an operating-system-level component that corresponds to the selected operating-system-level component in a virtualization layer that is distinct from the base operating system;
activating, by the computing device at the request of the testing module, the virtualization layer such that access requests directed to the base operating system for the selected operating-system-level component are redirected to the virtualization layer;testing, by the computing device at the request of the testing module, a test module programmed to test the software product while the virtualization layer is active to determine how the software product would function if the isolated operating-system-level component were part of the base operating system; after the testing is complete, deactivating, by the computing device at the request of the testing module, the virtualization layer such that the isolated operating-system-level component is no longer visible to the base operating system or the software product; comparing, by the computing device at the request of the testing module, functionality of the software product when the virtualization layer is inactive to functionality of the software product when the virtualization layer is active to determine whether the software product functions properly when the virtualization layer is active; at least one processor configured to execute the testing module. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable-storage medium comprising computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:
- manage software testing with a virtualized operating system component, the virtualized operating system component comprising at least one of a registry key, a hardware driver, a network driver, or an application programming interface (API), wherein the software testing uses a testing module operating on the computing device to automatically, autonomously, and without user intervention, perform direct testing of a software product installed on a computing system comprising a base operating system, the testing comprising;
identifying, by the computing device at the request of the testing module, the software product installed on the computing system comprising the base operating system, wherein;the base operating system comprises a plurality of operating-system-level components; the base operating system runs directly on the hardware of the computing system;
selecting, by the computing device at the request of the testing module, from within the plurality of operating-system-level components, an operating-system-level component for use in testing, wherein selecting the operating-system-level component comprises excluding at least one other component from within the plurality of operating-system-level components from use in testing;isolating, by the computing device at the request of the testing module, an operating-system-level component that corresponds to the selected operating-system-level component in a virtualization layer that is distinct from the base operating system; activating, by the computing device at the request of the testing module, the virtualization layer such that access requests directed to the base operating system for the selected operating-system-level component are redirected to the virtualization layer; testing, by the computing device at the request of the testing module, the software product while the virtualization layer is active to determine how the software product would function if the isolated operating-system level component were part of the base operating system; after the testing is complete, deactivating, by the computing device at the request of the testing module, the virtualization layer such that the isolated operating-system-level component is no longer visible to the base operating system or the software product; comparing, by the computing device at the request of the testing module, functionality of the software product when the virtualization layer is inactive to functionality of the software product when the virtualization layer is active to determine whether the software product functions properly when the virtualization layer is active.
- manage software testing with a virtualized operating system component, the virtualized operating system component comprising at least one of a registry key, a hardware driver, a network driver, or an application programming interface (API), wherein the software testing uses a testing module operating on the computing device to automatically, autonomously, and without user intervention, perform direct testing of a software product installed on a computing system comprising a base operating system, the testing comprising;
Specification