How to Run Outlook Unit Tests inside CRM Benchmark
Tools:
OutlookStressTest (Checked in at QA\Performance\Titan\CRM_Perf_BenchMark\OutlookStressTest)
A tool simulating outlook users syncing to outlook, ABP sync and going offline. This tool can be used for doing initial sync in case of Benchmark or stress testing the server. A readme file is also checked in explaining in detail.
Usage:
OutlookStressTest.exe SyncToOutlook.xml
Sample Input file:
<?xml version="1.0" ?>
<Config>
<queryData perflog='no'
test='synctooutlookstresstest' webserver='crmperf1web'
sqlbox='crmperf1esql' domain='crmperf1dom'
queries='1' interval='10' lag='10 output='result.xml''>
<userGroups>
<userGroup name='crmusr' startidx='10' count='1'
password='crm!usr'/>
</userGroups>
</queryData>
</Config>
OfflineTestSyncDriver (Checked in at QA\Performance\Titan\CRM_Perf_BenchMark\OfflineTestSyncDriver )
This has some functions from Microsoft.Crm.Application.Outlook.OfflineSync.dll overridden. In these functions, we are by passing any functionality dealing with SQLExpress and just worry about server calls.
ParseGoOfflineResults (Checked in at QA\Performance\RCPerf\ParseGoOfflineResutls)
This tool parses the outlook sync results file and spits out results file (xml file) giving maximum, minimum and average for PrepareSync, MoveData and total entities that got synced.
Command Line Parameters:
-Dir -
directory where the files resides. It is a required parameter
-Resutls - xml
file name which will have the required results. It is a required parameter
-BTime - an
optional parameter to specify to parse only those files whose last write time is
greater than btime
-ETime - an
optional parameter to specify to parse only those files whose last write time is
less than the etime
Usage:
ParseOfflineParameters -dir=c:\files -results=results.xml -btime="10/5/2005
1PM" -etime="10/5/2005 2PM"
Sample Output File:
<run_result>
<InputData NumberofFiles="8" FileBeginTime="10/5/2005 1:8PM" FileEndTime="10/5/2005
1:50PM" />
<PrepareSync Max="0:7:15" Min="0:2:53" Avg="0:5:12" />
<MoveData Max="0:8:52" Min="0:4:35" Avg="0:6:46" />
<TotalEntities Max="906797" Min="169925" Avg="383163" />
<Max_PrepareSync_Time CreateSubscription="0" PrepareSync="435" MoveData="275"
TotalEntity="346266" />
<Min_PrepareSync_Time CreateSubscription="0" PrepareSync="173" MoveData="532"
TotalEntity="280603" />
<Max_MoveData_Time CreateSubscription="0" PrepareSync="173" MoveData="532"
TotalEntity="280603" />
<Min_MoveData_Time CreateSubscription="0" PrepareSync="435" MoveData="275"
TotalEntity="346266" />
<Max_TotalEntites CreateSubscription="0" PrepareSync="297" MoveData="497"
TotalEntity="906797" />
<Min_TotalEntites CreateSubscription="0" PrepareSync="210" MoveData="456"
TotalEntity="169925" />
</run_result>