Test Optimization Using Software Virtualization

20
Test Optimization Using Software Virtualization Frank Pacelli

description

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?. - PowerPoint PPT Presentation

Transcript of Test Optimization Using Software Virtualization

Page 1: Test Optimization Using Software Virtualization

Test Optimization UsingSoftware Virtualization

Frank Pacelli

Page 2: Test Optimization Using Software Virtualization

Agenda

• Problem illustration• Virtualization defined • 4 virtualization approaches• Virtualized test platforms• Virtualization product options• Other options

Page 3: Test Optimization Using Software Virtualization
Page 4: Test Optimization Using Software Virtualization

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

Page 5: Test Optimization Using Software Virtualization

Virtualization Approaches

• Full system virtualization• Paravirtualization• Native virtualization• OS level virtualization

Page 6: Test Optimization Using Software Virtualization

Full-System Virtualization

• Virtualization is transparent to virtual machine

• Sophisticated software simulates hardware

• 3 levels above hardware

Page 7: Test Optimization Using Software Virtualization

Paravirtualization

• Underlying virtualization software exposes API

• 'Guest' OS must be modified significantly to use this API instead of actual hardware

• 3 levels above hardware

Page 8: Test Optimization Using Software Virtualization

Native Virtualization

• Virtualization is transparent to virtual machine

• Hardware handles routing of instructions to/from virtual machine

• 1 level above hardware

Page 9: Test Optimization Using Software Virtualization

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

Page 10: Test Optimization Using Software Virtualization

Virtualized Test Platforms

• Virtualization can be used in countless configurations to optimized testing

• Host OS is irrelevent

Page 11: Test Optimization Using Software Virtualization
Page 12: Test Optimization Using Software Virtualization
Page 13: Test Optimization Using Software Virtualization
Page 14: Test Optimization Using Software Virtualization
Page 15: Test Optimization Using Software Virtualization
Page 16: Test Optimization Using Software Virtualization
Page 17: Test Optimization Using Software Virtualization

Virtualization Products

 

Page 18: Test Optimization Using Software Virtualization

Other Options

• Simulationo Attempt to model real behavior/data o Can only be used for unit testing

• Partially real test setupo hybrid approach o partial real hardware/software o partial simulatorso partial stubs

Page 19: Test Optimization Using Software Virtualization

Summary

• Virtualization is multiple OS sharing the resources of one machine

• 4 approacheso Full system virtualizationo Paravirtualizationo Native virtualizationo 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

Page 20: Test Optimization Using Software Virtualization

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