07.11.2014 Views

Enterprise Library Test Guide - Willy .Net

Enterprise Library Test Guide - Willy .Net

Enterprise Library Test Guide - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

168<br />

<strong>Enterprise</strong> <strong>Library</strong> <strong>Test</strong> <strong>Guide</strong><br />

Scalability tests are extensions of performance tests. The outstanding characteristic<br />

of a scalable application is that it only requires additional resources to operate under<br />

additional loads instead of requiring extensive modifications to its code. The goals of<br />

scalability testing are:<br />

●<br />

●<br />

To determine any performance gains the application block achieves with additional<br />

system resources, such as CPUs or computers, or any additional external<br />

resources, such as a SQL Server database or a disk array.<br />

To identify any locking and contention problems that may not be detected by<br />

performance tests.<br />

Although performance affects how you determine the number of users that an application<br />

can support, scalability and performance are two separate requirements.<br />

Performance optimizations may reduce an application’s scalability and scalability<br />

optimizations may reduce an application’s performance.<br />

This chapter contains the following sections:<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Defining Performance Criteria. This section defines the performance criteria that<br />

are used to test the application blocks. The performance criteria describe the<br />

performance goals for the <strong>Enterprise</strong> <strong>Library</strong> in terms of system metrics and<br />

transaction times. For example, a performance goal may be to have less than 10<br />

locks per second. Another goal may be to have transaction times that are less than<br />

250 milliseconds (ms).<br />

Setting Up the <strong>Test</strong> Environment. This section describes the <strong>Enterprise</strong> <strong>Library</strong> test<br />

environment.<br />

Building <strong>Test</strong> Harnesses. This section describes how to create a test project, Web<br />

tests, test harness script, and a load test.<br />

<strong>Test</strong>ing the Application Blocks. This section describes how each application block<br />

was tested.<br />

Detecting Performance Issues. This section describes the performance parameters<br />

you should monitor to detect performance issues in the application blocks.<br />

Measuring Performance. The section describes the performance metrics for the<br />

application blocks. Examples include the amount of system resources each application<br />

block uses and the transaction times for API calls. It also describes performance<br />

counters you can use to measure performance.<br />

<strong>Test</strong>ing for Scalability. This section describes the objectives of the scalability tests<br />

and analyzes the results for several application blocks.<br />

Measuring Initialization Costs. This section describes how to measure the amount<br />

of system resources and time necessary to prepare an application block so that it<br />

can begin to execute requests.<br />

Extrapolating Workload Profiles. This section describes how to use Little’s Law to<br />

characterize workloads.<br />

Debugging Memory Leaks. This section explains how to use the WinDbg debugger<br />

to detect memory leaks.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!