Project overview:
We are building a data ingestion backend platform. 3 major components of the backend system are: Listener (will ingest vehicle GPS tracker data and store in message queue) >> Adapter (will process the ingested data by Listener and store processed data in message queue) >> Datarouter (will route the processed data by Adapter to any 3rd party platform)
My Task:
In the above scenario, my task is to do the functional testing and performance testing of data ingestion backend platform using JMeter open source tool. We are using JMeter as a load generator tool, which is basically simulating the sending of vehicle GPS tracker data to the listener. In JMeter, we are using TCP sampler to send the data in the following format:
$$${data_identifier},${imei},AAA,35,${lat},${long},${__dateTimeConvert(${__time()},,yyMMddhhmmss)},
A,8,15,60,274,0.9,25,34900,211818,404|30|7033|0BBF5744,0000,0000|0000|0000|0190|04B7,00000001,,1,0000*80
From functional point of view, we need to check the data ingested by listener and finally routed by datarouter after processing is all consistent.
From performance point of view, we need to check that the backend system can handle load of say for ex. 100 vehicles sending data packets every 10 sec for continuous period of time lets say 15-20 days. Currently I am testing all the functions locally. After testing is done, deployment will happen to dev env.
Note: Please note that we are not using any big data tool like HDFS, Apache Spark etc. As a message broker, we are considering Redis/Kafka.
My question:
Please let me know what kind of functional and performance test scenarios to execute?
Any option to publish test results in statistical format/pictorial form directly from JMeter?
How can I ensure performance bottleneck & other performance aspects while testing in local environment setup?