One of the most important things to do after you have a new installer ready for customers is to test, Test, TEST! Virtual Machine technology can make this task significantly easier, as we describe in this post.
First impressions go a long way, so you want to make sure that your customers have a good experience when installing and using your software. Here are some ideas to consider when testing your software before release:
Testing your software on physical computers can be less than ideal for many reasons. Using virtualization software is a reliable and easy way to avoid the challenges faced with testing on physical computers. If you haven’t experienced the incredible power of virtual machine technology, we strongly recommend that you consider it for your testing purposes.
|Physical Machine Challenges||Virtual Machine Advantages|
|Once your software has been installed one time, you can no longer treat this machine as a “fresh” computer for item #1 above. It is neither easy nor convenient to “reset” or restore the physical computer back to a clean state.||Most virtualization programs support saving “snapshots“ of each operating system running in a virtual machine (often called a virtual machine guest), which allow you to restore the virtual machine guest to the exact state it was in when the snapshot was taken.
For example, you can take a snapshot of a fresh/clean operating system, then test installing your application. When finished testing, you can revert to the snapshot, returning you back to the fresh/clean environment ready to run the next test.
|The number of operating systems and environments that you have to support means you need many physical computers.||Using a single physical computer, it is possible for you to establish different virtual machines for testing different operating systems and versions thereof.
For example, you could have separate virtual machines configured for testing Windows 7, Windows 8.1, Windows 10, etc…
Even amongst these, you could have separate virtual machines for the 32 bit and 64 bit builds of each applicable version of Windows.
|Testing your time-limited licenses often means you need to set your system clock forward to simulate expiration, causing several possible problems such as:
||Virtual Machines allow you to isolate the system clock of the host operating system from the guest operating system. This allows you to adjust the system clock as needed without adversely effecting other software or licenses on the host operating system.|
What’s best or ideal will vary from person to person. We generally recommend VMware Workstation Pro (when your physical computer is running Windows or Linux operating systems) or VMware Fusion (when your physical computer is running Mac OS X), based upon our personal experiences.
Whether you use physical computers or virtual machines, no shortcuts should be taken when testing your final application under all of the environments that your customers could possibly throw at it.
We hope that you see the value of using virtual machine technology in your next testing initiative.
See also: Virtualization 101
Mike Wozniak is one of the co-founders of SoftwareKey.com and responsible for marketing, content and product strategy. When he isn't plotting new ways to help customers solve licensing and business automation challenges, he likes to travel and entertain guests who come to visit the Orlando area. He also writes most of the licensing tips here.
How Your Software’s Environment Affects Copy Protection and Software Protection
Product Activation: Fingerprints, Copy Protection, Disconnected Computers
Why Software Licensing is a Smart Move
Licensing for non-visual software and services
How to Protect a Web Application with Licensing Controls
4 things developers often overlook when securing their software