Enterprise Library Test Guide - Willy .Net
Enterprise Library Test Guide - Willy .Net
Enterprise Library Test Guide - Willy .Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Test</strong>ing for Performance and Scalability 195<br />
Operation Users TPS<br />
Logging Application 50<br />
Block uses MSMQ<br />
trace listener.<br />
Response time<br />
(ms)<br />
Total transactions<br />
Overhead<br />
(percent)<br />
For an explanation of these metrics, see Measuring Performance.<br />
<strong>Test</strong>ing the Data Access Application Block<br />
The tests for the Data Access Application Block use a variety of database access methods.<br />
To avoid external constraints, such as network I/O or disk I/O for SQL Server,<br />
all the queries to the database return small payloads. Most of the test cases read from<br />
the database. Some of the queries were stored procedures and Transact-SQL script<br />
files that were used with the Northwind sample database. Because the target is <strong>Enterprise</strong><br />
<strong>Library</strong>, it was important to ensure that there were no deadlocks or SQL Server<br />
exceptions to contaminate the measurements. For more information, see Tuning the<br />
<strong>Test</strong> Environment.<br />
Table 11 lists the scenarios for the Data Access Application Block. Here is an explanation<br />
of each of the columns:<br />
● ID. This column lists the ID number for each scenario.<br />
● Scenario. This column lists the Data Access Application Block scenario being<br />
tested.<br />
● Transaction. This column lists that the scenarios are tested both with and without<br />
a transaction.<br />
● Users. This column lists the different numbers of users that the tests simulated.<br />
● Database provider. This column lists the database provider that is used.<br />
Table 11: Data Access Application Block Scenarios<br />
ID Scenario Transaction Users<br />
1 Use a DbDataReader to read With/Without 1, 10, 50, 150,<br />
multiple rows<br />
Transaction 300<br />
2 Use a DataSet to read<br />
multiple rows<br />
3 Use ExecuteDataSet to<br />
execute a stored procedure<br />
that has parameter values<br />
and return the results in a<br />
DataSet.<br />
4 Use ExecuteScalar to<br />
retrieve a single item.<br />
With/Without<br />
Transaction<br />
With/Without<br />
Transaction<br />
With/Without<br />
Transaction<br />
1, 10, 50, 150,<br />
300<br />
1, 10, 50, 150,<br />
300<br />
1, 10, 50, 150,<br />
300<br />
Database<br />
provider<br />
SQL Server<br />
SQL Server<br />
SQL Server<br />
SQL Server<br />
continued