2 reasons why Docker is exceptionally suited for testing
Testing software is necessary, no matter the size or status of your company. Introducing Docker to your development workflow can help you write and run your testing frameworks more efficiently, so that you can always deliver your best product to your customers. We talked to JAX DevOps speaker Laura Frank about how to use Docker to run your test frameworks more efficiently.
JAXenter: In your session you will discuss about ways to increase code quality with Docker. How can people use Docker to run their test frameworks more efficiently?
Laura Frank: Docker has gained a lot of attention in the last few years for allowing developers to build, ship, and run their code anywhere. Two of the biggest advantages of using Docker are reproducible build environments, and very fast boot times due to the low overhead of containers. For these reasons, Docker is exceptionally suited for testing because you can quickly spin up identical environments to run your testing workloads. And because you’ll get an identical environment each time, you can distribute the workload and run tests in parallel without much overhead. Using tools from the Docker ecosystem makes running complex testing configurations a bit easier.
JAXenter: Why is testing software so important and why do we need Docker?
Laura Frank: Testing is a requirement for dependable software, but just throwing together some unit test and shipping to production isn’t going to cut it. The point of testing is to alert you if there is a failure, but testing can’t guarantee that everything is working as expected if you don’t have thorough coverage. Many people skip the testing step, or don’t commit to thorough coverage, because configuring testing environments can be resource intensive. Docker can help alleviate some of the pain, and makes it easier for engineers to work more efficiently.
JAXenter: Everything has ups and downs. What are Docker’s downsides?
Laura Frank: Some people can find getting started with Docker to be a bit intimidating, and it’s not the right choice for every project. It does add an additional layer of complexity, and for some projects, it’s just not the right solution. Docker has got a lot of criticism in the past for security concerns, but many of the tools in the Docker ecosystem have released security updates, and security is continuously improving. As with any tool, you should take care to evaluate it before implementing it in your own project, and make sure you understand the implications of using it — security or otherwise.
Testing can’t guarantee that everything is working as expected if you don’t have thorough coverage.
JAXenter: What is the key message of your session at JAX DevOps conference that every participant should retain after visiting your talk?
Laura Frank: Testing is not optional, and if you want to automate parts of your development and deployment workflow, you have to have a thorough, complete testing suite for your application. Implementation tools like Docker make it easier to work with testing suites in your project, especially when it comes to optimization.
Thank you very much!