Azure Load Testing - amitbhilagude/userfullinks GitHub Wiki
Terminology
JMeter: Script to write the load testing. The maximum user count to be added to script is no more than 250
Test Parameter and Criteria: Inputs to the Script and certain criteria to be added
Test Engine: Microsoft Paas Offering which will run this script. You can pass the number of Test Engines to be provisined e.g. If you provision 4 Test engines that means the total user load will be 250*4 = 100, user
Client Metrics: Test engine outcomes like Response time etc. will be reported as Client Metrics by the Test Engine to the Dashboard
Server Metrics: Azure Services performance which will be reported to the Azure Monitor will also incorporated into Dashboard
Azure DevOps and Github actions: It also supports integration with CI\CD and allows you to pass Test parameters and criteria which help to decide to fail build e.g. If criteria to expected response within 1 ms, it can report back to the build pipeline.
Pricing
It has fixed charge per month for provisioning load testing resource with giving default Virtual User Hours
There is pay-as-a-go for the Number of additional Virtual User Hours.
Virtual user hours is (number users * time of simulations)/60 e.g. 100 Users run for 30 mins then it is (100*30/60) = 5 VUH
Azure Load testing Resource provisioning
Make sure you select the region where your application expects users. It will only allow to have one region per resource
It supports 3 roles. Role test owner, contributor, and reader
Upload Apache JMeter script or It creates sample which can be used to modify it. Most common changes you do in that is Url to hit the load test, Number of User, User ramping time and how long would you like to add the users
Environment variable can be used for URL etc and jmeter script can read it. JMeter script has special formats and node to read it.
Secret variable can be used to read secrets from Key vault. Need to enable Managed identity and user the secret URL in this variable. JMeter script has special format to read those secrets variable.
Dashboard
Shows are test run previously and option to compare the both test metrics.
Shows serverside where list of Azure services you have used, need to select to those resources in configuration.
JMeter
Script required to upload in Azure Load testing is possible create JMeter UI application. Download from here which also requires JAVA setup. https://jmeter.apache.org/download_jmeter.cgi
Export the configuration which will create JMeter script file.
CI\CD Integration with Azure Load testing
Sample example which can provision Azure Load testing resource and sample application is Here
Config File added into CI-CD is Yaml file which can have jmx file included e.g. Sample App Yaml. JMX file is Here
Deploy though Azure DevOps pipeline is mentioned Here
CI will will publish result and all the metric are also shown in the console. You can also fail pipeline based on the criteria. Detailed are added here Here