Kirill Kedrinski - Fotolia
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.
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
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading