Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013

Manjula Chetty, 29 September 2014

Load testing is performed to determine a system’s behaviour under both normal and expected peak load conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing problems. When the load placed on the system is raised beyond normal usage patterns, in order to test the system's response at unusually high or peak loads, it is stress testing

StresStimulus is a Fiddler Extension which helps us to find the answers associated with errors occurring during Load and Stress Testing.

StresStimulus records application scenarios and then replays them under various load patterns generated by virtual users (VUs), while monitoring performance. The scenarios are recorded in a web browser. You can closely match your production environment by configuring the number of VUs navigating through a set of usage scenarios with various levels of intensity, as well as browser and network mix characteristics.

You can Download StresStimulus from http://www.stresstimulus.com/

Open Fiddler and Go to StresStimulus Tab on the right side of the screen and click on Record Test Case, the following screen should be displayed:

 Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013 

Go to CRM 2013 from Internet Explorer and click on Sales -> Orders and create a new Order called My Test and click on Save and Close.

Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013

The record should be created in Dynamics CRM.

Click on Stop Recording in Fiddler.

Test Wizard Popup will appear asking you to continue with Test Case Configuration. Click on Next.

Test Wizard Popup will ask to check if the test case is configured properly and any errors with the recording will be displayed at the end. Click on Next.

StresStimulus Verify Test Case popup will be displayed verifying test cases for any errors.

Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013

After 100% completion the following wizard will be displayed if there are no errors associated with your test case.

Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013

Click on Next to configure the number of Virtual Users and in Load Pattern select Steady Load.

Step Load can also be selected to increase number of users after a certain amount of time and the maximum number of users can also be specified.

For this Test Case we will select Load Pattern as Steady Load and Number of VU’s as 5.

Click on Next and in Test Duration you can select the test to end after a certain amount of Iteration or certain amount of time or when the max users have been reached.

For this Test Case we will select Test Completion Condition as Number of Iterations and Max. Iterations as 5. Click on Next.

The runtime dashboard should be displayed showing the status of the Load Test

 Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013

After 100% is completed, it means all the tests has been executed without any errors. Click on Test Summary in StresStimulus tab to get a detailed summary of the test for e.g. load pattern, number of virtual users, time taken for completing the test etc.  It breaks down response times between server and network times to help identify speed problem areas, isolate performance bottlenecks and evaluate target scalability in real-world scenarios. 

In case of any errors with the execution it will be displayed in Test Summary report.

 Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013 

Go to the CRM to check whether all the records which were created are present and there should be 6 records created with Name as “My Test”

  Performance Testing with Stress Stimulus in Microsoft Dynamics CRM 2013

So in conclusion we can define different validation criteria and examine the errors which occurs on heavy load and stress conditions and also the timeout exposed under heavy load.

We can also use this tool if we want to create test data.

When we want to test for higher load levels the Virtual Users can be distributed across multiple machines.