During an online JLove conference for Java developers, AtomicJar today announced it plans to make a number of enhancements and extensions available, via a private beta, of a managed instance of a platform for setting application tests using the open source Testcontainers library.
Testcontainers were created in 2015 to provide an open source library that allows developers to more easily test code against, for example, a database that has been encapsulated in a Docker container or a mock application programming interface (API) endpoint.
Fresh off raising $4 million in seed funding, AtomicJar plans to provide a cloud service that will make it simpler for enterprise developers to launch these types of tests on their own.
AtomicJar CEO Sergei Egorov says the goal is to make it simpler to shift responsibility for application testing further left toward developers in a way that reduces overall friction. It’s currently too complicated for developers to configure databases and other infrastructure to conduct those tests, notes Egorov.
Testcontainers are already being downloaded more than a million times per month by thousands of companies. The challenge and the opportunity now is making Testcontainers accessible to a much wider range of organizations while at the same time providing capabilities that enterprise IT organizations will specifically require, adds Egorov.
It’s not quite clear just how far application testing is shifting left within organizations. There is no doubt developers are testing features more often as they are held increasingly more accountable for managing applications after they have been deployed in a production environment. The easier it becomes to set up those environments, the greater the number of tests that are likely to be run. However, many organizations continue to employ dedicated application testing teams to independently review applications before they are deployed.
Testing, of course, is more challenging when building microservices-based applications constructed using containers. Each microservice can have any number of dependencies on a production system that developers can’t access while building an application. Testcontainers make it easier to build a replica of those platforms in a way that allows developers to better understand how any given microservice might behave.
AtomicJar will provide, among other things, pre-configured integrations with a wide range of platforms that developers can test against, says Egorov. Once testing is completed, those same developers won’t have to clean up the testing environment that has been set up by AtomicJar on their behalf using well-formed Testcontainers, addsEgorov.
Over the years, many developers have tended to give short shrift to the application testing process as they fall behind development schedules. At almost every point in the development process, a developer is weighing the merits of writing additional code versus testing it to see what issues might have been overlooked in their existing code. Of course, as testing continues to evolve, more of the process is being automated within the context of a DevOps workflow. The challenge now is finding the simplest way to achieve that goal in a way that doesn’t require developers to maintain multiple testing environments for each application they need to build and eventually update.