Nick Gauthier – Grease Your Suite: Tips and Tricks for Faster Testing

YouTube Preview Image

Continuous integration is a great way to keep your code base organized and well tested. But when a test suite takes so long to run that developers stop running it before every commit, they lose their constant feedback loop and quality drops. In this session we’ll explore methods of speeding up the test suite so that developers can be confident about the code they’ve written before they share it with the team.

We’ll start with quick cheap fixes, like optimizing your operating system, that can yield drastic results (like cutting test time in half!). We’ll also cover methods of writing tests that reduce their run time with gems like fast_context for shoulda. At then end, we’ll move to more involved methods of multi-tasking your test suite to run on all the cores in your workstation and even to setting up a distributed testing cloud to run all your tests in parallel.

Every tactic will be backed up with hard benchmarks from real production code. We’ll show the evolution of a test suite from its full run time of *13m 15s* down to a mere *18s*. With *no change to application code*, and *no reduction of test coverage*, and it’s all run on the *same machine*. By the end of the presentation, attendees will have learned methods that they can apply to their own projects to help speed up their development process.

Register to hear Nick talk and win him some points!

About Nick

Website: http://www.ngauthier.com/

Nick has recently graduated from Johns Hopkins University with a BS/MS in Computer Science.

He is currently working at SmartLogic Solutions, LLC, doing web development work primarily in Ruby on Rails. He has done database and software architecture and planning, project management, technical leadership, and development.

In 5 years he would like to move up to a small team leadership position where he would still be hands on with code, but with more responsibility and project control.

In addition to computers and video games he enjoys snowboarding and riding my motorcycle. On the other hand, he teaches Tae Kwon Do at Hopkins.

Nick’s Specialties:

  • Windows XP/NT, UNIX, Linux, Apple OS X
  • Proficient in: Ruby, Rails, SQL, HTML, XML, CSS, and Javascript
  • Familiar with: C, C++, Java, Perl, MATLAB, Adobe Flash Actionscript, Adobe ColdFusion, and PHP.
  • Experience administering Linux web and database servers