1

I'm quite new to performance testing and am looking to be pointed in the right direction.

I have a Java project which contains two parts, deployed seperately:

  • A service-broker, published as a webservice; which has service and db wrappers.
  • A front end, which has a service-broker facade, business logic and a Spring MVC UI.

It is deployed on tomcat, which is running on a fresh install of Windows server 2008.

I need to do basic soak testing on this project, to highlight major memory leaks performance issues.

I've been told SOAP UI is the tool I need to do this.

Now for my questions:

  • Soap UI (Load UI) is only appropriate as the load-generator for testing the service-broker aspect of the project, right?
  • What additional tools would be helpful (Something to visualize garbage collection, memory use, heap/stack size etc?)
  • Can I use Load UI as a load generator for a Spring MVC Front end? If not, what's an appropriate alternative?

Thanks a lot.

Abhishek Asthana
  • 1,857
  • 1
  • 31
  • 51
Paul
  • 3,318
  • 8
  • 36
  • 60
  • Tomcat - so its NOT an actual proper JEE application. In any case load testing is more difficult than you might think; you can't apply one machine to do a proper load test since that one machine can't do a great number of things exactly at the same time; that will be limited to the number of cores the machine has. What is it exactly that you want to prove with this load test? – Gimby Feb 25 '14 at 09:59
  • Quite an arbitrary distinction - You can make tomcat run fully fledged enterprise applications just as well as any application server. But in this case no, it's just a web application. – Paul Feb 25 '14 at 10:10
  • My goal is mainly soak testing - to run the application with a small, consistent load, and to monitor it's performance / memory usage / GC / etc to see if any problems arise. – Paul Feb 25 '14 at 10:11
  • You'll have to define 'small'. for me 200 parallel requests is still peanuts. In any case I'd start by setting up 5-10 computers, each with a simple test application that will fire some SOAP requests at your system which you can run at exactly the same time. For the web application part you'll have to get users which will start clicking around. – Gimby Feb 25 '14 at 10:36
  • 4
    Try something like JMeter for load testing and any of the profilers (JVisualVM is there in the JDK by default and it shows you the GC/mem usage/etc.) – rlegendi Feb 25 '14 at 11:59
  • @rlegendi is correct, JMeter is what you are looking for. loadUI will do both web services and UI but I didn't personally like its reports and metrics (disclaimer: I have only used the early versions of loadUI). – Abhishek Asthana Feb 25 '14 at 12:51
  • http://softwarerecs.stackexchange.com/ is a better place for this question. – Abhishek Asthana Feb 25 '14 at 17:25

2 Answers2

0

Here is my opinions

  1. SoapUI is good enough for microbenchmark test but not good at huge scale of testing. So i recommend to use other load testing tool. LoadUI can be a solution. But i want to recommend nGrinder. I used it, it works very well. Apache Jmeter is common tool. But it is JVM based so Jmeter itself needs a tuning.

  2. To monitoring application during perfomance testing. easiest way is use VisualVM. It can monitor all that u mentioned. But it can show u a data in just Java Virtual machine perspective. I rather to recommend to use APM (Application Performance Monitoring). AppDynamic will be good solution.

  3. About UX testing, big difference is, it needs record and play feature. U can do it by using Load UI. but nGrinder can also cover that by implementing HTTP resquest in coding. (It is a reason why we use such a expensive tools like LoadRunner etc).

I hope this will be useful to u. Cheers

Terry Cho
  • 608
  • 6
  • 14
0

There are four sets of requirements you need to cover in a tool

  • Can it exercise my interface (Any HTTP test tool will do this for a web services application)
  • Can it monitor my infrastructure. Now you are getting into the details of if your underlying OS and Virtual Machine can be monitored in an integrated fashion. Not all tools allow for this and you need to be very explicit as to the level of detail you are interested in.
  • Will it report appropriate to my requirements and in a way which allows for easier identification of system bottlenecks? This is a mix of objective and subjective items. You have not indicated what level of reporting you need
  • Does my user community have the skills to use the tool? Get the top three right and miss this one and even a free as in beer tool goes to a negative ROI almost immediately.

It's time to button up the requirements or just hire a firm with a set of tools included to do the job.

James Pulley
  • 5,606
  • 1
  • 14
  • 14