Engineering Blog

Blog posts tagged 'Testing'

Managing resources for large-scale testing

Posted last Wednesday
blog post · Web · Android · iOS · Backend · Development Tools · Tooling · Testing · Performance

With a single API, engineers at Facebook can interact with thousands of mobile devices, browsers, and emulators in our data centers to test new code before it ships. Read more...

AL: A new declarative language for detecting bugs with Infer

Posted last Wednesday
blog post · Mobile · Testing · Development Tools · C · C++ · Open Source · Languages

AL is a simple, declarative language for reasoning about abstract syntax trees, and it's easy, quick, and interactive. Read more...

Junyi Luke LuEngineering at Facebook

OnlineSchemaChange rebuilt in Python

Posted about 3 weeks ago
blog post · Production Engineering · Open Source · MySQL · Python · Tooling · Testing

The new version of OnlineSchemaChange is written in Python and has a more flexible architecture. Read more...

Sriram SankarEngineering at Facebook

Hardware Analytics and Lifecycle Optimization (HALO) at Facebook

Posted about 2 months ago

Having an array of real-time infrastructure data at our fingertips helps Facebook maintain hardware health at a global scale. Read more...

Michael LiberteEngineering at Facebook

The software ecosystem for storage hardware

Posted about 3 months ago
blog post · Hardware · Storage · Testing · Open Compute

Facebook's new Disaggregate Lab has been working with vendors to validate software solutions on open storage hardware. Read more...

Bryan O'SullivanEngineering at Facebook

Peter O'Hearn elected Fellow of the Royal Academy of Engineering

Posted about 9 months ago
blog post · Mobile · Tooling · Testing · Academics

O'Hearn's work on separation logic underpins Facebook's open source static analyzer Infer. Read more...

BrowserLab: Automated regression detection for the web

Posted about 9 months ago
blog post · Web · Performance · Tooling · Testing

The system automatically analyzes the performance of every code change, catching regressions as small as 20 ms to ensure that the site loads quickly. Read more...

Michael LiberteEngineering at Facebook

Facebook opens lab to others to validate infrastructure software

Posted about 9 months ago
blog post · Open Compute · Hardware · Testing

The new space was designed for vendors to test their software solutions on OCP contributed hardware. Read more...

Antoine ReversatEngineering at Facebook

The mobile device lab at the Prineville data center

Posted about 11 months ago

The custom-built rack lets engineers run tests on thousands of phones to understand the performance implications of a code change. Read more...

Udi CohenEngineering at Facebook

Memory optimization for feeds on Android

Posted about 11 months ago
blog post · Mobile · Android · Performance · Testing · News Feed

Creating an optimized data structure led to a reduction in allocations and an overall improvement in memory efficiency. Read more...

Daniel BauligFront End Engineer at Facebook

Why we chose to move to HTML5 video

Posted about a year ago

Moving to HTML5 best enables us to continue to innovate quickly and at scale, given Facebook’s large size and complex needs. Read more...

Natansh VermaSoftware engineer at Facebook

Optimizing Facebook for iOS start time

Posted about 2 years ago
blog post · Mobile · Infra · iOS · Optimization · Performance · Testing

We broke the cold start problem into three stages that we could focus on individually. Each had its own set of variables and challenges. Read more...

Omar BaldonadoEngineering at Facebook

Milestones and plans for the OCP Networking Project

Posted about 2 years ago

OCP has made great strides in three priority areas: networking hardware, networking software, and testing. Read more...

Chris MarraProduct Manager at Facebook

Building for emerging markets: The story behind 2G Tuesdays

Posted about 2 years ago

Giving employees a seamless way to empathize with the people using Facebook on a 2G network. Read more...

Delyan KratunovEngineering

Performance instrumentation for Android apps

Posted about 2 years ago

Bytecode rewriting has allowed us to scale up our performance instrumentation, providing unique insights into the execution at runtime. Read more...

Erin GreenEngineering

F8: Big technology bets and open source announcements

Posted about 2 years ago

The second day of F8 — Facebook's annual developer conference — was dedicated to the future of communications technology. Read more...

Dain SundstromEngineering

Even faster: Data at the speed of Presto ORC

Posted about 2 years ago
blog post · Data · Backend · Open Source · Analytics · Performance · Testing

The Presto ORC reader is available in open source, and it's being used at Facebook, showing good results. Read more...

Adam ErnstiOS Developer at Facebook

Making News Feed nearly 50% faster on iOS

Posted about 3 years ago
blog post · Mobile · Data · iOS · News Feed · User Experience · Optimization · Performance · Framework · Caching · Storage · Testingmore

We realized that while Core Data had served us well in the beginning, we needed to go without some of its features to accommodate our scale. We set about replacing it with our own solution, resulting in News Feed performing nearly 50% faster on iOS. Read more...

