Kirill Kedrinski - Fotolia

Why do I need to understand Docker and other containers?

It's a stressful world for testers today, so anything that makes life easier should be embraced. Expert Gerie Owen explains why testers need to understand and embrace Docker.

You're familiar with server virtualization, right? That's where you can run different copies of a server software instance on the same physical hardware. It turns out that you get much better utilization of the hardware if you can always keep it busy with active virtual machines.

Now, to understand Docker and similar products that do the same thing, you have to start by breaking the process down to individual applications. An application is written in a Docker container, and it takes care of operating system, network and other application services. Multiple Docker containers can run on the same system (and even within a virtual machine), and there is a resulting improvement in performance and memory utilization.

Because Docker runs in a container, it will also enable a single application to run on any system that the container supports. This makes applications truly portable among supported operating systems.

Why should testers understand Docker? It's useful to know for two reasons. First, virtualizing an application shields it from the surrounding operating environment. It is protected from direct interaction with other applications and with the operating system. This means testing is greatly simplified. You only have to test it once, rather than on different operating system versions, and in combination with different applications.

Second, Docker can be useful from a test administration standpoint. Your testing team probably already has virtual machine images that represent a wide variety of different operating environments for applications. If your application under test is running in a Docker container, you can use that same container across different system configurations, rather than provision a new server for every instance.

Depending on your organization, you may or may not encounter Docker as a platform for testing applications. If you do, take the time to understand Docker, learn how it works and start leveraging it to make your testing more efficient.

Next Steps

A contrarian on containers

If your data is distributed, containers are a tester's friend

Why it's time for testers to up their tech game

Dig Deeper on Testing APIs, microservices and distributed systems