Friday, November 4, 2016

Performance Engineer.. vitals

So, what are some of the key attributes one must have to be a better performance engineer? 

I have always had this question. This may perhaps be because I was a lone wolf performance tester/engineer in most of my roles and never had a mentor or a senior engineer for guidance. Any, opportunity I had to pick peoples brains was used upon whenever possible. Those 15 or 30 minute interactions I had with engineers have gone a long way in developing ideas, gaining vital knowledge and building confidence. I even once asked a naive question as to how can one judge a good performance engineer, to which I got an answer that said you never judge one as everyone has his/her own distinct qualities.

But still, how do one become a better performance engineer. After working at a few places and interacting and reading about this I have here a list of few key attributes that I suggest performance engineers or aspirants should have a look at.

For those who want to make a start with performance testing, start off with learning a performance testing tool. JMeter is a good start, however with other tools such as Load Runner I have known so many extra and important feature which are not there in JMeter. Next I suggest learning a bit about server monitoring, server resources to measure, response times and a little bit about statistics. Zabbix is one good open source tool for remote monitoring. It is advisable to keep building knowledge as you progress. Load testing is dangerous and it is advisable to be judicious with the test application you choose or the load you generate. This was a little para about starting with Performance testing. I will perhaps write a separate post on this later.

Now for the intermediates, try and pay attention to detail always, especially with analysis:
·          Every load test you run the one graph you need to pay attention to detail is the Response time graph.
·          Ignoring a spike or ignoring different requests can be disastrous. 
·         Correlation with a corresponding abnormality you see in other graphs, resources or parameters you are monitoring is the next step.
   
     Some advice:
It is also important to fully confirm what the requirements are and what happened the last time the test was run. When you join a new project or are assigned to a new task, just spend some time knowing the requirements thoroughly and the older reports if there are any.
For ongoing projects try and understand what happened, especially for response times and defects.

Performance engineers are expected to provide analysis and recommendations hence analyse data for potential bottlenecks or at least specify that analysis is coming soon in order to avoid any repercussions.

No comments:

Post a Comment