Wednesday, March 21, 2018

Essential Skills for Performance Tester

Based on the discussion we had among the experienced performance testers/ engineers we came up with the essential skills that is required to be in Performance Testers

17 essential skills for growing web performance engineers
Requirement Gathering and System Level Skills:

1) Able to Understand the System Architecture (Knowledge of components ,OS , techology etc)
2) Have Basic understanding of System hardware Resource Like CPU , Memory, Network, Disc etc
3) Should Know about the Diffrent Types of Test Environments
4) Able to Know and understand  Functional Level Workflows
5) Able to gather information about Scenario of Currnt Production Load and Expected Load
6) Able to gather the information about SLAs

Scripting and Testing Skills:

1) Able to Install and Configure testing tools
2) Able to record and enhance the scripts
3) Understand and Prepare the Test Data
4) Able to create different scenarios (Load,Stress, real Life ) based on the expectations
5) Running the load test executions for the above created scenarios

Monitoring and Result Analysis Skills:

1) Able to analyze the load test tool results
2) Configure server monitoring counters
3) Bottleneck Identification
4) Reporting

Feel free to add in comments if i have missed anything

Tuesday, January 9, 2018

Using JSON extractor in Jmeter: How to deal with dynamic values in JSON response

How To use JSON Extractor in Jmeter

Json extractor is used like regular expression extractor to capture some dynamic values from the response but used for json only.

By using this we can fetch the values of variables in the Json.

Let me take an example

Below is the Json and its corresponding response:

Here we want to extract the value of variable name "label" or "val"
 which are changing dynamically

We can use Json extractor to fulfil thie purpose here

below is the JSON values that can be used

In this Json extractor blow are the parameters and their corresponding values

Variable Name: Name of the variable (can be used anything logical, here we have used the same as we are getting in response)

JSON Path expression: It is the most important part for JSON configurations, We should use the path extractor expression here.
 Here we have used $..lable , Here two dot means we have json variable in two nested blocks, For normal JSON where there is only one tag , we used single dot.

Match Number: 0 means any random value, here we can use 1 or 2 to get first value or second value and so on, we can also use -1 for getting all possible values to be stored in array (with variable name as mentioned above)

Default Values: this values that can be passed when we didnt got the expected value.

TO varify the value captured in Json extractor:

We can use the Debug Sampler on the thread group to validate the value captured using Json extarctor, Debug sample is used to print all the used defined configured variable in jmeter.

Here we can see that variable "label": captured SpiceJet , and lable_matchNr having value as 10 because there are 10 occurrence of the values corresponding to the expression we have defined for variable label in JSON extractor.

Feel Free to add if i have missed anything.