I ended up taking several months off development of Natural Load Testing. I needed to wait while my partner improved the software we actually use to apply the load (it’s ready now), then I was caught up in other projects like the Where’s it Up API, and Where’s it Fast. Coming back to it was fantastically revealing: it was very hard to use.
Looking back, I can see why we made many of the decisions that I now identify as making it hard to use. Most of them were about offering power or flexibility to our end users: I think creation of ‘tests’ and ‘test suites’ is a great example.
Users create tests, then put those tests into test suites: this allows for complex and powerful interactions where virtual users register for a site, then perform one of several different actions, before closing out. A sample load test might be Surf -> Register -> [Search to product OR Browse to product -> Add to shopping card -> Checkout. We can handle that, and I’m proud that we can handle that.
Unfortunately, it means that users getting started who may only want to load test “Register” have to jump through four additional complicated steps before getting the answers they want.
In order to provide the Power that “Power Users” will want, I’ve added tremendous complexity to the product that we present to every user. Since every user will start off as a “New User” I’ve burdened everyone with a complicated interface all in the name of power.
I value the power we’ve built into the product, and I know the few users who have managed the hurdles to get there value it as well. I don’t want to remove it, but I need to do something to allow users who don’t require that power to have an easier time load testing their sites. I’m currently using a few different techniques:
- More contextual internal links
Allow users who have missed a step to easily jump there to complete it. For example users on the Test Creation page who are missing requests are linked to the Domain Authorization page so they can add the domain they’re missing.
- Options that allow parts of the process to be skipped
The general work flow is Create Tests -> Create Test Suite -> Group Tests into Test Suite. Allow users to create a Test, and a Test Suite containing only that Test in one step, rather than four.
- More Ajax
By allowing users to correct omitted steps on the page they’re on, the system can avoid breaking their flow, or forcing them to restart.
It’s a work in progress (clearly) but I’m already finding the site easier to use… though, that may have been the problem in the first place. :)
My New Goal
Provide everyone with the power to perform complex actions, while burdening them with as little complexity as possible.