LinkedIn Mobile runs a node.js server powering clients on three platforms: iPhone, Android and mobile web. The server aggregates data from downstream services using HTTP, services such as Voldemort data stores and rest.li web services. At first, emulating a client and exercising the server API made sense to validate the server. As the integration test suite expanded to over 200 tests, and the number of developers grew, the test suite became too slow and unreliable to depend on. The downstream HTTP requests incurred network latencies and were subject to the health of the downstream services. This talk walks through how LinkedIn is addressing the challenges of scaling a complex testing infrastructure in order to release quality code, and how we developed a open-source tool called sepia to help other companies do the same.
I graduated from UC Berkeley with Bachelor’s degrees in EECS and Math, and have since worked at LinkedIn as a software developer. I currently am the lead for the server that powers the LinkedIn iPad application.
In my free time, I love working out, and when I find the time, I like to dabble in cooking.
Comments on this page are now closed.
For exhibition and sponsorship opportunities, contact Sharon Cordesse at scordesse@oreilly.com
For information on trade opportunities with O'Reilly conferences contact partners@oreilly.com
For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com
View a complete list of OSCON contacts
Comments
Hi Yong. My understanding of your project is that it mocks out the server the tests connect to. If you look at the Motivation section of the README for sepia (https://github.com/linkedin/sepia#motivation), you’ll see that the architecture sepia targets a little different, in that the server is the one being tested, and so it can’t be mocked out.
Your project looks quite interesting (I like the detailed documentation), but unfortunately, in investigating similar tools, I found that they didn’t meet our needs, which is why I developed sepia in the first place.
I’m also working on projects intended to steer people away from WebDriver, and write tests that can be run in a browser. http://yguan.github.io/repos/presentations/index.html?name=browser-automation#/
Didn’t know about Sepia until now. I’m also building something similar, but more focus on service virtualization. https://github.com/yguan/http-replay-server