200 likes | 348 Views
Test Optimization Using Software Virtualization. Frank Pacelli. Agenda. Problem illustration Virtualization defined 4 virtualization approaches Virtualized test platforms Virtualization product options Other options. What is Virtualization?.
E N D
Test Optimization UsingSoftware Virtualization Frank Pacelli
Agenda • Problem illustration • Virtualization defined • 4 virtualization approaches • Virtualized test platforms • Virtualization product options • Other options
What is Virtualization? • Multiple OS or "Virtual Machines" installed on one physical machine. • VMs run in parallel to one another • VMs don't realized they are virtualized • Each VM is isolated from the others • The host simulates a hardware environment for each VM • 'Guest' OS may vary in type • Limited only by hardware
Virtualization Approaches • Full system virtualization • Paravirtualization • Native virtualization • OS level virtualization
Full-System Virtualization • Virtualization is transparent to virtual machine • Sophisticated software simulates hardware • 3 levels above hardware
Paravirtualization • Underlying virtualization software exposes API • 'Guest' OS must be modified significantly to use this API instead of actual hardware • 3 levels above hardware
Native Virtualization • Virtualization is transparent to virtual machine • Hardware handles routing of instructions to/from virtual machine • 1 level above hardware
OS-level Virtualization • Only 1 OS actually installed • OS is capable of partitioning itself so it looks as if there are multiple instances • 1 level above hardware
Virtualized Test Platforms • Virtualization can be used in countless configurations to optimized testing • Host OS is irrelevent
Other Options • Simulation • Attempt to model real behavior/data • Can only be used for unit testing • Partially real test setup • hybrid approach • partial real hardware/software • partial simulators • partial stubs
Summary • Virtualization is multiple OS sharing the resources of one machine • 4 approaches • Full system virtualization • Paravirtualization • Native virtualization • OS level virtualization • Many different configurations can be used to create the optimum test environment • Open source and commercial solutions available • Virtualizatiion reduces costs, energy consumption, testing complexity, and required rack space
References • Swaminathan Seetharaman, Krishna Murthy B.V.S., "Test Optimization Using Software Virtualization" IEEE Software. Sep/Oct, 2008. Page(s) 66-69 • http://www.vmware.com/virtualization/ • http://wiki.openvz.org/Introduction_to_virtualization