K2VIEW TDM GUIDE

What is Test Data Management?

The complete TDM guide

What is TDM - test data management

INTRO

Test Data Management Overview

The shift to agile development, with continuous integration and continuous deployment (CI/CD) pipelines, is accelerating the pace of innovation with increasing efficiency. For testing teams, this shift, means that test data design and provisioning need to keep up with the faster pace.

Shift-left testing works in tandem with agile software delivery in raising the standards of quality testing. With this method, testing begins at the earliest stages of the development process rather than saving it for last. To implement this approach, test data must be prepared even earlier, and faster.

With production data fragmented across multiple enterprise systems, ensuring complete and harmonized data for testing is a constant struggle. The need to anonymize data, as required by privacy regulations, and create synthetic data to augment the existing data set, add an additional layer of complexity.

For Development Operations (DevOps) leaders and testing teams, delivering high-quality test data environments, at a rapid pace, is critical. This paper reviews the challenges faced on this journey, and the steps required to get there.

Chapter 01

DevOps Test Data Management

Catalyzed by the rapid growth in applications, software development has shifted gears, delivering segments in fast sprints. This agile approach – managed by DevOps teams – is characterized by much smaller-scope development project segments, which go live in weeks, as opposed to months.

TDM schemas_TDM-Agile Dev Meth copy
Agile methodology allows for continuous design, development, testing, and deployment, throughout the SDL.


Agile development methodology divides long projects into smaller “sprints”. The logic is to get software increments into production as soon as possible – instead of waiting long periods for full deployment.

Not only does agile development give companies a competitive edge, by getting innovative apps out to the user, sooner, but it also mitigates risk. In this kind of CI/C model, all phases of the lifecycle – design, development, testing, deployment – go on simultaneously, in a continuous cycle.

Chapter 02

Shift-Left Testing Requires Shift-Left Test Data

Preparing quality test data has always been a challenge, especially with agile development and CI/CD. And with the growing popularity of microservices, and the integration of multiple applications, the provisioning of valid test data has become even more complex.

"We’re on a journey to modernize our apps and to realize the benefits of embracing a DevOps methodology. But ... you hit a roadblock if you don’t have realistic data to test against."

Ward Chewning VP of Network Services & Shared Platform, AT&T


For a test cycle to be effective, whether it is manual or automated, availability of stable test data, that is as close to production as possible, is critical. Further, DevOps requires automation to be successful, which needs qualitative, consistent, and predictable data sets to run smoothly.

Adequate and on-demand test data should be available for running fully automated test suites. This test data should not constrain automated testing, to ensure seamless test data management processes.

Shift-left testing and test data management

Shift-left testing is an approach to software testing in which testing is performed earlier in the software development process. To test earlier, however, requires the earlier availability of realistic test data.

 

TDM schemas_TDM-Shift Left copy
Testing from the earliest stages of the development process increases efficiency and innovation.

 

Shift-left testing is common in agile development, where software development is divided into sprints. Each sprint requires its own testing cycles, and so, creating realistic test data often becomes a bottleneck – cancelling the gains of agile productivity.

Let’s examine the challenges related to test data in DevOps, and then review a practical solution for each of them.

 

Chapter 03

Top Test Data Management Challenges

Testing teams must contend with many data constraints, which typically slow down software delivery, while hindering quality, and agility.

Data accessibility
Testing teams sometimes lack access to the necessary data, or the tools to extract it. Enterprise data is typically fragmented across different data sources. For example, an individual customer's data might be stored in dozens of applications, including customer care (CRM), billing, ordering, ticketing, collections, campaign management, churn prediction, and more. To run functional tests that require customer data, would require provisioning data from all relevant source systems.

Data availability
Gathering enough production data to cover the required testing scenarios is often challenging.

For example, testers may require the data for 300 customers (across all systems), that meet a certain criteria set, to complete a test scenario, but only 200 production samples are actually available.

TDM tools need to be able to synthesize (generate) 100 data samples, based on the production samples, while maintaining data integrity across all systems.

Data quality

In many cases, the data may be available, but it fails to meet the required quality standards for the following reasons:

  • Corrupted data

    Sharing and reusing test data between different testers often causes corruption problems. Relying on such corrupt data could have severe implications that may only be detected much later in the software delivery process.

  • Irrelevant or incomplete data

    Applications must be tested against specific data that supports the required scenarios to be tested. A complete subset of relevant data, with referential integrity, is paramount in ensuring that test scenarios cover the required functionality to be tested.

  • Unmasked data

    With data privacy a paramount concern, any production data used in testing environments must be adequately masked by anonymizing the personal information (making it unidentifiable). Flaws in this area may result in heavy fines and brand reputation damage in being non-compliant with regulations such as GDPR and CCPA.



Data masking is critical for test data management

Data masking is used to disguise personally identifiable information.

CASE STUDY

AT&T slashes test data provisioning to minutes and time-to-market by 80%

