[rspec-users] Should acceptance tests be run against a production environment?

Stephen Eley sfeley at gmail.com
Thu Oct 30 00:05:57 EDT 2008

On Wed, Oct 29, 2008 at 4:04 PM, DyingToLearn <phylae at gmail.com> wrote:
> What about the idea of running it on machines that are as close to
> production as possible? So if my production machine is a SliceHost VPS
> with 256MB RAM, Nginx, and 3 Mongrels, then I should be running these
> tests on a second SliceHost VPS with 256MB RAM, Nginx, and 3 Mongrels.
> Is that just overkill?

It depends on what your risks and worries are.  If you have code that
has dependencies on a certain server configuration, database, etc., or
if you're pushing resource boundaries in any way, then yeah, you
should test it against those constraints as best you can before
sending it to the wild.  If what you wrote is just a very vanilla
Rails app with no abstractions altered and you're not anticipating a
traffic slam, it probably doesn't matter if you match all resources
precisely.  You should at least match basic software (don't put your
staging environment on Thin with Ruby 1.9 if your production is
Phusion Passenger with Ruby Enterprise) but having the same number of
boxes with the same RAM is not important unless there's a reason.

That said, I doubt that there are many people who would call a
Slicehost VPS with 256 MB RAM overkill regardless.  >8->  If you're on
the low end like that, what the hell, spend another twenty bucks and
then clone your production slice.  You could even delete the staging
slice between test iterations.

Have Fun,
   Steve Eley (sfeley at gmail.com)
   ESCAPE POD - The Science Fiction Podcast Magazine

More information about the rspec-users mailing list