Recommended online books on software architecture.
Mar 10 2014
Virtualizing Testing Environment
Here are other articles on this subject.www.virtualizationpractice.com/devops-can-help-automate-pain-away-22817/. This article discusses how virtualization and environment management help Agile development team.
As an architect, why should you care about testing? For the following reasons:
- Software quality can only be built in. As the technical leader for a development organization, an architect must take the responsibility of building high quality software.
- As mentioned in many blog articles, testability of a software system highly depends on the architecture design.
- Having a broad knowledge on the best tools and technologies, architects can help the team to leverage such tools and technologies to improve the efficiency of testing.
Virtualizing and automating testing environments make it a lot easier to manage testing environment. For example:
- You can easily clone a particular testing environment so that you can start deploying new code without affecting the testing of the existing code.
- You can take a snap-shot of the environment in order to roll back the new deployment/states.
With modern virtual machine managing capabilities, it is quite easy to build such capabilities.
The first thing is to identify hardware you would need to support the DEV labs. Once that is done, you’re ready to build your laboratory environment.
Follow these steps to set up your new virtual laboratory.
- Start with the base server configuration for the host servers.This means installing additionalRAM, network adapters and disks as required.
- Begin the base server installation for the host servers.This means installing the hypervisor on bare-metal machines.
- Plan adequate storage space, an average of 500GB or more, for the following:
- Storing all laboratory data
- ISO or DVD files for all required operating systems and software
- VM images that will be created during all testing
- Backup data of virtual hard disks
- Download and prepare the VM for evaluation tools.
- Create new VMs or transform existing physical machines intoVMs.
- Build multiple environments to support testing graduations.
- Prepare a self-service portal for end users to manage their ownVMs.