2. Page |2
Abstract
The 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 Need
Software 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 applications
3. 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 Consideration
In 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 Devices
2. Partitioning of Devices (Multi OS Systems)
3. Ghost Software for cloning
4. Virtualization
3. Page |3
Detailed analysis was performed for all the 4 techniques based on nature of application and the
frequency of testing. Following are the limitations identified:
4. Page |4
Multiple Physical devices
Multiple CPU and Input Output Devices
System Partitioning
Partitioning for Multi OS installation
Ghost for Cloning
Disk cloning to get a Windows Explorer like program
Virtualization
Abstract of Computer Resources
Multiple Physical Devices
1. Additional cost to procure more hardware resources
2. Additional involvement of Infrastructure team for setup of multiple devices
3. Additional human resources to work on these systems
4. Overall increase in testing time
Partitioning of Devices (Multi OS Systems)
1. Partition cannot be done for low configuration machines
2. Although multiple OS can be installed but parallel execution is not possible
3. Combination of different OS, platforms, browsers is limited to number of
partitions
4. Significant underutilization of CPU cycles
Ghost Software for Cloning
1. Frequent Disk Cloning leads to hardware deterioration
2. 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/