Apache JMeter is a great tool with a well-known name and brand that is seemingly of the best possible choices if you are about to test your dynamic or static resource performance. JMeter is great with simulation heavy loads on servers and network objects. It can analyze overall performance and it can do so under various types of loads. Meaning it is designed to test performance, right?
Can JMeter be used for functional testing?
The short answer is yes it can, but why would you reinvent the wheel? Despite the description testers are often creating complex test suits and are executing various functional tests scripts straight against a particular Web Service. This works fine, I’d have to notice, but is JMeter really the ultimate tool to achieve such goals?
As we all know there are no ultimate courses of action in both testing and development. And especially if something is not used in a way it is supposed to. If you are writing some functional test scripts for your Web Service you are most likely ending up with test automation scripts you can’t maintain. And their creation lasted for quite a while and took a lot of effort from your side. So why rework? There are dozens of great tools designed particularly for web functional testing out there.
Furthermore, you may require pre and post action flexibility while running functional test scripts. And JMeter lacks that flexibility you may achieve with a programming language of your preference. Thus tests that are more complex will be easier to maintain in a nice little test suite. Or you may come up with something different. Either way it will be more efficient that JMeter in this particular scenario.
If used right
JMeter is absolutely marvelous for performance testing. So why not use it as it is designed? You will achieve great results with minimized effort. That is what appropriate testing is all about, right?