As we’ve previously noted, the advent of Agile and DevOps methodologies puts the onus on QA professionals to wear many hats, which also includes completing any software testing at a much faster rate. In the current fast-paced business environment, QA teams increasingly depend on a variety of tools and technologies to make their work more efficient. One of these technologies is virtualization; a tool offering benefits to other aspects of Information Technology, including software engineering and network administration.
KVM virtualization, the “KVM” stands for kernel-based virtual machine, is a Linux technology facilitating the creation and management of virtual computing environments used for development and testing, among other purposes. This article provides an overview of this technology and its use for software QA.
A Closer Look at the Kernel-based Virtual Machine
Even though KVM is a Linux technology, it is able to host virtual environments running most major operating systems, including Windows, OS X, and, of course, Linux itself. As noted above, the use-cases for virtualization are numerous, and the technology’s status as arguably the most popular open source virtualization framework for the x86 processor family is a major reason for its popularity in many IT and software development shops.
KVM continues to see wide adoption among Cloud-based service providers, covering a myriad of applications. Enterprises leverage the technology to provide virtual environments for production software, as well as for development and QA. In short, virtualization offers a cost-effective and “green” solution, allowing businesses to concentrate their resource spending in other areas or simply improve their profit margin.
With KVM being a standard part of the Linux operating system, a wide array of support is available from the open source community.
Virtualization facilitates QA “Farm” Development
The Open Source Automation Development Lab (OSADL) is an organization championing the use of open source software in industrial and business applications. The group’s QA farm illustrates the advantages of using virtualization for quality assurance. Virtual environments leveraging KVM are used for both software testing as well as for computer hardware — PCs and embedded circuit boards.
Their work provides a great example of the wide range of applications made easier, cheaper, and more efficient by using KVM virtualization.
Managing Testing Environments using KVM
When considering the QA process, the easy management of test environments is the most obvious use-case illustrating how KVM virtualization benefits software testing. The advantages are numerous, with benefits ranging from saving money on hardware expenditures to the time saving gained from using virtual test servers and their easier management.
Since companies are able to create virtual testing environments quickly and easily, this is advantageous whether a software development shop is following modern methodologies like Agile or DevOps or even a traditional QA model. QA engineers can focus on ensuring the quality of the software without needing getting involved in network administrator tasks better left to the experts. In short, software shops of all sizes need to consider using KVM virtualization to make their work easier.
Stay tuned to upcoming entries on the Betica blog, as we look at other topics of interest to QA professionals all over the world.