virtualization
DESCRIPTION
TRANSCRIPT
P a g e | 1
Virtualization in Software Testing
Presented by:-
Anil Jain
P a g e | 2
AbstractThe explosive growth in the global software market demand with rapid advancement in computing technologies has shortened the software development life cycle and due to restrictive cost pressures, the focus has now shifted to optimizing/reducing software development lifecycle.
The term “virtualization” has become ubiquitous, representing any type of process obfuscation where a process is somehow removed from its physical operating environment. Because of this ambiguity, virtualization can almost be applied to any and all parts of an IT infrastructure.
Organization NeedSoftware Testing has became a complex & challenging undertaking that requires support for a diverse set of computer and network environments, typically involving collaboration between geographically distributed teams and composite nature of application having a large number of development tools and components.
Many of the projects do have questions in context of software testing which need to be addressed like
1. Running regression on application with continuous & quickly changing business demands.
2. How to create isolated “sand box” environments for Patch specific applications3. Matching compatibility with clients running on different operating systems and
connecting to applications via different technologies.4. Searching for cost effective way of hardware equipments & its maintenance.5. Testing of multiple
Virtualization accelerates deployment of new capabilities without needing to acquire new hardware and configure components. It also reduces application testing requirements and compatibility issues and simplifies disaster recovery and compliance.
Pragmatic ConsiderationIn order to address challenges mentioned above, a solution was required which will allow the tester to:
easily configure the test environment and test the application; establish unified test automation process across both physical and virtual machines; provide test environments that can be versioned and recreated for troubleshooting or
bug analysis
Following techniques were considered:
1. Multiple Physical Devices2. Partitioning of Devices (Multi OS Systems)3. Ghost Software for cloning4. Virtualization
Detailed analysis was performed for all the 4 techniques based on nature of application and the frequency of testing. Following are the limitations identified:
P a g e | 3
Multiple Physical Devices
1. Additional cost to procure more hardware resources2. Additional involvement of Infrastructure team for setup of multiple devices3. Additional human resources to work on these systems4. Overall increase in testing time
Partitioning of Devices (Multi OS Systems)
1. Partition cannot be done for low configuration machines2. Although multiple OS can be installed but parallel execution is not possible3. Combination of different OS, platforms, browsers is limited to number of
partitions4. Significant underutilization of CPU cycles
Ghost Software for Cloning
1. Frequent Disk Cloning leads to hardware deterioration2. Limited scalability
Hence, virtualization is considered over the other 3 techniques as an optimal solution to overcome all the identified limitations/challenges of the various techniques.
References
http://en.wikipedia.org/wiki/
Multiple Physical devices
Multiple CPU and Input Output Devices
Ghost for Cloning
Disk cloning to get a Windows Explorer like program
Virtualization
Abstract of Computer Resources
System Partitioning
Partitioning for Multi OS installation