Free Online Publication
Windows Server 2008 R2 Remote Desktop Services
From Beginner to Expert Level
Content
The Book
... Table of Content
... Preface
... About This Book
Part I –
A Beginner's Guide to Remote Desktop Services
1 Overview and History
2 Installation
3 Licensing
4 Configuration
5 Client Software
6 Application Installation
7 System Administration
8 Network Planning
9 Printing
10 User Environment
Part II –
An Expert's Guide to Remote Desktop Services
11 Virtualization
12 RDS Internals
13 Remoting Protocol Details
14 Security
15 Registry Settings
16 Server Sizing
17 Resource Management
18 Testing and Quality Assurance
19 RDS Scripting
20 RDS for Developers
Author's Profile
... About
... Benny's Biography
... Presentations 2009, 2008, 2007, 2006, 2005, 2004 and earlier
Awards

 


Microsoft Windows Server 2008 Terminal Services

21. Testing and Quality Assurance

Posted by Benny Tritsch on June 22, 2008

[Testing and QA] [Criteria] [Methodology] [Tools and Products]

Back Next

21.1. Test Criteria

Read in this lesson...

  1. What Do You Want to Know?

 

To perform a successful test, you first need to define the objectives. First, it is imperative to find out if terminal servers are the right corporate solution:

  • Can all important applications be provided on terminal servers?
  • How many users will be affected by a possible migration to terminal servers?
  • What are the requirements relating to the terminal server environment's stability, availability, and scalability?
  • How will the company and employees be affected if a terminal server fails?
  • How easy will it be to increase system resources, if required?

These questions need to be answered in respect for business processes within the company in the first instance. If the answer turns out in favor of terminal servers, the same questions need to be answered with a view to the technical aspects. Tests are, of course, required to back up the entire argumentation. After all, the strategic introduction of terminal servers is quite expensive and is no easy task from a technical point of view.

What Do You Want to Know?

This is exactly where the problems start: how to test? It is almost impossible to install a reference environment that corresponds to the planned target environment. Furthermore, it is usually counterproductive if the future users are asked to participate in internal testing. For these reasons, it is recommended that an independent test environment be defined and a simulation be performed that includes all suitable methods and tools. Many of the potential problems can be discovered at this early stage. Only in relatively small and undemanding environments is it possible to perform the relevant tests directly in a production environment, and only for a limited period of time.

Evaluating the terminal servers in a test environment helps make concrete statements on the expected operating conditions and limiting values. When evaluating the environment, several criteria must be taken into account:

  • Performance: Performance tests are used to evaluate an environment's individual areas in terms of speed. A test tool must therefore be able to simulate many simultaneous accesses to determine the respective response times of each area. The results can be integrated in the corresponding service level agreements. With this type of test, it is, for example, possible to determine the dialog change time of an application under different conditions.
  • Load: A load test subjects the environment to the kind of access and usage rate expected in routine operation. This requires the test to define the maximum response time for the individual system components and to align the response time with the existing state of technical implementation. The corresponding measurements need realistic load samples simulated by the test tool. The results show whether the response times are within the expected limits.
  • Stress: Stress tests are simulated, mostly benign attacks that generate excessive loads in an environment. In reality, this type of test corresponds to a peak load that could be the result of certain conditions, such as the start of work, end of a quarter, or successful marketing activities. The main goal of a stress test is to find out when an environment starts generating errors and whether it reverts to normal after extreme stress.
  • Endurance: An endurance test subjects an environment to a predefined load for some considerable time. During this period the test examines whether certain parameters change significantly, for instance memory requirement, processor load, and response times. The results allow statements to be made on the quality of the programs and components used. This is especially important for an environment's long-term operation.
  • Scalability: The term scalability does not say much about an environment's response behavior. It does, however, describe its behavior in relation to access times when the number of users is increased. A scalability test therefore delivers the values required for extending an environment and guaranteeing constant service quality with increasing numbers of users. The individual components are examined and evaluated as to their ability to be scaled up (that is, the relevant platform is updated) and scaled out (that is, the number of relevant platforms is increased).

Security is another criterion, but we will not cover this in detail here. Special tests help observe terminal server behavior in case of attacks on the security system.

If your terminal server project team does not include an expert with sufficient knowledge of Windows Server 2008 and networks, testing and productive operation of Terminal Services will be a challenge. A terminal server requires – at least in the planning, testing and deployment phases – a high degree of competent maintenance, which takes a lot of time and effort.

 

Back Next

 

Read in this chapter...
21 Testing and Quality Assurance
21.1 Test Criteria
21.2 Test Methodology
21.3 Available Tools and Products