Virtualization In Software Testing

5,408 views

Published on

CrazyBoy

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,408
On SlideShare
0
From Embeds
0
Number of Embeds
81
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Virtualization In Software Testing

  1. 1. Virtualization in Computer world
  2. 3. <ul><li>The explosive growth in the global software market demand with rapid advancement in computing technologies has shortened the software development life cycle. </li></ul><ul><li>Due to restrictive cost pressures, the focus has now shifted to optimizing/reducing software development lifecycle. </li></ul><ul><li>Another challenge that industry is facing, is to have faster turnaround for software development life cycle along with the preparation and readiness of environment to address quality product releases on different configurations & operating systems. </li></ul>Abstract
  3. 4. <ul><li>Virtualization is one concept which help IT industry to overcome problems of hardware cost, environment set-up and time saving. </li></ul><ul><li>Virtualization is a powerful mechanism for simulating a test setup on a few desktops/servers that would otherwise require &quot;physical&quot; equipment. </li></ul><ul><li>It provides isolated sandboxes for running applications and presents homogenous environments even on heterogeneous hardware . </li></ul>Introduction
  4. 5. <ul><li>The term &quot;virtualization&quot; was coined in the 1960s, to refer to a virtual machine (sometimes called pseudo machine). </li></ul><ul><li>The very first Implementation of Virtualization was being done with the purpose of having logically partitioned mainframe computers into separate virtual machines. </li></ul><ul><li>These Virtual machines were supposed to work for mainframes to do ‘multitasking’: running multiple applications and actions at the same time. </li></ul>History
  5. 6. <ul><li>We can divide virtualization in various categories however in this paper we are explaining 5 broad types of virtualization. </li></ul><ul><li>Platform Virtualization </li></ul><ul><li>Storage virtualization </li></ul><ul><li>Software virtualization </li></ul><ul><li>Application Virtualization </li></ul><ul><li>Network Virtualization </li></ul>Type of Virtualization
  6. 7. <ul><li>More recently the creation and management of virtual machines has been called platform virtualization, or server virtualization. After installation of the virtual operating system, this behaves like an actual operating system, without need of separate hardware. </li></ul><ul><li>Lower number of physical serversDesktop - can reduce hardware maintenance costs. </li></ul><ul><li>By implementing a server consolidation strategy, you can increase the space utilization efficiency. </li></ul><ul><li>By having each application within its own &quot;virtual server&quot; you can prevent one application from impacting another application when upgrades or changes are made. </li></ul>Platform Virtualization
  7. 8. <ul><li>Develop a standard virtual server build which can be duplicated it will speed up server deployment. </li></ul><ul><li>Deployment of multiple operating system technologies on a single hardware platform (i.e. Windows Server 2003, Linux, Windows 2000, etc). </li></ul>Cont…
  8. 9. <ul><li>Storage Virtualization can be alternatively said as block virtualization. Block virtualization is best summed up by Storage Area Network (SAN) and Network Attached Storage(NAS) technologies; distributed storage networks that appear to be single physical devices. </li></ul><ul><li>It provides the ability to pool many different individual types of physical storage and manage these simply as logical pools of data which can be allocated to any number of different applications and services as required. </li></ul><ul><li>Enabling multiple physical storage devices to be viewed as a single logical unit </li></ul>Storage Virtualization
  9. 10. <ul><li>Enabling provisioning and partitioning </li></ul><ul><li>Optimizing resources by utilizing maximum capacity of storage devices </li></ul><ul><li>Enhancing storage management </li></ul><ul><li>Protecting data cost-efficiently </li></ul><ul><li>Providing enhanced disaster recovery options </li></ul><ul><li>Reducing storage costs </li></ul>Cont…
  10. 11. It continues the common theme of abstracting the service or application away from its physical environment, enabling it to exist and run in any location. Virtualization enables the co-existence of applications on the same physical environment by encapsulating them so that everything they need to run is available to them within a virtual environment. Example: Install and Publish a retail banking application on a CITRIX server kept somewhere at California. Now Tellers would use this application from there on system by contacting to the California server. Application would run on individual systems, however all the data would be saved at California server location. This ensures the security as well as less number of application to be installed. Software Virtualization
  11. 12. <ul><li>Every application depends on its OS for a range of services, including memory allocation, device drivers, and much more. To test the incompatibilities between two applications installed on the same instance of an OS, we need application virtualization. </li></ul><ul><li>Streamlines the application deployment process, making it faster and easier </li></ul><ul><li>Creates application-specific copies of all shared resources that are isolated into their own virtual environments </li></ul><ul><li>Allows for interaction with local system resources but prevents applications from overwriting the resources of other applications </li></ul>Application Virtualization
  12. 13. <ul><li>Network Virtualization may be the most ambiguous definition of virtualization. </li></ul><ul><li>For brevity, the scope here is relegated to virtual IP management and segmentation. </li></ul><ul><li>A simple and widely used example of IP virtualization is a VLAN: a single Ethernet port may support multiple virtual connections from multiple IP addresses and networks, but they are virtually segmented using VLAN tags. </li></ul>Network Virtualization
  13. 14. Case Study
  14. 15. Stage 1 - in an organization a software QA professional initially adopt VMM and begin to build a library of test images. He uses NAS box to save the created virtual OS images. Stage 2 - Later the organization Expands adoption of Virtualization technology and deploys Lab Manager against a Desktop Infrastructure, the images developed in VMM can be uploaded to Lab Manager and shared with other team members. Stage 3 - If further team expands, Virtual Center is then added to the mix, systems is tested and integration in Lab Manager can be cloned or “promoted “to a staging environment in Virtual Center. Henceforth, after acceptance of this solution, similar environment can be deployed to production environment. Cont…
  15. 16. Note: This data is from a IT project having 10 resources. Sr. No. Task No. of PCs Testing Environment Setup Time on each test machine (in minutes) Test Lab Environment Setup Time( 10 m/c) (in minutes) Manual Virtualization Manual Virtualization 1 OS installation 10 35 35 350 35 2 Microsoft Office 10 15 15 150 15 3 Visual Studio 5 90 90 450 90 4 SQL server 2003/2005 5 15 15 75 15 5 Upgrade IE 10 15 15 150 15 6 Automation Testing Tool 5 60 60 300 60 7 Application 10 30 30 300 30 8 Installation of VM Server 10 0 10 0 100 9 Copy VM 10 0 10 0 100 Total 1775 460 Cycle 1 (Time for virtual Lab setup vs manual)
  16. 17. Note: This data is from a IT project having 10 resources. Sr. No. Task No. of PCs Testing Environment Setup Time ( Minutes ) Manual Virtualization Manual Virtualization 1 OS installation 10 35 35 350 0 2 Microsoft Office 10 15 15 150 3 Visual Studio 5 90 90 450 4 SQL server 2003/2005 5 15 15 75 5 Upgrade IE 10 15 15 150 6 Automation Testing Tool 5 60 60 300 7 Application 10 30 30 300 8 Installation of VM Server 10 0 10 0 100 9 Copy VM 10 0 10 0 100 Total 1775 200 Cycle 2 (Time for virtual Lab setup vs manual)
  17. 18. Time required for Manual vs Virtualization Process
  18. 19. Note: This table shows the data from a project, with 10 resources. Higher the number of PC required for the project, more would be the ROI. Task Manual Installation Installation using virtualization No of Persons 10 10 Systems required 20 10 Installation Time (mins) 1775 260 Cost $ 21000 $ 14100 % ROI 32.85% ROI Calculations
  19. 20. <ul><li>Here we are trying to jot down a few benefits of the virtualization. </li></ul><ul><li>Lower number of physical servers - one can reduce hardware maintenance costs because of a lower number of physical servers. </li></ul><ul><li>By implementing a server consolidation strategy, one can increase the space utilization efficiency in data center. </li></ul><ul><li>By having each application within its own &quot;virtual server&quot;, one can prevent one application from impacting another application when upgrades or changes are made. </li></ul>Benefits
  20. 21. <ul><li>One can deploy multiple operating system technologies on a single hardware platform (i.e. Windows Server 2003, Windows XP, etc). </li></ul><ul><li>Increasing the consistency and predictability of operations </li></ul><ul><li>Meeting the business ROI (return on investment) criteria </li></ul><ul><li>Increasing system availability </li></ul><ul><li>Delivering consistently good performance </li></ul><ul><li>Centralizing systems, data, and infrastructure </li></ul>Cont…
  21. 22. <ul><li>Many vendors require that their applications run on dedicated hardware, according to specified configurations. </li></ul><ul><li>Big virtualization players like VMWare covers a better part of the virtualization market. So after implementing the virtualization dependencies increases on them. </li></ul><ul><li>VM images are liable to get corrupt, so needs to be handled very carefully. Also it is recommended that before using any VM image keep a separate copy of the virtual image. </li></ul><ul><li>To host the VM image, base machine should be of bigger configurations (High RAM, high storage capacity). </li></ul><ul><li>Need huge capacity NAS boxes to store the VM images and snapshots. </li></ul>Limitations
  22. 23. <ul><li>As we have seen in this paper, there is a clear Return on investment (ROI) for cost and time using the virtualization as a test technique even for small number of cycles. </li></ul><ul><li>As the number of cycles increase, the ROI increases multi-fold. Disaster recovery also becomes easier using VMs. </li></ul><ul><li>In the quest to give more to clients in terms of cost savings, this seems the most optimal approach. </li></ul>Conclusion
  23. 24. Virtualization in Computer world

×