Last night I had another conversation with my friend John, who’s a director of engineering at a big game compaony.
I was relating has been building an integration test suite for our web application. We put it together in about three days using open-source tools like Cucumber, RSpec, EmailSpec, WWW::Mechanize and assorted home-grown or adapted bits of Ruby and Python. It’s great—we’ve got full black box testing of our APIs, pages and email. It tests the entire stack from HTTP to email.
John really really liked the idea, and expressed (again) how it’d be great if the game industry had the same level of cooperation and diffusion of code & ideas.
Since part of the stack wasn’t written in Ruby, we couldn’t make assertions by hooking into lower-level parts of the code. We had to test entirely via external APIs.