I've been playing around with some simple A/B testing in a couple Node.js projects I've been working on lately and ended up pulling out some of the code and creating an NPM module for it.

I call it Albuquerque. It's quite simple, really. ABQ is Middleware for Express.js. You create an "A" and a "B" version of each view template you want to test. ABQ randomly assigns each user session to either the "A" set or the "B" set and will render the appropriate view. If there is no A or B view available, it will default back to the default view.

Using this, you can easily plug in Google Analytics or some other tracking mechanism to track user actions and determine which view is more effective.

ABQ is totally open and I encourage you to collaborate and submit pull requests.