Parallel Continuous Integration: Blazing End-to-End Testing

0 MIN READ • Jan 5, 2015

new end-to-end testing triangleTraditional continuous integration (CI) has become a bottleneck in the development process. Why? Build pipelines are typically run sequentially. The release workflow starts on a developer machine, transitions to a build server, then gets deployed to QA. CI server causes significant delay, and valuable time is wasted due to feedback not being fresh enough.

In the talk below from the SF JavaScript Meetup, Sam Hatoum and Mike Risse discuss the idea of running an end-to-end build in < 10 seconds (including UI tests).

With Meteor 1.0 + Velocity, no matter the size of the application, bringing this closer to the developer workflow decreases feedback time and allows problems to be fixed much quicker.

What is End-to-End Testing?

If you're writing a web application, and end-to-end test is a test that runs against the UI. If you're writing a service, then the test runs against the API. An end-to-end test accesses your system at the end that a user would access it, and runs the test end-to-end through your entire system. And end-to-end test looks at your system as if it is a black box.

However, end-to-end tests take a long time.

The Testing Triangle

The Testing Triangle says that you should write more unit tests than end-to-end tests simply because end-to-end tests take such a long time to run. With thousands of tests and high execution times, it's going to take forever for your build to run. And that's why the Testing Triangle tells you to push as much as you can down to the unit level.

Wrapping Up/Resources

End-to-end testing can be fast and can give you feedback while developing, and don't just have to be a safety net that you run once a day.

  • Velocity: Meteor testing framework

Looking for something else? Check out our full library of PubNub talks here.

Jul 30, 2015

Introduction to Babel: JavaScript Compiler for ES6

An introduction to the Babel JavaScript compiler, the future of JavaScript, JavaScript standards, and a review of Babel's architecture.
Michael Carroll
Michael Carroll
Dec 22, 2014

The Silent Syndrome in Node (and everywhere)

In this talk, Lydia Katsamberis discusses imposter syndrome and the Node.js community, and feeling like a "real" developer.
Developer Relations Team
Developer Relations Team
Guides
Sep 24, 2023

A Comprehensive Guide on Continuous Testing

A comprehensive guide to continuous testing and why it should be an integral part of the app development process.
Developer Relations Team
Developer Relations Team