This guide is intended to serve as part of the Microsoft® Deployment Solution Accelerator, to guide a specialist team through test tasks and checkpoints for the process of deploying the Windows® operating system. Microsoft Deployment is the next version of Business Desktop Deployment (BDD) 2007. Using this guide, the organization can set up and implement testing processes that validate the project throughout each phase. This material is intended for Information Technology (IT) professionals, subject matter experts (SMEs), and consultants responsible for stabilizing the Microsoft Deployment project before using it in a production environment. Anyone using this document must be familiar, at a minimum, with Microsoft management technologies, products, and concepts.
Note In this document, Windows applies to the Windows Vista®, Windows XP Professional, Windows XP Tablet PC Edition, Windows Server® 2008, and Windows Server 2003 operating systems unless otherwise noted.
Testing is part of the larger deployment project and must be managed as such. The objective is to have the decisions that the Test feature team makes within this initiative align with the overall project goals and have the deliverables well integrated into the total deployment project.
The work described in this guide typically starts in the Envisioning Phase of the Microsoft Solution Framework (MSF), when the project team is scoping the project. It continues through the Planning, Developing, Stabilizing, and Deploying Phases. The primary consumer of this guide is the MSF Test Role Cluster, because most of this guide focuses on validating the developed project.
Figure 1 provides a high-level overview of the testing process.
Figure 1. Testing process overview
The remainder of this guide provides more detailed descriptions of each step of the testing process, from the Planning through the Deploying Phases.
On This Page
Create the Test Lab
Education and References
Milestone: Test Labs Complete
Test feature team members must have a comprehensive understanding of the project’s business objectives. They must also possess strong communication skills. Test feature team members should be familiar with a range of testing and deployment concepts and technologies. For example, they should be familiar with test planning; writing test cases; and white box, black box, and gray box testing. It is also strongly recommended that Test feature team members meet the following knowledge and experience prerequisites:
Microsoft Certified Systems Engineer (MCSE) certification
Windows Vista functionality and features
Windows XP Professional functionality and features
The Windows Server 2008 and Windows Server 2003 operating systems
Microsoft Virtual Server 2005 or Virtual PC 2007 (only if the team is building a virtual machine [VM] environment to save on the cost of hardware)
Windows Server 2003 interaction issues with Windows client computers (Windows Vista, Windows XP, or Microsoft Windows 2000)
Deployment technologies used with current Windows operating systems
Testing methodologies, processes, and practices (for example, test plans; test cases; and white box, black box, and gray box testing)
Microsoft Systems Management Server (SMS) 2003 or Microsoft System Center Configuration Manager 2007 experience
Windows SharePoint® Services experience
Create the Test Lab
Effective testing requires creating a lab in which data can be assembled, stored, analyzed, tested, and manipulated in an isolated, secure environment. Establishing and maintaining a lab environment early in the project is paramount to the deployment project’s success. The sample lab shown in Figure 2 has the following basic characteristics:
Permanent, dedicated workspace
Isolation from the production corporate network and the Internet by firewalls
A common, 100 megabits-per-second (Mbps) switched Ethernet infrastructure
Common service components, such as:
Dynamic Host Configuration Protocol (DHCP)
Windows Internet Naming Service (WINS)
Domain Name System (DNS)
Windows Deployment Services
File share services
CD-ROM or DVD drives
A system and configuration management tool and an application-monitoring tool (optional)
Note The last two components, which the Infrastructure Remediation feature team identifies, depend on the scope of the Microsoft Deployment implementation.
A dedicated workspace for each feature team
A production environment realistically simulated for services such as the Active Directory® directory service
Contains the same target hardware found in the production environment (This hardware can be limited to the actual computers targeted for deployment. There is no need for the actual server hardware to be duplicated here as long as all the services provided in production are duplicated.)
Figure 2. Sample test lab
Isolating network shares and providing specifically allocated client computer equipment creates an environment that allows each feature team to work independently when appropriate. However, because the feature teams share a common infrastructure of network, servers, and services, each team can easily collaborate with other feature teams when necessary without having to create redundant infrastructures or affect the production network. For example, the Application Management and the Application Compatibility feature teams can potentially share workspace, because their tasks are related to the same applications. A common lab also facilitates more effective communication, because all the developers are in the same physical area. Because the life cycle of each feature team might be slightly different, the equipment assigned to each team workspace can be dynamically allocated based on need.
The number of workstations required differs for each organization and for each feature team based on its size and complexity. A key consideration is that these teams are often expected to work in parallel. Therefore, having workspace for each team helps reduce the confusion and wasted time that could occur while one team waits for another to finish its work using shared equipment.
For its test lab, a fictional company called Woodgrove Bank chose to use two types of servers:
Lab server. The lab server is a computer placed in a workgroup. This computer holds the Microsoft Deployment package files. A typical server has several hundred gigabytes (GB) of disk space to hold the files that the various teams require. Additional space is required to host the simulated production servers.
Simulated production servers. The simulated production servers (which can be VMs) are similar to those in the production environment, so developers can test on a test network that matches the production environment, including such items as directory designs, policies, and security permissions. The entire lab is isolated from the production network to avoid collision of its services with the production servers.
Note The lab does not need to use the same domain names used in production. Identical domain names are not a required component of the testing strategy, but identical forest structures are.
Build the Test Lab
Test lab construction includes several activities: base server installation, creating the file servers, installing the VM software, and creating the VMs that simulate production servers. Several of these activities are manual, but many can be automated. For example, after creating the base VM, team members can use scripts to generate the various VMs required to reproduce the production services.
The Infrastructure Remediation feature team is responsible for the initial setup of the test lab. After setup is complete, the Test feature team moves to the finalization of the lab. During the Developing Phase, the Test feature team finalizes the test lab, which includes installing all software and test tools, in addition to bug tracking and reporting software.
For example, in testing the deployment project, the Woodgrove Bank Test feature team made extensive use of virtual server technology. This reduced the physical size of the lab by consolidating a large number of servers on a small number of computers and, in some cases, on the same computer. In fact, the Microsoft Deployment Test feature team used only two physical servers to host approximately 25 VMs.
As a rule for testing, each VM is allotted 512 megabytes (MB) of dedicated RAM. In some cases, where the virtual server is expected to host several memory-intensive services, this amount can be increased appropriately.
In addition to housing servers and client computers on which deployment is carried out, the test lab environment also requires a great deal of storage space. The Test feature team must plan for storage space, allocating space for:
Storing the Microsoft Deployment component files.
The volume-licensed media.
Source files for various application software media.
The images built during testing.
Backing up virtual hard disks. (At a minimum, space for three sets of virtual server environment backups must be available: one for the baseline, or “golden,” image; one for temporary backup; and one for a fully configured environment.)
A golden, or fully tested, deployment project includes images and software packages that can be deployed to the computers in the organization.
Depending on the scope of the Microsoft Deployment implementation, a considerable amount of disk space might be needed to satisfy the requirements outlined in the previous paragraph. On average, a minimum 200 GB of space is required, but this number is affected by the number of disk images, VMs, and application packages in the Microsoft Deployment project.
A staging area that hosts all the source files needed for configuring the VM must be set up on a host computer that all the VMs requiring access can reach. Design the test lab in a way that allows testing as much of the proposed logical and physical production environment as possible—including computer hardware, network topology, wide area network (WAN) connections, domain architecture, services, databases, business applications, administrative tools, security model, application deployment methodology, and network server storage methods.
Design the client computer portion of the test lab to test the same functions and features currently in use or planned for use in the production environment. Include the same types of hardware, applications, and network configurations.
For more information about finalizing the test lab, see the section, “Appendix A: Finalize the Test Lab,” later in this guide.
Note When complete, the lab should be fully tested on its own to ensure that it does indeed reproduce the production environment and that it will support testing of the entire Microsoft Deployment implementation, including image and software deployment.
Education and References
The following educational and reference resources can assist in training Test feature team members:
Microsoft System Center Configuration Manager 2007 Imaging Guide
Preparing for Microsoft System Center Configuration Manager 2007
Image Customization Guide
Image Customization Desktop Samples
Image Customization Server Samples (for later release)
Milestone: Test Labs Complete
Milestones are synchronization points for the overall deployment project. For more information, see the Microsoft Deployment Planning Guide.
At this milestone, shown in Table 1, the test lab is in place and ready to accommodate testing.
Table 1. Project Test Lab Milestone and Deliverable
These labs include all the required software, hardware, and services required to simulate the production environment and integrate all the elements of the Microsoft Deployment project.