Team behind integration testing’s most popular library--Testcontainers--is on a mission to simplify integration testing workflow for developers.
AtomicJar, a company on a mission to make integration testing easier for developers across the software development lifecycle, today announced during a keynote presentation at the jLove conference that it has closed a $4M seed funding round led by boldstart ventures, with participation from other notable VCs and individual investors including Tribe Capital and Chalfen Ventures. AtomicJar will use the funding to grow the core developer team serving the Testcontainers community, build new enterprise features and functionality, and continue to extend the ecosystem of frameworks in the Java ecosystem that provide native integration testing with Testcontainers.
Other notable investors in AtomicJar’s seed funding round include Snyk co-founders Peter McKay and Guy Podjarny, Abby Kearns (ex-Pivotal, CTO, Puppet), Andrus Adamchik (Apache Software Foundation, ObjectStyle), Leonid Igolnik (ex-Oracle, SignalFX), Natalie Diggins (Managing Director, Madison Square Advisors), Dimitri Sirota (co-founder, BigID), Jevgeni Kabanov (co-founder, ZeroTurnaround), Zane Lackey (founder, Signal Sciences), Simon Maple (DevRel, Snyk), and Ian Livingstone (co-founder, Manifold.co and co-founder, Cape Privacy).
AtomicJar was founded by Richard North, the creator of the world’s most popular open source integration testing library, Testcontainers, and former principal engineer for developer experience at Skyscanner; and, Sergei Egorov, a co-maintainer of Testcontainers, Java Champion, Reactive Foundation TOC member, Apache Software Foundation committer, contributor to a variety of open source projects, and former staff engineer at Pivotal (acquired by VMware).
North created Testcontainers in 2015 while chief engineer at Deloitte Digital. He observed that integration testing’s hopelessly complicated set-up--everything from creating consistent local setups, to configuring databases, and countless other issues--was a constant source of thrashing for developer teams that needed a reliable way to test their code against real production-like dependencies. North built Testcontainers as an open source library that lets developers, directly from their test code, “test with containers” against everything from data stores and databases (e.g. Redis, PostgreSQL), to anything that can run in a Docker container (Kafka, RabbitMQ, Selenium, etc.).
“When someone asks which Java library has revolutionized the development process in the last few years, I think of Testcontainers,”
said Roberto Pérez Alcolea, senior software engineer, productivity engineering at Netflix.
“At Netflix, Testcontainers allows us to test our services with real databases, even locally. I am working on our build tools, and Testcontainers allows me to verify changes in our build/package/publish tooling by using throwaway instances of services such as Artifactory. Being able to validate several scenarios when it comes to publishing, allows us to ship these features to thousands of Netflix engineers so they can continue delivering software with confidence.”
Within a year after its launch, Testcontainers surpassed a number of other existing integration testing projects, to become the most popular Docker-based integration testing library. Today Testcontainers is downloaded more than one million times per month by thousands of companies--including Spotify, Google, Instana, Oracle, Zalando, and many more--whose developers tout the flexibility and ease of use it introduces into the most complicated testing scenarios.
The Uber Engineering team recently blogged about how Testcontainers helped it reduce “flaky tests.” As Capital One blogged,
“Testcontainers originally started as a way to programmatically create throwaway Docker containers. Because of the flexibility of Docker images, Testcontainers modules can now spin up containers with databases, web browsers, or mock AWS endpoints. This is what makes Testcontainers powerful for functional testing — it provides a flexible way of standing up dependencies before your code starts.”
Testcontainers is also heavily used by the ecosystem of framework providers (VMware, Red Hat, Oracle, Microsoft, Lightbend) and database providers (Elastic, Couchbase, Confluent, StreamNative, Datastax, Splunk, Trino, Oracle Database, IBM DB2, Neo4J, Exasol, HiveMQ) as a staple for testing highly distributed services against complicated production dependencies. According to Oracle’s Developers Blog,
"With Testcontainers we can spin up a full Oracle XE database that lives for the life of our tests and allows us to test our microservice the same Oracle DB that it’ll end up being deployed to when it reaches production."
AtomicJar: Simplifying Integration Testing In Developer Workflow
“AtomicJar, building on the amazing success of the Testcontainers open source project, has the opportunity to address the very hardest testing domain that every enterprise developer team faces: integration testing,”
said Ed Sim, founder and managing partner, and lead investor in AtomicJar at boldstart ventures.
“It’s a massive opportunity, because applications keep getting more distributed with more dependencies, and companies want to find these integration problems earlier in the software development lifecycle.”
“Having led Docker’s recent Series B financing, our investment in AtomicJar furthers our continued belief in developer tools that are based on containers,”
said Sri Pangulur, partner at Tribe Capital, an investor in AtomicJar's seed funding round.
According to the Google testing blog:
“As the codebase grows and reaches a point where numbers of functional units are available to test as a group, it’s time to have a solid base of integration tests. An integration test takes a small group of units, often only two units, and tests their behavior as a whole, verifying that they coherently work together.”
“Unit testing is fine, but without a proper integration testing, especially if you work with external resources like databases and other services, you might not know how your application will behave once it has been deployed to the real environment,”
said Egorov, AtomicJar co-founder and CEO.
“We want to give developers a set of tools that will leave no excuses to not do integration testing. And, with AtomicJar, we will ensure that literally anyone in the world can use these tools.”
“For too long, people have treated integration testing like a dirty word, even when it’s critically important. It’s been too hard to do, and too hard to get right,”
said North, Testcontainers creator and AtomicJar CTO.
“We’re here to make testing so attractive that devs will want to do it, rather than fear it.”