Apache JMeter is an open source load and performance testing tool developed by the Apache Foundation that has become a major asset in software testing, being also used as a solution for many online commercial load testing services. The book “Master Apache JMeter From load testing to DevOps” provides an impressive amount of knowledge on how to successfully use JMeter, from your first steps with the tool to its integration in a DevOps approach.
“Master Apache JMeter From load testing to DevOps” will carry you in 500 pages through a journey that ranges from covering many global concepts of load and performance testing to a step-by-step implementation of a testing strategy using Jmeter, with many screenshots, diagrams and code examples. My favorites parts were the one dealing with
* tuning your testing tactic according to your target (website, web services, database, …),
* interpreting the test results and choosing load testing metrics,
* integrating load testing in a DevOps / Agile approach of continuous delivery.
This book is naturally a must have for every software tester working with JMeter, but it will also provide valuable knowledge and solution to every software tester or developer concerned with the performance of her or his application.
Reference: Master Apache JMeter From load testing to DevOps, Antonio Gomes Rodrigues, Philippe Mouawad and Milamber, http://leanpub.com/master-jmeter-from-load-test-to-devops
It’s important to understand that a load test is only a simulation. This implies that despite all the possible and imaginable tests, you don’t have a 100% guarantee that everything will go smoothly in production. There will always be an unplanned case (failure of a part of the system, unanticipated customer action, etc.). To increase the chances of success, it’s important to also work on the architecture (design for failure, etc.) and the deployment process (canary release, etc.).
If the business scenarios are not well identified, the tests will not conform to what will happen in production, and will therefore be useless, or even dangerous, giving the false impression that the targeted platform handles the load without problems. It is therefore critical to identify the relevant business scenarios and weight them.
In order to avoid testing only the performance of the cache of the targeted solution, it is necessary to vary the user inputs (values in the forms, login/password, etc.). On the contrary, ensure you don’t diversify too much the values of the users input at the risk of ending up with an application cache that seems inefficient due to unrealistically wide data range.
Be careful with Downsampling and data retention. Downsampling is the process of reducing the number of samples in the data. Some time series databases will only store high-precision data for a limited time, and will store the rest of the data with lower accuracy. It means if we need to make an analysis after the downsampling , we will lose accuracy. That is why we should not wait too long to do the analysis in this case.
Although it may look like a good idea and is trending at the time of this writing, a good developer or operational does not always make a good performance tester, the reciprocal is also true. Moreover, it’s very difficult to master these skills at the same time. As you can guess, we think that the concept of Full stack developer is a legend and more of a hype nowadays.