System Validation Testing
A critical part to any environment design and build is validating the systems prior to production roll out.
Once all components are built, functional testing should be performed. This can be done as each component is completed or once all components are finished. This validation should be a functional testing (does the system work as planned) as well as a fault tolerant testing (does the High Availability plan work as designed).
Consider the following as part of a validation testing checklist. You might want to add elements or components as they pertain to your environment. These checkpoints are not listed in any particular order, but represent elements to consider. Some of these tests might be repeated or redundant, depending on your actual build.
The licensing server testing is pretty straightforward; either the products are licensed or they are not.
- Does the dashboard show a proper license count?
- Can products properly check out licenses?
- Do products enter grace mode properly when the license server is unavailable?
The controllers provide the core services for the XenApp site. These should be tested for base functionality, performance, and fault tolerance to ensure the following:
- Are all services running?
- Are all controllers listed?
- Is the virtual infrastructure properly defined under hosting?
- Is licensing properly defined under licensing?
- Are delegated administrators defined?
- Can you create a Machine Catalog?
- Can you create a Delivery Group?
- Can you publish applications?
- Have you run the site, catalog, and delivery tests in Studio?
- Can you successfully launch a published desktop or application?
- Does the site stay functional if controller 1 is offline?
- Does the site stay functional if controller 2 is offline?
Director is not critical for user functionality; however, it is an important component for monitoring and daily operations. Director should be tested for base functionality, performance, and fault tolerance:
- Does Director 1 function independently?
- Does Director 2 function independently?
- Does the Director load-balanced address resolve properly?
- Are the sessions and infrastructure being monitored?
- Are the trend reports successfully loading?
- Can help desk users log in?
- Can sessions be monitored and reset?
- Is session network successfully being collected from Insight HDX Appliance?
StoreFront is critical as it provides the first level of user interaction. StoreFront needs to be verified for functionality and fault tolerance.
- Does StoreFront 1 function independently?
- Does StoreFront 2 function independently?
- Are changes successfully synchronizing?
- Does the StoreFront load-balanced address resolve properly?
- Does Receiver for the Web function properly?
- Does the native receiver function properly?
- Can you validate access from mobile devices?
- Are all of the desktops and applications being displayed properly?
- Can you successfully launch desktops and applications?
Provisioning Services control the deployment of disk images for the session hosts. If PVS is unavailable, the entire environment will be rendered useless. PVS must be tested for functionality, performance, and High Availability.
- Does PVS 1 function independently?
- Does PVS 2 function independently?
- Can you successfully add device collections and devices?
- Can you create new vDisks?
- Does the imaging wizard function properly?
- Can you create new versions of a vDisk?
- Do the deployment wizards successfully create target devices?
- Does PVS properly load balance connections?
- Do target devices successfully fail over when stream services are stopped?
- Can target devices successfully boot with PVS 1 offline?
- Can target devices successfully boot with PVS 2 offline?
- Are there enough resources for the entire environment to operate successfully with one PVS server offline?
SQL database services are critical to the operations of the XenApp site. If the databases are offline, no new connections will be established. SQL needs to be validated for base functionality and High Availability to ensure continuous operations.
- Are both SQL servers configured similarly?
- Are the clustering services configured properly?
- Are all services running?
- Can the databases fail over from one server to the other?
- In the event of failover, do the XenApp and Provisioning Services databases still function?
File services are important to our environment as they are the base behind profile management and folder redirection. File services should be validated for functionality and fault tolerance.
- Are both file servers configured similarly?
- Are the DFS-R services configured properly?
- Are the shares defined with the proper permissions?
- Do files and folders properly replicate?
- Are the DFS shares available with file server 1 offline?
- Are the DFS shares available with file server 2 offline?
- Can users generate profiles under the profile share?
- Can users generate folders under the user data share?
Session hosts are the worker servers of our XenApp environment. These are the servers hosting user sessions for desktops and applications. Testing for performance and functionality is critical.
- Are there enough session hosts to support the anticipated workload?
- Do the session hosts properly boot using PVS (or MCS)?
- Are the images properly activated and optimized?
- Does the VDA register properly with the XenApp controllers?
- Are all Citrix and Active Directory policies properly applied?
- Can new users log in, create a profile, and launch applications?
- Is the login speed within acceptable parameters?
- Is the application performance within acceptable parameters?
Endpoint devices cover all client computing devices. This might include laptops, desktops, tablets, mobile devices, and thin clients. You want to validate all supported device functionality and performance.
- Is StoreFront Receiver for websites configured for trusted sites, and/or is Receiver configured for the StoreFront deployment?
- Do all applications enumerate properly?
- Can you launch the required desktops and applications?
- Is the resolution acceptable for the use case, including multiple monitors, if necessary?
- Are all required peripherals accessible from within the XenApp session?
- Are any restricted peripherals included in the XenApp session?
- Does printing function as designed?
- Can the user smoothly roam from one device to another?
Virtual infrastructure services
Virtual infrastructure services focus on testing and validating our hypervisor platform. Though our environment is built using XenServer, these items should be equally applicable to Hyper-V and VMware ESXi. The goal is to ensure functionality, performance, and High Availability. In the event of multiple resource pools or clusters, these tests should be repeated for each one.
- Is the resource pool (cluster) configured properly?
- Are all shared storage repositories available to all hosts?
- Can you create new templates and virtual machines?
- Are delegated permissions configured?
- Is High Availability configured and functional?
- Are all VMs configured with the proper restart policies?
- Can VMs successfully migrate between hosts?
- Are the VM resources evenly distributed among hosts?
- Are the VM resources distributed among different storage repositories?
- Are there enough resources to operate the entire environment should one host go offline?
- If a host crashes, do all resources restart as planned?
Network services cover the overall network infrastructure, including virtual settings and physical hardware. You need to ensure fault tolerance and performance to ensure there are no bottlenecks.
- Are all vLANs trunked properly?
- Are the necessary firewall rules or access control lists configured?
- Are the virtual host network interconnects spread across multiple network switches?
- If a network switch or an interconnect goes offline, does the environment maintain functionality?
- Is DHCP fully functional and fault tolerant?
- Does PXE boot services function within the target device network?
- Are all DNS records propagated and validated?
- Are there any bandwidth constraints or concerns observed?
Storage systems focus on the shared storage for our platforms. This is typically a SAN or NAS array hosting volumes for our hypervisors. You need to validate performance and fault tolerance.
- Are there multiple controllers configured to manage the shared storage?
- Are the shared storage repositories properly zoned to the host systems?
- Is there enough capacity to support the required storage?
- Is there enough throughput (IOPS) to support the VDI environment?
- Are there any performance constraints or concerns observed during testing?
- Does the environment still function with the loss of a storage controller or storage switch?
NetScalers are used for remote access and load balancing, which are both mission critical services. You need to validate High Availability, functionality, and performance.
- Are the NetScaler appliances properly licensed?
- Are the proper services activated?
- Are all interfaces, gateways, and routes defined?
- Can you successfully fail over from primary to secondary using High Availability?
- Are all servers defined with proper monitors?
- Are all load-balancing VIPs defined, and do they show 100 percent UP?
- Is the authentication configured in a fault tolerant manner?
- Is NetScaler Gateway defined and showing UP?
- Can you remotely connect using NetScaler Gateway from an Internet connection?
- Are GSLB services configured?
- Do GSLB services properly fail over between sites?
- Does the monitoring dashboard show any performance constraints?
Active Directory and authentication services
XenApp relies on Microsoft Active Directory for authentication services. NetScaler uses LDAP to authenticate to Active Directory, and it might use a second factor of authentication as well, if necessary. If there are issues with authentication, users will not have access.
- Are multiple domain controllers available within the Active Directory site?
- Is NetScaler authentication configured to use a load-balanced address?
- Is the proper OU structure created, including child OUs?
- Are GPOs configured properly, including blocked inheritance, where appropriate?
- Does PVS have the proper permissions to create and reset machine accounts?
- Are user security groups configured for access to desktops and applications?
- Are service accounts set for no password expiration?
- Are DHCP and DNS services properly configured?
- Can users change their password through StoreFront?
- Can users change their password through NetScaler?
Last Updated: 9/15/2015