AT&T uses K2View TDM to:

  • Create test data in minutes, not weeks
  • Accelerate development by 80%
  • Reduce testing staff by 30%

Read More

Chapter 04

Proven Test Data Management Strategy

Adopting a proven test data management strategy enables enterprises to accelerate test data provisioning and increase the quality of software delivery.

Here are a the steps companies should use on the road to delivering agile test data at enterprise complexity and scale.

Define

Start by determining clear criteria upon which the test data collection process will be based. These define the data subsets that should be used in testing the use cases, including the required business entities to cover the testing scenarios, the volume of data required for testing, its sources, its freshness, and more. Teams can make use of an automated data catalog to inventory and classify test data assets, and visually map information supply chains.

Extract

Having established which test data is needed, it’s time to extract it from the organization’s production systems. When the required data is dispersed across many different systems and data sources, a test data management tool – that can integrate with the production systems, and extract test data according to predefined rules – comes in handy.

TDMTDM1-copy-2-2

A TDM system should be adaptable, easy to sync to sources, and capable of rolling back test data on demand

Refresh and sync

Testing is an iterative process. When bugs are discovered and fixed, testing should be repeated to ensure quality. A test data management strategy should provide for the means to quickly roll back the test data that was previously used – by the specific tester, for the specific use case – without impacting the test data currently being used for other tests. Companies should seek a test data management tool that is adaptable, easy to sync with source systems, and capable of rolling back data on demand.

Mask

Any test data management strategy is incomplete without ensuring adequate privacy and security measures. When dealing with production data, the challenge is to ensure data privacy, while maintaining the data’s integrity and keeping it secure. Centralizing the test data from multiple sources into a test data warehouse, leveraging data masking tools to protect it, and securing it along the way, creates a simple and efficient process for meeting data compliance and security requirements.

Synthesize

When test teams can’t extract a sufficient volume of test data from production, they need a data synthesizing solution to generate the needed dataset. A test data management strategy should include the means to easily generate synthetic data based on real production data.

Provision

After acquiring the necessary test data, generating missing data, and masking it as required, it’s time to move it to the target test environments. Test data management tools should offer a fast and seamless path from multiple source systems to multiple environments. Testers should be able to upload, adjust, and remove test data sets either manually or in an automated manner using CI/CD integration.

Chapter 05

The Benefits of Test Data Management

When we ask, “What is test data management?”, what we are really asking is, “Which advantages will we gain by building the right process around it?”

Boosting effectiveness

The effectiveness of both the testing process, and the delivered software product, rises significantly when proper test data management tools and methods are applied. Provisioning high-quality test data in minutes, enables development teams to increase test coverage, accelerate delivery, and improve the organization’s agility.

Reducing time and cost

By quickly provisioning the needed test data, teams are able to detect bugs early on in the software development process, and therefore fix them at a much lower cost. In addition, not having to work hard to produce relevant data frees development teams to focus on innovation and move the organization forward.


Preventing privacy and quality issues

When test data management is both safe and of the highest quality, teams are able to adhere to privacy regulations, preventing damage to the company's reputation. Reducing production defects and avoiding data breaches increase user trust levels, helping companies stay one step ahead of the competition.

Chapter 06

Test Data Management Tools

The move to agile software development, with high-performance test data environments, saves enterprises millions of dollars. Test data management can improve compliance, reduce testing costs, and enhance the end-user experience. The challenge is, to find the most suitable test data management tool for your organization.

The latest innovation in test data management tools employs a business entity approach – where an entity may be a specific customer, product, order, or any other business object that’s integral to the application being tested. Test data is collected from the source systems by business entit, unified and masked as an entity, and then provisioned to the target test systems – by business entity. This method simplifies the test data management process, and ensures referential integrity of the test data, TDM efficiency, and complete control of the TDM process.

web_Test Data Management Diagram

Further, data for business entities – both structured and unstructured – is ingested into a centralized test data warehouse, allowing testing teams to apply selection criteria to the entities, in order to subset the data and provisioning it accordingly.

The test data warehouse supports data versioning, to enable segregation of test data by testers, as well as test data rollbacks. Data in the test data warehouse is masked in flight, before being stored. This includes the personal identifiable information (PII) that is stored in various unstructured data constructs: check images, PDF documents, chat scripts, audio files, XML documents, and more.

Read more about entity-based test data management tools.

WHITEPAPER

Solving the DevOps Test Data Challenge

Download the whitepaper to learn about K2View's revolutionary Test Data Management platform.

  • Overcome the challenges posed by complex mass-scale enterprise IT.
  • Provision parameter-based test datasets, on-demand.
  • Mask data in flight, while ensuring referential integrity and consistency.
  • Empower testers with self-service test data provisioning.
  • Integrate test data into CI/CD pipelines to benefit from end-to-end automation.

Download whitepaper

Learn about the K2View TDM suite for provisioning and masking test data at enterprise scale