@Scale 2014: Recap of Data Track

Posted about 3 years ago
blog post · Data · Infra · Mobile · Caching · Testing · @Scale

Facebook started the @Scale conference series as a forum for engineers to share how they solve problems in the real world. It's since evolved and grown to become a community that collaborates in the open in order to innovate further, faster, and more effectively. We saw this firsthand during the web track sessions of @Scale, where companies at all stages of growth — Wikimedia, Twitter, Khan Academy, Google, and Netflix — are pushing the boundaries of what we thought was possible in web development. For many of these teams, they're also contributing those technologies back to the open source community, ensuring that others can learn and benefit from these lessons. Read more...

Luiz ScheideggerSoftware Engineering Intern at Facebook

Introducing the Facebook Messenger for Android beta testing program

Posted about 3 years ago
blog post · Infra · Mobile · Messages · Testing · Android · Platform · User Experience · Performance

When we introduced Messenger two years ago, we set out to create a great messaging experience that would allow you to connect with friends over many different channels. We worked hard to make it so that you could reach people you care about, no matter if they were on web, mobile, or even via e-mail. A lot has happened since then, and today the majority of people connecting to the Internet for the first time do so on mobile. When we released Messenger 3.0 late last year, we decided to make it a world class mobile-to-mobile messaging platform. This included a complete redesign of the app, with increased focus on speed and reliability, and more tools for people to express themselves in a rich and dynamic way, with features like stickers and audio clips. With Messenger, we want to empower people passionate about messaging with a fast and simple way to communicate with their friends. Read more...

Emil HesslowSoftware engineer at Facebook

HHVM - Implementing MySQLi

Posted about 3 years ago

The MySQLi extension is very popular amongst PHP developers. We knew we had to support it in our HHVM runtime, and thought it would be interesting to share the process we went through to implement it. Read more...

Airlock - Facebook's mobile A/B testing framework

Posted about 3 years ago
blog post · Mobile · Testing · iOS · Android · Platform

Two years ago, we rewrote our mobile apps on iOS and Android to use the native development stacks in place of the custom web-stack we had been developing. This gave us finer control over when and how items were downloaded, cached, and freed. It also opened up access for deeper integration into the respective operating systems and revealed a full toolbox for tuning and tweaking all systems under the hood. With this shift, we needed a new mobile A/B testing infrastructure that would let us expose our users to multiple versions of our apps (version A and version B), which are the same in all aspects except for some specific tests. So we created Airlock, a testing framework that lets us compare metric data from each version of the app and the various tests, and then decide which version to ship or how to iterate further. Read more...

David GarciaManager, Software Engineering at Facebook

Building a faster Messenger

Posted about 4 years ago
blog post · Mobile · Android · Platform · iOS · Messages · Performance · Tooling · Testing

A little over two years ago we launched Messenger to give people passionate about messaging a simpler and faster way to communicate with their friends. As features have been well received by our Messenger users we've brought them over to our core Facebook apps. As a result, the Messenger and messaging experience across Facebook became very similar. Read more...

Carlos BuenoFixer at Facebook

The Mature Optimization Handbook

Posted about 4 years ago
blog post · Data · Culture · Testing · Performance · Optimization · Languages

I spent a good chunk of the past year working on an internal training class and a short book about performance measurement and optimization. You can download it here. Below is an excerpt. Read more...

Update on the Facebook for Android beta testing program

Posted about 4 years ago
blog post · Mobile · Android · Testing

In June we introduced the Facebook for Android beta testing program, giving users who opt in access to the latest versions of Facebook for Android before the general release. With over 1 million daily active users from over 150 countries, the Facebook for Android beta testing program has been successful in giving us the feedback necessary to make Facebook for Android more stable for users. Read more...

Ragavan SrinivasanEngineering at Facebook

Introducing the Facebook for Android Beta Testing Program

Posted about 4 years ago
blog post · Mobile · Infra · Android · Testing · Performance · Platform

Performance and reliability are top priorities across Android, but when we marry the platform's diversity of devices and OS versions with Facebook scale, the ability to test quality across experiences can become a challenge. Beginning today, we are announcing a beta program for Facebook for Android. This new tool will help us get performance data and feedback from more people ahead of release across a wider range of devices and versions of Android. The ultimate goal of the program is to release updates to Facebook for Android that are more reliable and better performing. Read more...

Stoyan StefanovEngineer at Facebook

Speeding up the Activity social plugin

Posted about 4 years ago
blog post · Web · Infra · Platform · Performance · Optimization · Testing · JavaScript · User Experience

Last week we launched a lighter and faster Activity social plugin that we rewrote from the ground up. This is yet another plugin relaunched with page-loading performance in mind, following our recent Send, Like, Likebox, Login, Facepile, and Recommendations plugin optimizations. Read more...

Keep Updated

Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

Subscribe
Facebook © 2017