menu
Last updated on
Plutora Blog - Test Case Management, Test Environment Management, Test management

Test Data Management: What This Means and 3 Tools to Use

Reading time 8 minutes

Being part of the IT leadership in an organization might have its perks, but it also means you have to be familiar with tech jargon. For instance, are you familiar with the expression “test data management?” Do you know what it means and why it matters? And what about the available tools you can employ? If the answer to one or more of these questions is “no,” then this post is for you.

You see, the technology world is full of buzzwords. With each passing year, the number of terms that you must know only to stay afloat increases by tenfold it seems. And if this wasn’t enough, sometimes two or more terms will come together and create a new one. That’s the case with test data management, and today’s post is all about it.

We’ll start with the expression itself by breaking it down into its component parts. We’ll define each one of them and then reassemble the definitions. After we’re done with defining the term, we’ll get into the meat of the post by showing three existing tools that can help you with test data management. Let’s get started!

Test Data Management: A Step-By-Step Definition

Every now and then, I face the task of defining some term, concept, or expression. Having done that a number of times, I eventually came up with a number of strategies to help me. The one I’m using for today’s post is based on the “divide-and-conquer” approach: I break down the expression into its components, defining each one individually. Then, I join the individual definitions into a whole that (hopefully) makes sense.

Since what I’m defining today isn’t a single word but rather a phrase, the divide-and-conquer strategy is the perfect one to employ, so that’s what I’m going to do. Let’s get started.

Defining “Test”

We’ll begin by defining “test.” You might wonder whether or not there’s really a need to define the term “test.” The next section will convince you of such need.

Do We Need to Define “Test”?

After all, testing is one of the most (if not the most) important activities in software development. We study software tests when we get our degrees. When developing software professionally, we test our changes on our machines before submitting them to the mainline of the project. We write (or at least we should) a number of different types of automated tests. Maybe our company has manual testers, whose job is to perform those kinds of tests that aren’t passive of automation. If we’re lucky enough, our company even has a dedicated QA department! Surely—you might argue—all of us are dead sure of what “test” means.

Well, I beg to differ.

“Test” Isn’t a Single Thing Anymore

The thing is that the word “test” has become a very loaded term in recent years. If you ask 10 software developers—or, more generally, 10 IT professionals—what “test” means, you’re bound to get several different answers.

For an increasing number of software developers, “test” most of the time means “automated unit tests.” Sure, these developers will acknowledge the importance of other types of automated tests, such as integration tests. They’ll even admit that manual tests still have their place. However, unit tests are always considered the most useful and important type of test. Other developers accept a more broad definition. They’ll use the word “test” to refer to automated tests in general, not only unit tests.

Sadly, there are still developers out there that don’t even know about automated testing, believe it or not. So “manual test” is the only possible meaning such developers can ascribe to the term. Finally, there might be even broader definitions of “test” in the software development field in general. For instance, it’s not that much of a stretch to say that canary releases are a type of test.

test data management

What I’ve described is just the tip of the iceberg, but I hope it was enough to convince you that there are potentially many different definitions for “test.” But in order to continue the post, we must pick our own definition. So, for the purposes of this post, this is our definition for the term “test”:

“Test” here means tests that exercise the system under test, performing the tests and evaluating their results,  comparing them to expected outcomes without human intervention.

Defining “Data”

You can think of defining data as both incredibly easy and terribly daunting. So this time I’ll delegate the task to Wikipedia. What follows is their current definition of “data”:

Data is a set of values of subjects with respect to qualitative or quantitative variables.

We can expand on this definition when the article adds this:

Data and information or knowledge are often used interchangeably; however data becomes information when it is viewed in context or in post-analysis.

Then I can tweak it a little bit and come up with the following:

Data refers to pieces of information, still to be contextualized and analyzed.

Defining “Management”

For our final component, I’ll also start by delegating to Wikipedia. Here’s their definition of “management”:

Management (or managing) is the administration of an organization, whether it is a business, a not-for-profit organization, or government body. Management includes the activities of setting the strategy of an organization and coordinating the efforts of its employees (or of volunteers) to accomplish its objectives through the application of available resources, such as financial, natural, technological, and human resources.

As it is, this definition is actually quite good for the purposes of our post. Let’s just change “organization” for “process” and make some more small tweaks, and this is the result we’ve got:

Management is the administration of a process, by setting its strategy and coordinating efforts to accomplish its objectives through the application of available resources.

All Together Now

Now that we have the definitions for each individual word, it’s time to put all of them together in order to create a cohesive definition for “test data management.” Here it goes:

Test Data Management (TDM) is the administration of the data necessary for fulfilling the needs of automated test processes. TDM should also ensure the quality of the data, as well as its availability at the correct time.

Here Are 3 Test Management Tools for Your Consideration

We now have a working definition of “test data management.” As promised, it’s time to show you some of the available tools your organization can employ in order to improve its test data management approach.

Compuware

Compuware’s test data management solution offers a standardized approach to managing data from several data sources, such as different file types and databases. Test data management with Compuware seeks to eliminate the need for extensive training, making it easy to create, find, extract, and compare data.

The solution can load subsets of related production data while maintaining database and application relationships.

IBM InfoSphere Optim

This tool manages data at the business object level, preserving the relational integrity of the data and also their business context. Business objects can be pulled from a single data source or several apps and databases. This extract capability makes it easier to create environments that precisely reflect end-to-end test cases by mirroring the conditions found in the production environment.

Informatica Test Data Management

Informatica Test Data Management is a tool that provides automated data subsetting, data masking, and test data-generation, among other capabilities. It can automatically find out locations of sensitive data for consistent masking within the same databases, but also across different databases. It also allows testers to store, share, and reuse datasets to improve their efficiency in testing.

Test Data Management: Ignore at Your Peril

As discussed at the beginning of the post, software development is a field with many buzzwords, and that trend isn’t likely to die any time soon. Some of these buzzwords are merely fads. They appear as the “shiny new thing of the week.” But as quickly as the cool kids adopted them, they fade back into obscurity.

Test data management is definitely not one of those fads. On the contrary, it’s a process your organization must master and improve if it’s going to remain competitive.

In today’s post, we defined test data management by using a divide and conquer approach. Then we gave you a quick overview of three different tools for your consideration. Whether you employ one (or more) of the three or choose to use a more comprehensive platform, the really important thing is that your organization starts to reap the benefits of test data management ASAP.

After you get your feet wet by learning the fundamentals and putting them in practice, you might feel it’s time to take your approach one step further. Our advice? Use a full-fledged platform like Plutora’s Test Environment Management. A complete solution like Plutora can help your organization manage the demand for test data, even incorporating other tools such as the ones you’ve read about in today’s post.

Thanks for reading, and see you next time.

Carlos Schults Carlos Schults

This post was written by Carlos Schults. Carlos is a .NET software developer with experience in both desktop and web development, and he’s now trying his hand at mobile. He has a passion for writing clean and concise code, and he’s interested in practices that help you improve app health, such as code review, automated testing, and continuous build.