Update: I have started offering a new load testing service for Magento. Check it out!
Load Testing the Magento checkout is, in theory, difficult. Well, not so much difficult as time consuming. It is my personal opinion that most Magento load testing is done either poorly or incompletely. Load testing read-only pages usually means hitting the same page over and over again. This is counter productive because it allows the system to cache re-used data and skew load testing results to the positive. I have yet to see a load test that yields performance results that matches production.
Testing the checkout is often even worse. It is also the point in the load test that is most likely to change system behavior due to changing inventory, API calls, add-to-cart operations, etc. It’s also hard to build a JMeter test for. Most of the time orgs don’t have a JMeter expert on staff and so rely on the developers to build the load test. Developers spend most of their time writing code, not load tests, and so the tests tend to not include some of the harder tests, such as checkout. I don’t blame anyone for that, a devs core skill is not load testing.
To help with that I’ve written a basic JMeter checkout scenario for JMeter. It uses the JMeter Plugins Extras Set. The test uses the Guest Checkout and the product added to the cart is from the Magento sample data, so you will need to change that. In addition you will need to change the HTTP Default host name, as shown below.
You can download the JMeter script here.