ECMA Test262

Google

Extending the official test suite for the JavaScript language.

See it Live

Bocoup worked with the Google Chrome V8 JavaScript engine team to extend ECMA Test262, the official test suite for the JavaScript language, to implement tests and to build smarter tooling for managing feature compliance across an increasingly large landscape of runtimes for JavaScript engines in web browsers.

Challenge

Google wanted to make sure the official test suite for the JavaScript language was up-to-date with the latest standard version, which was set to be published in a few months. Although the language was approaching finalization, it was still undergoing revision with only partial implementation. Extending coverage for a moving target would involve careful planning, thorough specification review, engagement with specification authors, collaboration with language implementors, extensive documentation, and (of course) a whole lot of test writing.

Solution

We collaborated with the Google Chrome V8 JavaScript engine team to assess the existing level of coverage, prioritize features, migrate tests, extend the official test harness, and (of course) write a whole lot of new tests providing a comprehensive coverage for the ES2015 and ES2016 versions of the standard.

Impact

The new tests help developers to identify errors in major JavaScript engines such as Google Chrome's V8 and Mozilla Firefox's SpiderMonkey. In the future, these tests will serve to prevent such inconsistencies before they are released. Testing the new language features correctly required re-designing the test format. These changes in testing format will facilitate new tests to encourage sustainable development. In evangelizing our efforts, we increased awareness around the open standards process and encouraged independent contributions to the Test262 project from a global community of developers.

More work like this at Bocoup