Virtualization Technology for Test Automation

12
Mark Zhitomirski ITS-EXPERT LLC Virtualization Technology for Test Automation

description

 

Transcript of Virtualization Technology for Test Automation

Page 1: Virtualization Technology for Test Automation

Mark Zhitomirski

ITS-EXPERT LLC

Virtualization Technology for Test Automation

Page 2: Virtualization Technology for Test Automation

The purpose of computing is insight,

not numbers.

Richard Hamming, 1915-1998

In preface to

Numerical Methods for Scientists and Engineers, 1962

Page 3: Virtualization Technology for Test Automation

Dictionary

Virtual, adj: being such in essence or effect though not formally recognized or admitted.

From Medieval Latin virtualis, from Latin virtus (virtue). First known use: 15th century.

VM: see Virtual Memory; Virtual Machine

VFS: ...

VLAN: ...

VNC: see VDI

VPN: ...

VPS: ...

See also: Hyper-V, Cloud, AWS, GAE, Microsoft Azure

Page 4: Virtualization Technology for Test Automation

VLAN: Virtual LAN

isolation, confidentiality

policy enforcement, authentication (optional)

partitioning (broadcast domains), equipment re-use = better ROI

Alternatives?

less flexible

more expensive in terms of equipment and labor cost, space used

Page 5: Virtualization Technology for Test Automation

VPN: Virtual Private Network

isolation (from i-net, from each other), confidentiality

policy enforcement, authentication

partitioning, authorization, private address spaces

Alternatives?

yes, but .. let's face e.g. “IP authentication” shortcomings

It's “nice to have” public IP on each device, but what do you do with security?

Page 6: Virtualization Technology for Test Automation

What else can be virtualized?

memory – VM and Paging pioneered by Ferranti Atlas in 1952 (with University of Manchester and Plessey)

runtime (library functions) or Virtual Machine – Java VM, .Net CLR, Dalvik (Android JVM)

filesystem - chroot in Unix – same kernel, network stack, CPU

filesystem (in user-mode) (SSHFS, Windows “share” mapping, here and above VFS is in game)

filesystem+network (sandbox, FreeBSD jail, Google Chrome sandbox)

sandbox + resource slice management/accounting – OpenVZ/Virtuozzo (specific shortcomings – no IPSec, memory management/accounting granularity); Solaris containers, AIX WPARs

OS – UML (StrongSWAN IPSec testing), colinux – same CPU

Desktop – VDI

Periphery – virtual CD / Printer / LAN adapter (common case for VPN)

Hardware – also called emulation or simulation Running legacy OS/ Apps – Hercules – run VM/370 or zSystem Linux on PC, MAME, virtualII modelling / verifying future hardware / system products

Full (system) virtualization CPU HDD, other storage e.g. CD, tape Network Graphics / video Input – keyboard, mouse USB, whatever is specific to emulated platform (HPET)

Page 7: Virtualization Technology for Test Automation

What suggests System Virtualization?

desire for a well defined state

“clean”, “initial”, “fully configured” and ready to go etc.

necessity to run incompatible environments

legacy apps/OS

IE6/7/8/9

Unix/Windows/MacOS X

security concerns and security research (sandboxing)

computing as utility

manageability, accountability requirements

equipment / resource re-use to increase efficiency and reduce manual labor

Page 8: Virtualization Technology for Test Automation

Notable system virtualization products

Early players:

Connectix: Virtual PC for (PowerPC) Mac 1997

VMware – founded 1998

Xen research project; public release 2003; offsprings: Sun xVM, Oracle VM, VirtualIron

Ascending

kvm (qemu-kvm) runs on Linux, also ported to Illumos (ex-OpenSolaris), FreeBSD

Hyper-V

Caveat: “paravirtualization”, hypervisor type 1 vs 2 – skip it and forget

Page 9: Virtualization Technology for Test Automation

VM and VDI – not unlike hand and glove

Precursors:

Text (and later “graphics”) terminals

X11 protocol and terminals

RFB: VNC – UK Olivetty (& Oracle) Research Lab ca. 1997, before that – Acorn, later AT&T

Teleconferencing systems (who knows TELEX? WRU?)

Current:

Xen – Citrix ICA

Hyper-V – RDP(+RemoteFX)

Sun xVM (Oracle VM) – ALP AIP. Before Sun – IXI Ltd, Cambridge, UK + Visionware, Leads,

UK; then SCO Tarantella, bought by Sun in 2005.

kvm – SPICE (and a legacy VNC)

VMware – PcoIP (Teradici)

Future:

HTML 5 ? or 6 ?

Page 10: Virtualization Technology for Test Automation

What’s the catch?what can go wrong with system virtualization?

Additional complexity, layer of indirection

Performance overhead

Licensing issues and costs (besides costs of VM Host solution and management tools, e.g. You

are not allowed to run W7HB in VM)

Hard-to-virtualize architecture (PC and x86, high-speed systems)

i/o is always a bottleneck

Temporal characteristics (non-linear time in VM, TSC on Pentium+, timekeeping)

Not obvious, hard to track problems, e.g. snapshots vs. “rich state” - do not snapshot AD

controller!

Page 11: Virtualization Technology for Test Automation

Personal success story and a use case

2009H2 Kind of cross-platform development – development machine -

Windows XP, target – RHEL5. Work cycle: check-out code - rebuild C++ pre-

requisites from XML templates - index code. Sun VirtualBox 3.0 chosen over

Vmware Workstation 6 on performance points. Not to mention cost,

acquisition/licensing concerns. Oops, that was not testing.

Use case - demo:

fire two pre-configured VMs: Windows and Linux

deploy “new version of application” under test to both platforms

“test” them and display result

Page 12: Virtualization Technology for Test Automation

Contacts

Thank YouMark Zhitomirski

Email: [email protected]

EXTENT Conference – October 2011

Test Automation for Trading Systems

Marriot Renaissance Moscow Hotel, 29-30 October

Тел: +7 (495) 640 2460

Email: [email protected]