Software Testing at Airbnb

It is always interesting to get an inside view on the software testing approach of software development teams that work on large or popular applications. In this blog post, Lou Kosak discusses some changes in practices to improve software quality at Airbnb.

This has been a one year journey where Lou Kosak explains that they have “gone from an engineering culture in which most new code shipped without a single test, to one in which a proposed change without tests will quickly be called out and corrected. In short, we’ve not only become a team that believes in tests; we’ve become one that actually writes them.”

The approach for improvement was to lead by example. One of the first change was to change the culture from pushing code directly in production to adopting of pull requests. Then there was an effort to educate the team to the benefits of software testing. To make this adoption easier, the bar to software testing was lowered. They provided a way to run individual tests quickly and reliably on a development machine and to run the full suite quickly and painlessly in the cloud. The article also discusses some of the tools used by this process.

The conclusion of the article is that “Building good habits around testing is hard, especially at an established company. One of the biggest lessons I’ve learned this year is that as long as you have a team that’s open to the idea, it’s always possible to start testing […] Once you have a decent test suite in place, you can actually start refactoring your legacy code, and from there anything is possible. The trick is just to get started.”

Read the full blog post on http://nerds.airbnb.com/testing-at-airbnb/